INTRODUZIONEAISISTEMIDIBASIDIDATI
Dato
ì Ciòcheèimmediatamentepresenteallaconoscenza,primadiogniformadielaborazione.
ì Ininforma:ca,elemen:diun’informazionecos:tui:dasimboli(numeri,le>ere,ecc.)chedevonoessereelabora:
TRECCANI
Giorgio Giacinto 2015
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
…emoltoaltro
Giorgio Giacinto 2015
DimensionidiunaBasediDati
ì Ladimensioneelacomplessitàdiunabasedida:dipendonodallarealtàdarappresentareì Rubricadelpropriotelefonoì Catalogodiunagrossabibliotecaì Archiviodelledichiarazionideireddi:ì Catalogodeivoliaereicommercialiì …
Giorgio Giacinto 2015
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
Costruire,ManipolareeCondividereunaBasediDati
ì Costruireì Memorizzareida:inunsistemacontrollatodal
DBMSì SiparladipopolamentodiunaBasediDa:
ì Manipolareì Modificaeaggiornamentodeida:ì Interrogazioni(query):estrazionediinformazioni
ì Condividereì Piùuten:possonoaccedereaida:
Giorgio Giacinto 2015
StrutturadiunDBMS
Giorgio Giacinto 2015
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
ì UnesempioBasediDa:diunaUniversità
Giorgio Giacinto 2015
DatidiunaUniversità
Giorgio Giacinto 2015
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
ì Peculiaritàdell’approccioconBasidiDati
Giorgio Giacinto 2015
SenonsiusaunaBasediDati…
ì Lastru>uradeifiledeveesserenotaaciascunprogrammachedeveaccedereaida:
ì Lemodificheallastru>urada:deveesserepropagataatu`iprogrammicheaccedonoaqueida:
ì Uten:diversipossonocrearearchividiversipermemorizzareda:riferi:aimedesimiogge`
ì LeBasidiDa:sonou:liquandol’approccioconfilegenerainefficienze
Giorgio Giacinto 2015
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
CataloghidelSistema
• Giorgio Giacinto 2015
Formatointernodimemorizzazione
• Giorgio Giacinto 2015
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
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
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
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
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
Ingegneridelsoftware
ì Analis:disistemaì Determinanoleesigenzedegliuten:nonsofis:ca:
esviluppanoprocedurestandardinaccordoconesse
ì Sviluppatoriì ImplementanolespecifichenelsoPware
Giorgio Giacinto 2015
ì Dietrolequinte…
Giorgio Giacinto 2015
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
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
Esempiodiridondanzacontrollata
(a) Ridondanzacontrollata.(b) Ridondanzanoncontrollata.
Giorgio Giacinto 2015
Altrivantaggi
ì Potenzialeperimporrestandard
ì Temporido>operlosviluppodiapplicazioni
ì Flessibilità
ì Disponibilitàdiinformazioniaggiornate
ì Economiediscala
Giorgio Giacinto 2015
ì Cennistorici
Giorgio Giacinto 2015
Iprimi20anni…
ì Anni‘60:primoDBMSproge>atodallaGeneralElectric
ì Fineanni‘60:primoDBMSdell’IBMì IBMeAmericanAirlinessvilupparonoIlsistemadi
prenotazioneareaSABRE
ì 1970:EdgarCoddproposeilmodellorelazionaledeida:
ì Anni‘80:Modellorelazionalesiimponesuglialtrimodellidida:
Giorgio Giacinto 2015
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
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
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