INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio...

24
INTRODUZIONE AI SISTEMI DI BASI DI DATI Dato ì Ciò che è immediatamente presente alla conoscenza, prima di ogni forma di elaborazione. ì In informa:ca, elemen: di un’informazione cos:tui: da simboli (numeri, le>ere, ecc.) che devono essere elabora: TRECCANI Giorgio Giacinto 2015

Transcript of INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio...

Page 1: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

INTRODUZIONEAISISTEMIDIBASIDIDATI

Dato

ì  Ciòcheèimmediatamentepresenteallaconoscenza,primadiogniformadielaborazione.

ì  Ininforma:ca,elemen:diun’informazionecos:tui:dasimboli(numeri,le>ere,ecc.)chedevonoessereelabora:

TRECCANI

Giorgio Giacinto 2015

Page 2: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

Cos’èunaBasediDati?

ì  Èunacollezionedida:correla:ì  Rappresentaunarealtàdelmondoreale*

ì  Icambiamen:nelmondorealedevonorifle>ersinellabasedida:

ì  Icollegamen:logicifraida:sonocoeren:conunaseman:cabenprecisa

ì  Èproge>ata,costruita,epopolataconda:,conunoscopobenpreciso

*avoltechiamatamini-mondoouniversodeldiscorso

Giorgio Giacinto 2015

LeBasidiDatisonoilfondamentodi…

Giorgio Giacinto 2015

Page 3: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

…emoltoaltro

Giorgio Giacinto 2015

DimensionidiunaBasediDati

ì  Ladimensioneelacomplessitàdiunabasedida:dipendonodallarealtàdarappresentareì  Rubricadelpropriotelefonoì  Catalogodiunagrossabibliotecaì  Archiviodelledichiarazionideireddi:ì  Catalogodeivoliaereicommercialiì  …

Giorgio Giacinto 2015

Page 4: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

SistemiperlaGestionediunaBasediDati

ì  Archivicartacei(ades.,schedari,rubriche,ecc.)

ì  Archiviges::dacalcolatoreì  DBMS(DataBaseManagementSystem)

ì  UnsistemasoPwareconscopigenerici(generalpurpose)

ì  Ungruppodiprogrammiapplica:visviluppa:adhocperun’applicazionespecifica

ì  Lasceltadipendedamol:fa>oriì  tempodisviluppo,efficienzainfaseopera:va,

valoreeconomicocomplessivoGiorgio Giacinto 2015

DefinizionediunaBasediDati

ì  Tipididato

ì  Stru>ureda:

ì  Vincolisuida:

ì  Relazionifraida:

ì  Ladefinizionediunabasedida:èmemorizzataasuavoltainuncatalogo

Giorgio Giacinto 2015

Page 5: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

Costruire,ManipolareeCondividereunaBasediDati

ì  Costruireì  Memorizzareida:inunsistemacontrollatodal

DBMSì  SiparladipopolamentodiunaBasediDa:

ì  Manipolareì  Modificaeaggiornamentodeida:ì  Interrogazioni(query):estrazionediinformazioni

ì  Condividereì  Piùuten:possonoaccedereaida:

Giorgio Giacinto 2015

StrutturadiunDBMS

Giorgio Giacinto 2015

Page 6: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

AltrefunzionalitàdiunDBMS

ì  Protezioneì  Riservatezzadeida:ì  Robustezzaaguas:hardwareesoPware

ì  Manutenibilitàì  Labasedida:devepoterevolvereneltempo

Giorgio Giacinto 2015

BasidiDatieSistemiInformativi

ì  LeBasidiDa:sonounacomponenteessenzialediunsistemainforma:voaziendale

ì  Ilsistemainforma:voaziendalecomprendeì  Calcolatoriì  Sistemidimemorizzazioneì  Re:ditrasmissioneì  SoPwareapplica:voì  Personale

Giorgio Giacinto 2015

Page 7: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

ì UnesempioBasediDa:diunaUniversità

Giorgio Giacinto 2015

DatidiunaUniversità

Giorgio Giacinto 2015

Page 8: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

DefinizioneeCostruzionedellaBasediDati

ì  Definizioneì  Suddivisionedeida:indiversifileì  Ciascunfilecon:eneuncertonumerodirecordfra

loroomogeneiì  Ciascunrecordèformatodaunnumerodicampiì  Perciascuncampoèdefinitoil:podidatoì  Irecorddifilediversisonofralorocollega:

logicamentedacampiconiden:cosignificato

ì  Costruzioneì  Memorizzareida:deglistuden:

Giorgio Giacinto 2015

ManipolazionedellaBasediDati

ì  Interrogazioniì  Recuperalatrascrizionedellibre>ouniversitariodello

studenteSmithì  Elencainomideglistuden:chehannosostenutoBasidi

Da:nell’autunno2008eilvotoa>ribuitoall’esameì  Qualisonogliinsegnamen:propedeu:ciaBasidiDa:?

ì  Aggiornamen:ì  Cambial’annodicorsodiSmithinsecondoì  Creaunnuovomoduloperl’insegnamentoBasidiDa:

perquestosemestreì  InserisciunvotoAperSmithnelmodulodiBasidiDa:

dell’ul:mosemestre

Giorgio Giacinto 2015

Page 9: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

ì Peculiaritàdell’approccioconBasidiDati

Giorgio Giacinto 2015

SenonsiusaunaBasediDati…

ì  Lastru>uradeifiledeveesserenotaaciascunprogrammachedeveaccedereaida:

ì  Lemodificheallastru>urada:deveesserepropagataatu`iprogrammicheaccedonoaqueida:

ì  Uten:diversipossonocrearearchividiversipermemorizzareda:riferi:aimedesimiogge`

ì  LeBasidiDa:sonou:liquandol’approccioconfilegenerainefficienze

Giorgio Giacinto 2015

Page 10: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

VantaggiapproccioconBasidiDati

ì  Naturaautodescri`vadiunsistemadibasidida:

ì  Separazionefraprogrammieda:,eastrazionedeida:

ì  Supportodivistemul:pledeida:

ì  Condivisionedeida:eges:onedelletransazioniconuten:mul:pli

Giorgio Giacinto 2015

Naturaautodescrittivadiunsistemadibasididati

ì  UnDBMSègeneral-purposeì  IlDBMSfariferimentoaduncatalogochecon:ene

ladefinizionedellastru*uraedeivincolidellabasedida:

ì  Leinformazionicontenutenelcatalogosonode>emetada2ì  descrivonoida:diinteresse

ì  UnDBMSdevelavorarebeneconqualsiasi:podiapplicazionedibasidida:

Giorgio Giacinto 2015

Page 11: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

CataloghidelSistema

• Giorgio Giacinto 2015

Formatointernodimemorizzazione

• Giorgio Giacinto 2015

Page 12: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

Separazionefraprogrammiedati

ì  Indipendenzafraprogrammieda:ì  Lastru>uradeifiledida:èmemorizzata

separatamentedaiprogrammidiaccesso

ì  Indipendenzafraprogrammieoperazioniì  Dis:nzionefrainterfacciadelprogrammae

operazionieseguitepero>enereilrisultatoì  Alcunisistemidibasidida:consentonodidefinire

operazionisuida:

Giorgio Giacinto 2015

Astrazionedeidati

ì  UnDBMSconsenteunarappresentazioneconce*ualedeida:ì  Nonsonospecifica:ide>aglidellamemorizzazioneì  Nonsonospecificateleimplementazionidelle

operazioni(interrogazione,aggiornamento)

ì  Unmodellodida2forniscelarappresentazioneconce>ualeì  Usaconce`logicideida:facilmentecomprensibili

agliuten:

Giorgio Giacinto 2015

Page 13: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

Vistemultipledeidati

ì  Unabasedida:hageneralmentemol:uten:ì  Gruppidiuten:diversihannointeresseadaccedere

adunso>oinsiemedeida:ì  Adesempio:segreteriastuden:,ufficiamministra:vi

ì  Vistaì  So>oinsiemedellabasidida:chesoddisfale

esigenzediungruppodiuten:ì  Puòcontenereda:deriva:dada:presen:nella

basedida:manonmemorizza:inessaì  siparladida:virtuali

• Giorgio Giacinto 2015

Viste

• Giorgio Giacinto 2015

Page 14: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

Condivisionedeidati

ì  Consentel’accessoallabasedida:apiùuten:contemporaneamenteì  Controllodellaconcorrenza

Verificachel’aggiornamentodeglistessida:dapartedipiùuten:avvengainmodocorre>o(es:prenotazioniaeree)

ì  Controllodegliaccessi

ì  Leapplicazionidiquesto:posonode>eOn-lineTransac2onProcessing(OLTP)

Giorgio Giacinto 2015

ì Attoriinscena…

Giorgio Giacinto 2015

Page 15: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

PersonecheinteragisconoconiDBMS

ì  Amministratori

ì  Proge`s:

ì  Uten:finali

ì  Analis:disistemaeingegneridelsoPware

ì  Idiversiruolipossonoessereassun:daunaopiùpersoneasecondadelladimensioneedellacomplessitàdellabasedida:

Giorgio Giacinto 2015

Amministratori

DBA(DataBaseAdministrator)

ì  Ges:scelerisorsedellabasedida:ì  Labasedida:stessaì  IlDBMSeilsoPwarecorrelato

ì  Inpar:colareì  Autorizzagliaccessiallabasedida:ì  Coordinae:eneso>ocontrollol’u:lizzoì  Valutalanecessitàdiacquisirenuovohardwareo

soPware

ì  Puòessereunapersonasupportatadaunostaff

Giorgio Giacinto 2015

Page 16: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

Progettisti

ì  Individuanoida:damemorizzareperunadataapplicazione

ì  Scelgonolastru>urapiùadeguataperlarappresentazionedeida:

ì  Questoprocessocoinvolgegliuten:futuridellabasedida:ì  Laproge>azionedevesoddisfareleesigenzeditu`

gliuten:

Giorgio Giacinto 2015

Utentifinali

ì  Uten2casualiì  accedonoraramenteallabasedida:eingenerehanno

bisognoognivoltadiinformazionidiverse(es.manager)

ì  Uten2finalinonsofis2ca2(parametrici)ì  accedonoallabasedida:pereseguireoperazioni

standardizzatediaggiornamentoointerrogazione(es.operatoreallosportelloinunabanca)

ì  Uten2finalisofis2ca2ì  conosconoafondoilDBMSescrivonoleapplicazioniche

megliosoddisfanoleesigenze(es.analis:)

ì  Uten2indipenden2ì  basidida:perusopersonaleconprogrammiadhoc

Giorgio Giacinto 2015

Page 17: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

Ingegneridelsoftware

ì  Analis:disistemaì  Determinanoleesigenzedegliuten:nonsofis:ca:

esviluppanoprocedurestandardinaccordoconesse

ì  Sviluppatoriì  ImplementanolespecifichenelsoPware

Giorgio Giacinto 2015

ì Dietrolequinte…

Giorgio Giacinto 2015

Page 18: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

SviluppatoridelDBMS

ì  Proge`s:eimplementatoridelDBMSì  UnDBMSèunpacche>osoPwarecomplesso

compostodadiversimoduli(catalogo,interfaccia,controllodiconcorrenza,ecc.)

ì  Sviluppatoridistrumen:(tool)perfacilitarelaproge>azioneel’usodelDBMSì  Pacche`opzionalivendu:separatamente

ì  Operatoriepersonaleperlamanutenzione

Giorgio Giacinto 2015

ì Vantaggidell’usodiunDBMS

Giorgio Giacinto 2015

Page 19: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

Panoramica

ì  Controllodellaridondanzaì  Divietoall’accessononautorizzatoì  Memorizzazionepersistentediogge`estru>uredida:ì  Stru>uredimemorizzazioneperl’esecuzioneefficientedelle

interrogazioniì  BackupeRecoveryì  Disponibilitàdinumeroseinterfacceutente

ì  Rappresentazionediassociazionicomplessefraida:ì  Imposizionedivincolidiintegritàì  Esecuzionediinferenzeeazionitramiteregole

Giorgio Giacinto 2015

Controllodellaridondanza

ì  Ridondanza:Seuten:diversiusasserofilesepara:perlamemorizzazionedellestesseinformazioniì  Unsingoloaggiornamentologicodovrebbeessereripetuto

tantevoltequan:sonoifilechecontengonolostessodatoì  Sprecodimemoriaì  Ida:contenu:infilediversipossonodiventareincoeren:

ì  Labasedida:cos:tuisceunasortadiarchiviocentraledeida:cuiuten:diversiaccedonomediantevistepersonalizzateì  Èpossibileinserireridondanzecontrollate

Giorgio Giacinto 2015

Page 20: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

Esempiodiridondanzacontrollata

(a)  Ridondanzacontrollata.(b)  Ridondanzanoncontrollata.

Giorgio Giacinto 2015

Altrivantaggi

ì  Potenzialeperimporrestandard

ì  Temporido>operlosviluppodiapplicazioni

ì  Flessibilità

ì  Disponibilitàdiinformazioniaggiornate

ì  Economiediscala

Giorgio Giacinto 2015

Page 21: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

ì Cennistorici

Giorgio Giacinto 2015

Iprimi20anni…

ì  Anni‘60:primoDBMSproge>atodallaGeneralElectric

ì  Fineanni‘60:primoDBMSdell’IBMì  IBMeAmericanAirlinessvilupparonoIlsistemadi

prenotazioneareaSABRE

ì  1970:EdgarCoddproposeilmodellorelazionaledeida:

ì  Anni‘80:Modellorelazionalesiimponesuglialtrimodellidida:

Giorgio Giacinto 2015

Page 22: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

Lamaturità

ì  Apar:redaglianni‘80:diffusionedellinguaggioSQL(sviluppatocomepartedelSystemRdellaIBM)

ì  StandardizzazioneSQLneglianni‘90

ì  Ulterioriprogressiì  Memorizzazioneeges:onedida:provenien:da

diversebasidida:(datawarehouse)ì  Analisidida:construmen:didatamining/business

intelligenceì  Commercioele>ronico,libreriedigitali,mappatura

genomaumano,contenu:mul:mediali

Giorgio Giacinto 2015

Oggi

ì  Intempipiùrecen:sonocomparsipacche`applica:vibasa:suDBMSì  ERP(EnterpriseResourcePlanning)ì  CRM(CustomerRela:onshipManagement)ì  MRP(ManagementResourcePlanning)produ>ori:Oracle,SAP,PeopleSoP,SalesForce,ecc.

ì  Ques:pacche`iden:ficanooperazioniges:onalicomuniefornisconounostratoapplica:voì  Ida:sonomemorizza:inunDBMS

Giorgio Giacinto 2015

Page 23: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

Oggi

ì  LadiffusionediInternethatrasformatoulteriormenteilmondodellebasidida:

Leinterrogazionieirela:virisulta:vengonosemprepiùspessomostra:a>raversol’usodiunbrowserì  Ites:sonoforma>a:a>raversoHTML/XML

Giorgio Giacinto 2015

Nuoveapplicazionienuovimodelliperlebasididati

ì  Estensionedelleapplicazionidellebasidida:aì  Applicazioniscien:ficheì  Archiviazioneerecuperodiimmaginievideoì  Dataminingì  Informazionigeograficheì  Serietemporali

ì  Iprodu>oridiDBMShannoaggiuntofunzionalitàspecificheperlediverse:pologiedida:

ì  Peralcuneapplicazioni,modellidiversidalrelazionale

Giorgio Giacinto 2015

Page 24: INTRODUZIONE AI SISTEMI DI BASI DI DATIPeculiarità dell’approccio ì con Basi di Dati Giorgio Giacinto 2015 Se non si usa una Base di Dati… ì La stru>ura dei file deve essere

DBMS“NoSQL”

ì  Mo:vatodall’usodeiRDBMSancheinambien:doveì  Ilmodellorelazionalenonèilpiùada>oa

rappresentareleinformazionidiinteresseì  Nonsonodefini:vincolidiintegritàì  Nondevonoesseresupportateletransazioni

Modellialterna:vidiges:onedeida:es.,key-value,document-store,ecc.

Giorgio Giacinto 2015

QuandononusareunDBMS

ì  Applicazioniconvincolirigididitemporeale

ì  Applicazioniconalcuneoperazionicri:checherichiedonolascri>uraadhocdiuncodiceefficiente

ì  Applicazionichenecessitanodi:pidimanipolazionedida:nonsupporta:daiDBMS

ì  Analisicos:/benefici

Giorgio Giacinto 2015