Dicosacioccuperemo…
• Basididati• Strutturadiunabasedidati• Funzionalitàdeiprogrammidigestionedibasididati
• Esempiopratico:Access
IlSistemaInformativo
Éilsottosistemadiunaorganizzazionechegestisce• acquisizione• elaborazione• conservazione• produzionedelleinformazionidiinteresse,alfinedigestireecontrollarel’attivitàaziendalenelsuocomplesso.
L’esistenzadelsistemainformativoèindipendentedallasuaautomazione(sistemainformatico)
IlSistemaInformatico
• Gestisceunsistemainformativoinmodoautomatizzato
• Garantiscecheidatisianoconservatiinmodopermanentesuidispositividimemorizzazione
• Permetteunrapidoaggiornamentodeidatiperriflettererapidamentelelorovariazioni
• Rendeidatiaccessibilialleinterrogazionidegliutenti
IlSistemaInformatico
Glielenchidelleutenzetelefoniche,isaldideiconticorrentibancari,l’elencodegliiscrittiaduna
universitàsonoesempididatiindispensabilipergestiredelleattivitàumane.
Nelleattivitàstandardizzatedeisistemiinformativicomplessi,sonostateintrodottecoltempoformediorganizzazioneecodificadelleinformazioni
Adesempio,neiservizianagrafici.
InformazioneeDatoLeinformazionivengonorappresentateecodificateinmodo
essenzialeattraversodatiIdati devonoessereinterpretatiperrecuperarel‘informazione
Informazione.Notizia,datooelementocheconsentediavereconoscenzapiùomenoesattadifatti,situazioni,modidiessere.
Dato. Ciòcheèimmediatamentepresenteallaconoscenza,primadiognielaborazione;(ininformatica)elementidiinformazionecostituitidasimbolichedebbonoessereelaborati.
EsempioSiconsideriundatorappresentatodalnumero3:taledatononfornisceineffettinessunainformazione
Viceversa,direche3èilnumerodegliannidelcorsodiprimolivelloinpitturaall’AccademiadiBelleArtidiCataniaèun’informazione
Quindiunodegliobiettivifondamentalidiunsistemadigestionedatièdifornireuncontestointerpretativodeidati,inmododaconsentireunaccessoefficacealleinformazionidaesserappresentate.
Basididati(Database)
UnSistemadiGestionediBasididatioDBMS(DataBaseManagementSystem)èunsistemasoftwareingradodigestirecollezionididati
Unabasididatièunacollezionedidati,gestitadaunDBMS,utilizzatiperrappresentareleinformazionidiinteresseperunaopiùapplicazionidiunaorganizzazione
Basididati
IDBMSgarantiscono• Affidabilità,cioèlacapacitàdiconservareintattoilcontenutodellebasididatiincasodimalfunzionamentohardwareesoftware
• Privatezzadeidati,cioèsonodotatidimeccanismidiautorizzazione.
Basididati
Lebasididatipossonoessere:1.Grandi:possonogestiredatisenzaporrelimitialledimensioni,apartequellefisichedeidispositivi
2.Condivise:applicazioniedutentidiversipossonoaccedereaidaticomuni.Ciòriducelaridondanzadeidati.
3.Persistenti:hannotempodivitanonlimitatoall’esecuzionedeiprogrammicheloutilizzano.
4.Accessibili:mediantetransazioni
Basididati:qualiapplicazioni?• Anagrafe- Anagrafestudenti• Servizibancari- Conticorrenti- Bancomat- Cartedicredito
• Elenchidelleutenzetelefoniche• Orariferroviari• Prenotazionivoli• Catalogoprodotti(CD,…)- E-commerce• Cataloghidibiblioteche• Cartellecliniche• ..............
FileSystem
Pergestiregrandiquantitàdidatiinmodopersistenteecondiviso,sarebbepossibilericorreall’usodifilesystem.
Softwareapplicativo
DBMS
Sistemaoperativo
SoftwareApplicativo
Sistemaoperativo
File Distinti Database
(unico)
FileSystem• Povertàdell’astrazionepermodellareidati• Imeccanismidicondivisionelimitati• NonsonodisponibiliiservizioffertidaunDBMSInoltretuttiiprogrammicheaccedonoafile,contengonounadescrizionedellastrutturadelfilestesso,coniconseguentirischidiincoerenzafraledescrizioni(ripetuteinciascunprogramma)eifilestessi.
• NeiDBMS,esisteunaporzionedellabasedidatichecontieneunadescrizionecentralizzatadeidati,chepuòessereutilizzatadaivariprogrammi.
Architettura
SchemaLogico
SchemaFisico
DB
descrizione della base di dati nel modello logico(es, la struttura della tabella)
rappresentazione dello schema logico per mezzo di strutturememorizzazione (file)
Software Applicativo
Modellodeidati
Unmodellodeidatièl’astrazionelogicadialtolivellochepermetteall’utentediinteragireconildatabase.
• Permetteinfattiditrattareidatiadunlivellologicosenzapreoccuparsidellivellofisicoovverodicomeidatisonoeffettivamenteelaboratiememorizzati.
Peraccedereaidatinonènecessarioconoscerelestrutturefisicheconcuisonorealizzati
ModelloRelazionale
Ilmodellopiùdiffusoèilmodellorelazionalebasatosulconcettomatematicodirelazione.
Unarelazioneèsostanzialmenteuninsiemedirecordomogeneidefinitisucampi.
Unarelazionevienespessorappresentatapermezzodiunatabellalecuirigherappresentanospecificirecordelecuicolonnecorrispondonoaicampideirecord
ModelloRelazionale
Adognicampoèassociatounnomedettoattributochedescriveilruologiocatodaldominiocheèl’insiemedeipossibilivalorichepuòavereunattributo
LinguaggiperlebasididatiL’accessoaidatipuòavveniremediante:1.LinguaggiTestualiInterattivi(esSQL)2.Comandi(comequellidellinguaggiinterattivo)immersiinunlinguaggioospite(Pascal,C,Cobol,ecc)
3.Comandi(comequellidellinguaggiointerattivo)immersiinunlinguaggioadhoc,conanchealtrefunzionalità(peresempiograficiostampe)strutturate,ancheconl’ausiliodistrumentidisviluppo(peresempioperlagestionedimaschere)
4.Interfacceamichevoli(es.linguaggigrafici)
EsempioSQL
Definizionediunatabella(relazione)CREATETABLEorario(insegnamentoCHAR(20),docenteCHAR(20),aulaCHAR(4),oraCHAR(5))
Insegnamento Docente Aula Ora
Tabella Orario
EsempioSQL
Interrogazione• SELECTInsegnamento,Docente• FROMOrario• WHEREinsegnamento=‘Basididati’(relazione)chesoddisfailcriterio(clausolaWHERE)
Insegnamento Docente
BasediDati Pippo
Strutturadiunabasedidati
• Struttura• Tipididati• Valorinulli• VincolidiIntegrità• Chiavi• Vincolidiintegritàreferenziale
Struttura
Inognidatabaseabbiamoduecomponenti:1.LoSchema:E’ laparteinvariabiledeidatichedescrivela
strutturachedebbonoavere:haun’intestazionedatadalnomedellarelazioneseguitadaisuoiattributi(campi)Es:CLIENTI(Nome,Cognome,Indirizzo,Telefono)
2)Istanze :Checostituisconoivalorieffettivi(record)
Nome Cognome Indirizzo Telefono
Anna Bianchi ViaEtnea 095278492
Giuseppe Rossi ViaLeopardi 095778822
Giovanni Verdi ViaReclusorio 095855563
Schema
Istanze
Struttura
Perorganizzaredatirilevantispessononèsufficienteunasingolarelazione.
Unabasedidatièingenerecostituitadapiùrelazioniicuirecordpossonocontenerevaloricomunipercuiènecessariostabiliredellecorrispondenze.
Esempio:supponiamodiavereleseguentirelazioni:
TipididatiIvalorichepossiamoinserireinunrecorddebbonofarpartedeldominiocioèdell’insiemedeipossibilivalorichesiscelgonodurantelacreazione.
Ivalorichepossiamoinseriredipendonodaltipodidatochepuòessere
1.Testo2.Numeri3.Date4.Boleani5.altri
ValoriNulliAvvolteidatidisponibilinoncorrispondonoalformatoprevisto.Potrebbeadesempiononesseredisponibileilvalorediuncampoinqualcherecord.
Siintroduceunvalorenullo(NULL)chedenotal’assenzadiinformazionesulvalorediunattributoperunrecord
Ilvalorediunattributopuòmancareperché• èsconosciuto• èrealmenteinesistente(l’attributononèapplicabileadundatorecord)
• èsenzainformazione(nonsisaseesisteomeno)
ValoriNulli
Seinveceriteniamoildatoimportante,senzailqualeilrecordnonavrebbesenso,possiamodurantelacreazioneimpostareilcampoconlapropriètàNOTNULL,cheimpediscedinoninserirequeldato(Adesilcodice)
Nome Cognome Indirizzo Telefono
Anna Bianchi ViaEtnea NULL
Giuseppe Rossi ViaLeopardi 095778822
Giovanni Verdi ViaReclusorio 095855563
Nome Cognome Indirizzo Telefono
NULL Bianchi ViaEtnea NULL
Giuseppe Rossi ViaLeopardi 095778822
Giovanni Verdi ViaReclusorio 095855563
CHIAVI
Unachiaveèuninsiemedicampiutilizzatoperidentificareunivocamenteirecorddiunarelazione.
Es:IlcampoMatricolaèunachiaveperchénonèpossibiletrovareduenumeridimatricolauguali.Matricola Nome Cognome Indirizzo Telefono
82194809 Anna Bianchi ViaEtnea NULL
89747869 Giuseppe Rossi ViaLeopardi 095778822
66236758 Giovanni Verdi ViaReclusorio
095855563
Poiché possono esserci più chiavi per una relazione la chiave scelta è detta Chiave Primaria
N.B. la chiave primaria non può essere NULL
Vincolidiintegrità
Inmolticasiuninsiemedirecordnonrappresentainformazionicorretteperl’applicazione.
Ilvincolodiintegritàèstatointrodottocomeproprietàchedeveesseresoddisfattadalleistanze.
Essiimpongonol’inserimentodidatiinbaseadeicriteri
Es:Ilvaloredelcampovotodeveesserecompresotra18e30.
Tipidivincoli
Vincolointrarelazionale:E’ definitorispettoadunasingolarelazione.Puòriguardare:• Recordingenerale(es.nonpossonoesistereduerecordconunostessovaloreperunachiave)
• Recordindipendentementegliunidaglialtriivaloriammessiperunattributo(vincolodidominio)
Vincolointerrelazionale:Coinvolgepiùrelazioni
• Vincolidiintegritàreferenziale
VincoliInterrelazionali
Unvincolodiintegritàreferenzialefrauninsiemedicampidiunarelazioneequellidiun’altraèsoddisfattoseivalorisugliattributidellaprimarelazione(checostituisconolachiaveesterna)compaionocomevaloridellachiaveprimariadellasecondarelazione
Esempio:Supponiamodiavereleseguentirelazioni
BasidiDati
EsistonovariDBMSpercrearedellebasididati.Traivariabbiamo:• MicrosoftAccess• MicrosoftWorks• MySql(open-source)• MicrosoftSQLServer• Oracle• Altri
FunzionalitàPrincipali
Gestionedeifile• Gestionedellebasididati:• Creazionedirelazioni• Inserimentodirecord• Cancellazionedirecord• Modificadirecord• Ricercadirecordspecifici
Gestionedeifile
Attraversounprogrammadigestionedibasididatipossiamo:
• CrearenuoviDatabase• AprireDatabaseesistenti• MemorizzareDatabasesuldiscoattribuendogliunnome
• Memorizzareeventualimodifiche• ChiudereiDatabase
GestionedatiAttraversounprogrammadigestionedibasididatipossiamo:
Crearedellerelazioni,anchecorrelatefralorodicuièpossibiledefinirne
• Ilnome• IlnomedeiCampicontenuti• ItipididatideiCampi• Inserireidatiall’internodiquesterelazioni,rispettandoneiltipoedeventualivincoli
• Modificareocancellarerecord.
Query
UnafunzioneimportantedeiDBMSèlaricercadirecordspecificiall’internodiunDatabase.
EsempiodiQuery:Datalaseguenterelazione,vorreiconoscerel’indirizzoeilnumeroditelefonodiGiovanniVerdi
Matricola Nome Cognome Indirizzo Telefono
82194809 Anna Bianchi ViaEtnea NULL
89747869 Giuseppe Rossi ViaLeopardi 095778822
66236758 Giovanni Verdi ViaReclusorio
095855563
Risultato : Via Reclusorio 095855563
Query
EsempiodiQuerysuduetabelle:Dataleseguentirelazioni,vorreiconoscereQualiesamihasuperatoMarioRossi
ProgettazionedeidatabaseLefasidiprogettazionediunDBsonotre:1-ProgettoCONCETTUALE(Schemaconcettuale)2-ProgettoLOGICO(Schemalogico)3-ProgettoFISICO(Schemafisico)1-ProgettoCONCETTUALE .Loschemaconcettualeèlarappresentazionepiù
astratta,lapiùvicinaallalogicaumananelladefinizionedidatierelazioni.Spessovengonousatiimodellientità-relazioni
2-ProgettoLOGICOLoschemalogicodipendefortementedalDBMSedalsuomodellologicodeidati.Nelloschemalogicovengonoprogettateletabelleelerelazioni.
3-ProgettoFISICOLoschemafisicodefiniscecomelestrutturedefinitenelprogettologicovannoimplementatenell’archivioenelfilesystemscelti.