DIP. FUNZIONALI E FORME NORMALI esempi cfr. Albano Ghelli Orsini Basi di dati relazionali e a oggetti Zanichelli, 1997, cap.6 RIDONDANZE E ANOMALIE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "DIP. FUNZIONALI E FORME NORMALI esempi cfr. Albano Ghelli Orsini Basi di dati relazionali e a oggetti Zanichelli, 1997, cap.6 RIDONDANZE E ANOMALIE"

Transcript

1 DIP. FUNZIONALI E FORME NORMALI esempi cfr. Albano Ghelli Orsini Basi di dati relazionali e a oggetti Zanichelli, 1997, cap.6 Ridondanze e anomalie Dipendenze funzionali e implicazione logica Regole di inferenza, verifica che K è chiave Calcolo di X + Algoritmo per determinare una chiave Coperture minimali Decomposizione di schemi Mantenimento dei dati e delle dipendenze Forma di Boyce Codd Terza forma normale cesarini - BDSI dip. funz. e forme normali / esempi 1 RIDONDANZE E ANOMALIE ORDINE (num, fornitore, indirizzo, articolo, data, quantità) num fornitore indirizzo articolo data quantità 350 Rossi Prato penna 10/2/ Rossi Prato lapis 10/2/ Rossi Prato gomma 10/2/ Bianchi Empoli pennarelli 10/2/ Verdi Empoli quaderni 13/2/ Verdi Empoli penna 13/2/ Rossi Prato penna 13/2/01 10 ridondanze anomalie di aggiornamento anomalie di inserzione anomalie di cancellazione cesarini - BDSI dip. funz. e forme normali / esempi 2 1

2 RIDONDANZE E ANOMALIE ORDINE (num, fornitore, indirizzo, articolo, data, quantità) ridondanza il valore di indirizzo è ripetuto in tutte le tuple che riguardano un ordine e in tutti gli ordini dello stesso fornitore anomalie di aggiornamento se modifichiamo l indirizzo di un fornitore o la data di un ordine in una tupla, dobbiamo modificare contemporaneamente anche le altre anomalie di inserzione non possiamo inserire le caratteristiche di un nuovo fornitore senza che gli sia stato ordinato qualcosa anomalia di cancellazione se cancelliamo le informazioni relative all ordine 351, cancelliamo anche le informazioni che riguardano il fornitore Bianchi cesarini - BDSI dip. funz. e forme normali / esempi 3 RIDONDANZE E ANOMALIE FREQ (cod_stud, nome, indirizzo, cod_corso, nome_corso, tipo, periodo) ogni studente può frequentare più di un corso ogni corso può essere frequentato da più studenti sono presenti ridondanze e anomalie tutte le caratteristiche di uno studente vengono ripetute per ogni corso che frequenta tutte le caratteristiche di un corso vengono ripetute per ogni studente che lo frequenta sono state raggruppate informazioni eterogenee cesarini - BDSI dip. funz. e forme normali / esempi 4 2

3 DIPENDENZE FUNZIONALI Dipendenza funzionale Vincolo di integrità che lega fra loro i valori degli attributi di una relazione Es: in una istanza di ORDINE, se abbiamo due valori uguali per l attributo fornitore, quelle due tuple hanno valori uguali anche per l attributo indirizzo Es: in una istanza di FREQ, se abbiamo due valori uguali per l attributo cod_stud, quelle due tuple hanno valori uguali anche per l attributo nome Ad uno schema di relazione sono in genere associate più dipendenze funzionali Questi tipi di vincoli possono essere individuati solo considerando il significato degli attributi cesarini - BDSI dip. funz. e forme normali / esempi 5 ESEMPI DIPENDENZE FUNZIONALI ORDINE (num, fornitore, indirizzo, articolo, data, quantità) num fornitore un certo ordine si riferisce sempre allo stesso fornitore fornitore indirizzo un fornitore ha sempre lo stesso indirizzo num data un ordine viene inviato in una certa data num fornitore, indirizzo, data se ci sono due righe con lo stesso numero d ordine, allora sono uguali anche i valori di fornitore, indirizzo e data num, articolo quantità in un certo ordine, un certo articolo viene ordinato in una determinata quantità (non ci possono essere due righe con la stessa coppia di valori per num e articolo e valori diversi per quantità) indirizzo indirizzo dipendenza banale, ovvia se due righe hanno valore uguale per indirizzo allora hanno valore uguale per indirizzo cesarini - BDSI dip. funz. e forme normali / esempi 6 3

4 ESEMPI DIPENDENZE FUNZIONALI IMPIEGATO (codimp, nome, stipendio, progetto, data_finale) codimp nome codimp stipendio codimp nome, stipendio codimp, nome stipendio progetto data_finale codimp progetto codimp data_finale stipendio stipendio dipendenza ovvia nome, stipendio stipendio dipendenza ovvia Se un impiegato può partecipare ad un solo progetto, allora: codimp progetto codimp data_finale.. cesarini - BDSI dip. funz. e forme normali / esempi 7 DIPENDENZE FUNZIONALI Una dipendenza funzionale è un vincolo di integrità associato ad una relazione Ad ogni schema viene associato un insieme di dipendenze funzionali Ad ogni schema è sempre associato l insieme delle dipendenze ovvie (anche se in genere si tralasciano perché prive di interesse pratico) L insieme delle dip. funzionali può essere determinato solo conoscendo il significato degli attributi nel contesto che stiamo rappresentando (vedi codimp progetto in IMPIEGATO) Uno schema di una relazione viene associato ad un insieme di dip. funz. dal progettista della base di dati Una particolare tabella che verifica l insieme dei vincoli associati allo schema (e quindi anche le dip. funz. associate) si dice corretta cesarini - BDSI dip. funz. e forme normali / esempi 8 4

5 IMPLICAZIONE LOGICA DI DIPENDENZE Se {A B, B C} F allora F impl. log. A C si può dimostrare per assurdo IMPIEGATO (codimp, nome, stipendio, progetto, data_finale) F = { codimp nome codimp stipendio codimp progetto progetto data_finale} F implica logicamente codimp data_finale si può dimostrare per assurdo ORDINE (num, fornitore, indirizzo, articolo, data, quantità) F { num fornitore fornitore indirizzo } F implica logicamente num indirizzo si può dimostrare per assurdo cesarini - BDSI dip. funz. e forme normali / esempi 9 APPLICAZIONE DI REGOLE DI INFERENZA IMPIEGATO (codimp, nome, stip, progetto, data_finale) Riflessività {stip, progetto} {stip, progetto} quindi stip progetto stip progetto {progetto} {stip, progetto} quindi stip progetto progetto Arricchimento se vale progetto data_finale allora progetto stip data_finale stip Transitività se codimp progetto e progetto data_finale allora codimp data_finale Unione se codimp nome e codimp stipendio allora codimp nome stipendio Decomposizione se codimp nome stipendio allora codimp nome e codimp stipendio cesarini - BDSI dip. funz. e forme normali / esempi 10 5

6 VERIFICA CHE K E CHIAVE applicazione assiomi Armstrong INDIRIZZO ( città, via, CAP) F = { città via CAP CAP città } K1 = città via K2 = via CAP K1: città via CAP città via CAP città via arricchimento con città via K2: CAP città via CAP via città via CAP via città CAP arricchimento con via arricchimento con CAP cesarini - BDSI dip. funz. e forme normali / esempi 11 CALCOLO DI X + R(stud, corso, prof, ora, aula, crediti) F = { corso prof, ora aula corso, ora prof aula, corso stud crediti, ora stud aula } Calcolo di X + = (ora aula) + X 0 = {ora aula} X 1 = {ora aula corso} X 2 = {ora aula corso prof} X 3 = {ora aula corso prof} = X 2 = X + cesarini - BDSI dip. funz. e forme normali / esempi 12 6

7 VERIFICA CHE K E CHIAVE calcolo di K + ORDINE (num, fornitore, indirizzo, articolo, data, quantità) F = { num fornitore data fornitore indirizzo num articolo quantità} Chiave K: num articolo K + = {num articolo} K + = {num articolo fornitore data} per la prima dipendenza K + = {num articolo fornitore data indirizzo} per la seconda dipendenza K + = {num articolo fornitore data indirizzo quantità} per la terza dip quindi la coppia (num articolo) è una superchiave Se ripetiamo il procedi mento a partire solo da num otteniamo {num fornitore data indirizzo} quindi num non è chiave Se ripetiamo il procedimento a partire solo da articolo otteniamo {articolo} quindi articolo non è chiave cesarini - BDSI dip. funz. e forme normali / esempi 13 VERIFICA CHE K E CHIAVE calcolo di K + FREQ (cod_stud, nome, indirizzo, cod_corso, nome_corso, tipo, periodo) F = { cod_stud nome indirizzo cod_corso nome_corso tipo periodo} Chiave K: cod_stud cod_corso Infatti: K + = {cod_stud cod_corso} K + = {cod_stud cod_corso nome indirizzo} per la prima dip K + = {cod_stud cod_corso nome indirizzo nome_corso tipo periodo} per la seconda dip quindi (cod_stud cod_corso) è superchiave (cod_stud cod_corso) è chiave perché non è ridondante da cod_stud si ottiene solo {cod_stud nome indirizzo} da cod_corso si ottiene solo {cod_corso nome_corso tipo periodo} cesarini - BDSI dip. funz. e forme normali / esempi 14 7

8 ESEMPIO DI CHIAVE IMPIEGATO (codimp, nome, stipendio, progetto, data_finale) F = { codimp nome stipendio progetto data_finale} Chiave: codimp progetto IMPIEGATO (codimp, nome, stipendio, progetto, data_finale) F = { codimp nome stipendio codimp progetto progetto data_finale} Chiave: codimp cesarini - BDSI dip. funz. e forme normali / esempi 15 VERIFICA CHE K E CHIAVE calcolo di K + INDIRIZZO (città, strada, CAP) F = { città strada CAP CAP città} ad ogni coppia città strada corrisponde un solo CAP ad ogni CAP corrisponde una sola città Chiave K: città strada infatti Kpiu = {città strada} Kpiu = {città strada CAP} per la prima dip e la coppia (città strada) non è ridondante Chiave K: strada CAP infatti Kpiu = {strada CAP} Kpiu = {strada CAP città} per la seconda dip e la coppia (strada CAP) non è ridondante cesarini - BDSI dip. funz. e forme normali / esempi 16 8

9 ALGORITMO PER DETERMINARE UNA CHIAVE R(stud, corso, prof, ora, aula) F = { corso prof, ora aula corso, ora prof aula, ora stud aula } 0) k = (stud, corso, prof, ora, aula) 1) A = stud stud (corso, prof, ora, aula) +? No 2) A = corso corso (stud, prof, ora, aula) +? Si k = (stud, prof, ora, aula) 3) A = prof prof (stud, ora, aula) +? Si k = (stud, ora, aula) 4) A = ora ora (stud, aula) +? No 5) A = aula aula (stud, ora) +? Si k = (stud, ora) cesarini - BDSI dip. funz. e forme normali / esempi 17 ALGORITMO PER DETERMINARE UNA CHIAVE INDIRIZZO ( città, via, CAP) F = { città via CAP, CAP città } 0) k = (città, via, CAP) 1) A = città città ( via, CAP) +? Si k = (via, CAP) 2) A = via via (CAP ) +? No 3) A = CAP CAP ( via ) +? No L algoritmo determina una delle possibili chiavi, la chiave trovata dipende dall ordine in cui vengono esaminati gli attributi cesarini - BDSI dip. funz. e forme normali / esempi 18 9

10 EQUIVALENZA: F G R(imp, ind, tel) F = { imp tel, imp ind } G = { imp ind tel, imp ind} F G + infatti G deriva { imp tel } imp ind arricch imp imp ind trans imp tel G F + infatti F deriva { imp ind tel } imp tel arricch imp ind tel ind decomp imp ind tel cesarini - BDSI dip. funz. e forme normali / esempi 19 F con due coperture minimali (canoniche) R ( A B C) F = { AB C, A B, B A } G 1 = { A C, A B, B A} G 2 = { B C, A B, B A } R ( imp, ufficio, telefono) F = { imp telefono ufficio, imp telefono, telefono imp } ogni impiegato ha un telefono personale sulla scrivania G 1 = { imp ufficio, imp telefono, telefono imp } G 2 = { telefono ufficio, imp telefono, telefono imp} cesarini - BDSI dip. funz. e forme normali / esempi 20 10

11 CALCOLO COPERTURA MINIMALE ordine dei passi R ( stanza, imp, tel) F = { stanza imp tel, imp stanza, tel stanza} ogni impiegato può essere reperito con un certo numero di telefono, però non è detto che un telefono serva una sola persona 1. { imp tel, imp stanza, tel stanza} tel (imp) + F 2. { imp tel, tel stanza} imp stanza è ridondante è una copertura minimale cambiando l ordine: 2. { stanza imp tel, imp stanza, tel stanza } 1. { imp tel, imp stanza, tel stanza} non è una copertura minimale cesarini - BDSI dip. funz. e forme normali / esempi 21 DECOMPOSIZIONE DI SCHEMI R (forn, ind, articolo, prezzo) F = { forn ind, forn articolo prezzo) T1 = { forn, ind} T2 = { forn, articolo, prezzo} (T1 T2) T1 F + r che soddisfa F forn ind articolo prezzo Rossi Prato libro 3 Verdi Prato penna 2 Rossi Prato penna 2 Verdi Prato libro 1 π T1 (r) forn ind π T2 (r) forn articolo prezzo Rossi Prato Rossi libro 3 Verdi Prato Verdi penna 2 Rossi penna 2 Verdi libro 1 π T1 (r) π T2 (r) = r cesarini - BDSI dip. funz. e forme normali / esempi 22 11

12 DECOMPOSIZIONE DI SCHEMI R (forn, ind, articolo, prezzo) F = { forn ind, forn articolo prezzo) T1 = { forn, ind} T2 = { forn, articolo, prezzo} (T1 T2) T1 F + r che non soddisfa F forn ind articolo prezzo Rossi Prato libro 3 Verdi Prato penna 2 Rossi Empoli libro 1 π T1 (r) forn ind π T2 (r) forn articolo prezzo Rossi Prato Rossi libro 3 Verdi Prato Verdi penna 2 Rossi Empoli Rossi libro 1 π T1 (r) π T2 (r) r cesarini - BDSI dip. funz. e forme normali / esempi 23 DECOMPOSIZIONE DI SCHEMI R (forn, ind, articolo, prezzo) F = { forn ind, forn articolo prezzo) T1 = { forn, ind, articolo} T2 = { articolo, prezzo} (T1 T2) T1 F + (T1 T2) T2 F + r che soddisfa F forn ind articolo prezzo Rossi Prato libro 3 Verdi Prato penna 2 Rossi Prato penna 2 Verdi Prato libro 1 π T1 (r) forn ind articolo π T2 (r) articolo prezzo Rossi Prato libro libro 3 Verdi Prato penna penna 2 Rossi Prato penna libro 1 Verdi Prato libro π T1 (r) π T2 (r) r cesarini - BDSI dip. funz. e forme normali / esempi 24 12

13 PROIEZIONE DI DIPENDENZE R (forn, ind, articolo, prezzo) F = {forn ind, forn articolo prezzo) π forn, ind (F) = {forn ind} {dipendenze ovvie} π forn, ind, articolo (F) = {forn ind} {dipendenze ovvie} π forn, articolo (F) = {dipendenze ovvie} INDIRIZZO (città, via, CAP) F = {città via CAP, CAP città} π via, CAP (F) = {dipendenze ovvie} π città, CAP (F) = { CAP città} {dipendenze ovvie} cesarini - BDSI dip. funz. e forme normali / esempi 25 DECOMPOSIZIONI mantenimento dei dati / delle dipendenze IMP (cod, nome, progetto, budget) F = { cod nome progetto budget, progetto budget} ρ = { R1 (cod, nome, progetto), R2 (cod, budget)} ρ mantiene i dati poiché T1 T2 = cod è chiave di R1 (anche di R2) π T1 (F) = {cod nome progetto} {dip. ovvie} π T2 (F) = {cod budget} {dip. ovvie} ρ non mantiene le dipendenze poiché (progetto budget) ( i π Ti (F)) + ρ = { R1 (cod, nome, progetto), R2 (progetto, budget)} mantiene i dati poiché T1 T2 = progetto è chiave di R2 mantiene le dipendenze poiché F ( i π Ti (F)) cesarini - BDSI dip. funz. e forme normali / esempi 26 13

14 DECOMPOSIZIONI mantenimento dei dati / delle dipendenze INDIRIZZO ( città, via, CAP) F = { città via CAP, CAP città } ρ = { R1( città, CAP), R2 (via, CAP)} ρ mantiene i dati poiché ρ T1 T2 = CAP è chiave di R1 non mantiene le dipendenze poiché i π Ti (F) = {CAP città} {dip. ovvie} Si può verificare che ρ è l unica decomposizione di INDIRIZZO che mantiene i dati Non si può trovare una decomposizione di INDIRIZZO che mantenga sia i dati che le dipendenze cesarini - BDSI dip. funz. e forme normali / esempi 27 DECOMPOSIZIONE CHE NON MANTIENE LE DIPENDENZE IMP (cod, nome, ind, prog, data_finale) F = { cod nome ind prog data_finale, prog data_finale} R1 (cod, nome, ind, prog) F1 = {cod nome ind prog} R2 (cod, data_finale) F2 = {cod data_finale} r1 = cod nome ind prog r2 = cod datafinale 3 Rossi FI A 3 31/12/ Bianchi MI A 6 31/12/ Verdi TO B 5 31/03/ Neri TO B 8 30/06/2004 può essere fatto l inserimento in corsivo senza violare nessun vincolo chiaramente l inserimento non si accorda con la semantica di quella che era la tabella originaria cesarini - BDSI dip. funz. e forme normali / esempi 28 14

15 DECOMPOSIZIONI importanza del mantenere le dipendenze INDIRIZZO ( città, via, CAP) F = {città via CAP, CAP città} R1( città, CAP) F1 = { CAP città} { dip. ovvie} R2 (via, CAP) F2 = { dip. ovvie} Se nella base di dati abbiamo definito R1 e R2 sono lecite le istanze r1 = città CAP r2 = via CAP FI v.verdi FI v.verdi Se proviamo a ricostruire una istanza di INDIRIZZO con un join r1 r2 = città via CAP FI v.verdi FI v.verdi e questa istanza viola i vincoli di INDIRIZZO cesarini - BDSI dip. funz. e forme normali / esempi 29 DECOMPOSIZIONI Esempio di decomposizione che mantiene le dipendenze ma non i dati R ( forn, ind, articolo, colore) F = { forn ind, articolo colore) ρ = { R1( nome, ind), R2 (articolo, colore) } ρ non mantiene i dati: T1 T2 = ρ mantiene le dipendenze: π forn, ind (F) π articolo, colore (F) = {forn ind} {articolo colore} = F cesarini - BDSI dip. funz. e forme normali / esempi 30 15

16 FORMA NORMALE DI BOYCE CODD ORDINE (num, fornitore, indirizzo, tel, articolo, data, quantità) F = { num fornitore data fornitore indirizzo tel num articolo quantità} Chiave: num articolo ORDINE non è BCNF a causa della prima e della seconda dip ORDINE presenta ridondanze e anomalie IMPIEGATO (codice, nome, indirizzo, qualifica, stipendio_base) F = { codice nome indirizzo qualifica qualifica stipendio_base} Chiave: codice IMPIEGATO non è BCNF IMPIEGATO ha ridondanze e anomalie (per tutti gli impiegati con la qualifica abc viene ripetuto lo stipendio base che è sempre lo stesso) cesarini - BDSI dip. funz. e forme normali / esempi 31 FORMA NORMALE DI BOYCE CODD INDIRIZZO ( città, via, CAP) INDIRIZZO non è BCNF F = {città via CAP, CAP città} VISITE (specializzazione, medico, data) F = { specializzazione data medico, medico specializzazione } VISITE non è BCNF (si notino le ridondanze) visite spec. medico data oculista Neri 10/12/03 oculista Neri 13/12/03 oculista Neri 14/12/03 otorino Bianchi 10/12/03 oculista Verdi 12/12/03 dentista Rossi 10/12/03 cesarini - BDSI dip. funz. e forme normali / esempi 32 16

17 ALG. DECOMPOSIZIONE BCNF: es 1 IMPIEGATO (codice, nome, ind, qualifica, stipendio_base) F = { codice nome ind qualifica, qualifica stipendio_base} IMPIEGATO non è BCNF a causa della seconda dipendenza R1 (qualifica, stipendio_base) F1 = {qualifica stipendio_base} R2 (codice, nome, ind, qualifica) F2 = {codice nome ind qualifica} R2 è BCNF quindi il procedimento termina R1 (qualifica, stipendio_base) F1 = {qualifica stipendio_base) R2 (codice, nome, ind, qualifica) F2={codice nome ind qualifica} Si può verificare che questa decomposizione mantiene anche le dipendenze cesarini - BDSI dip. funz. e forme normali / esempi 33 ALG. DECOMPOSIZIONE BCNF: es 2 ELENCO (fornitore, indirizzo, articolo, prezzo) F = {fornitore indirizzo, fornitore articolo prezzo} ELENCO non è BCNF a causa della prima dipendenza R1 (fornitore, indirizzo) F1 = {fornitore indirizzo} R2 (fornitore, articolo, prezzo) F2 = {fornitore articolo prezzo} R2 è BCNF quindi il procedimento termina R1 (fornitore, indirizzo) F1 = {fornitore indirizzo} R2 (fornitore, articolo, prezzo) F2={fornitore articolo prezzo} Questa decomposizione mantiene sia il contenuto che le dipendenze cesarini - BDSI dip. funz. e forme normali / esempi 34 17

18 ALG. DECOMPOSIZIONE BCNF: es 3 ORDINE (num, fornitore, indirizzo, tel, articolo, data, quantità) F = {num articolo quantità, fornitore indirizzo telefono, num fornitore data } ORDINE non è BCNF a causa della seconda dipendenza R1 (fornitore, indirizzo, tel) F1 = { fornitore indirizzo tel} R2 (num, fornitore, articolo, data, quantità) F2 = { num articolo quantità, num fornitore data} R2 non è BCNF a causa della seconda dipendenza R2 (num, fornitore, data) F2 = { num fornitore data} R3 (num, articolo, quantità) F3 = { num articolo quantità} La decomposizione R1 (fornitore, indirizzo, tel) F1 = { fornitore indirizzo tel} R2 (num, fornitore, data) F2 = { num fornitore data} R3 (num, articolo, quantità) F3 = { num articolo quantità} mantiene sia i dati che le dipendenze cesarini - BDSI dip. funz. e forme normali / esempi 35 DECOMPOSIZIONE BCNF E DIPENDENZE INDIRIZZO (città, strada, CAP) F = { città strada CAP, CAP città} Chiave1: città strada Chiave2: strada CAP INDIRIZZO non è BCNF a causa della seconda dipendenza IND1 (CAP, città) F1 = {CAP città} IND2 (strada, CAP) F2 = {solo dipendenze ovvie} Questa decomposizione mantiene i dati (è l unica possibile decomposizione che mantiene i dati) Questa decomposizione non mantiene le dipendenze Abbiamo perso città strada CAP Non è possibile trovare una decomposizione che mantenga sia i dati che le dipendenze cesarini - BDSI dip. funz. e forme normali / esempi 36 18

19 TERZA FORMA NORMALE INDIRIZZO (città, strada, CAP) F = { città strada CAP, CAP città} Chiave1: città strada Chiave2: strada CAP INDIRIZZO è 3NF IMPIEGATO (nome, ufficio, capo_ufficio) F = { nome ufficio, ufficio capo_ufficio} Chiave: nome IMPIEGATO non è 3NF cesarini - BDSI dip. funz. e forme normali / esempi 37 TERZA FORMA NORMALE IMP (codimp, codfisc, nome, stipendio, progetto, data_finale) F = {codimp codfisc nome stipendio progetto, codfisc codimp, progetto data_finale } Chiave1: codimp Chiave2: codfisc IMP non è 3NF IMP (codimp, codfisc, nome, stipendio, progetto, data_finale) F = {codimp codfisc nome stipendio, codfisc codimp, progetto data_finale } Chiave1: codimp progetto Chiave2: codfisc progetto IMP non è 3NF cesarini - BDSI dip. funz. e forme normali / esempi 38 19

20 ALGORITMO DI SINTESI PER 3NF R ( fornitore, indirizzo, articolo, colore) F = { fornitore indirizzo tel, articolo colore} Chiave: fornitore articolo 1. G = {fornitore indirizzo, fornitore tel, articolo colore} ; ρ = {}; 2. G = {fornitore indirizzo tel, articolo colore}; 3. ρ = { R1(fornitore, indirizzo, tel), R2(articolo, colore)}; 4. ρ rimane inalterato; 5. ρ = { R1(fornitore, indirizzo, tel), R2(articolo, colore), R3(fornitore, articolo)}; Si noti l importanza del passo 5 cesarini - BDSI dip. funz. e forme normali / esempi 39 ESERCIZI Si considerino i seguenti schemi, per ognuno di essi si determini la o le chiavi e se non è in forma 3NF (di Boyce Codd) se ne proponga una decomposizione applicando l algoritmo di sintesi (di dec. BCNF) IMP (codice, nome, indirizzo, progetto, data_finale, budget) F = {codice nome indirizzo progetto progetto data_finale budget} IMP (codice, nome, indirizzo, progetto, data_finale, budget) F = {codice nome indirizzo progetto data_finale budget} FREQ (cod_stud, nome, indirizzo, cod_corso, nome_corso, tipo, periodo) F = { cod_stud nome indirizzo cod_corso nome_corso tipo periodo} cesarini - BDSI dip. funz. e forme normali / esempi 40 20

21 ESERCIZI Si consideri una scuola media inferiore e lo schema ORARIO (prof, materia, classe, giorno, ora) dom(classe) = { IA, IIA, IIIA, IB, } dom(giorno) = { lunedì, martedì, } dom(ora) = { 8.30, 9.30, 10.30, 11.30, } F = { classe materia prof, classe giorno ora materia, prof giorno ora classe} Si verifichi il significato delle dipendenze, si determini la chiave (o le chiavi) dello schema, si determini in quale forma normale è, eventualmente se ne proponga una decomposizione, si discuta la decomposizione proposta cesarini - BDSI dip. funz. e forme normali / esempi 41 ESERCIZI Una agenzia bancaria vuole mantenere alcuni dati relativi ai clienti e ai loro conti correnti. Un cliente può avere più conti correnti e un conto corrente può essere cointestato. CLIENTE(codice, nome, cognome, ind, tel, num_conto, saldo) Si associ allo schema un opportuno insieme di dipendenze funzionali, si determini la (le) chiave (chiavi) e se lo schema è 3NF e/o BCNF. Se lo si ritiene utile si effettui una decomposizione utilizzando l algoritmo per Boyce Codd e/o l algoritmo per 3NF. Si analizzi il risultato ottenuto. Una agenzia bancaria vuole mantenere alcuni dati relativi ai clienti e ai loro conti correnti. Un cliente può avere più conti correnti ma un conto ha un solo intestatario. CLIENTE(codice, nome, cognome, ind, tel, num_conto, saldo) Si associ allo schema un opportuno insieme di dipendenze funzionali, si determini la (le) chiave (chiavi) e se lo schema è 3NF e/o BCNF. Se lo si ritiene utile si effettui una decomposizione utilizzando l algoritmo per Boyce Codd e/o l algoritmo per 3NF. Si analizzi il risultato ottenuto. cesarini - BDSI dip. funz. e forme normali / esempi 42 21

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione Normalizzazione Normalizzazione Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Normalizzazione Introduzione La normalizzazione è un procedimento che, a partire da uno schema relazionale

Dettagli

LA NORMALIZZAZIONE. Introduzione

LA NORMALIZZAZIONE. Introduzione LA NORMALIZZAZIONE Introduzione La normalizzazione e' una tecnica di progettazione dei database, mediante la quale si elimina la rindondanza dei dati al fine di evitare anomalie nella loro consistenza

Dettagli

Decomposizione senza perdita. Decomposizione senza perdita. Conservazione delle dipendenze. Conservazione delle dipendenze

Decomposizione senza perdita. Decomposizione senza perdita. Conservazione delle dipendenze. Conservazione delle dipendenze Decomposizione senza perdita Data una relazione r su X, se X 1 e X 2 sono due sottoinsiemi di X la cui unione è X stesso, allora il join delle due relazioni ottenute per proiezione di r su X 1 e X 2 è

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

Raffinamento dello schema e forme normali. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Raffinamento dello schema e forme normali. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Raffinamento dello schema e forme normali 1 Forme Normali Le forme normali consentono di valutare la qualità delle relazione Sono state proposte diverse forme normali che includono, in ordine di generalità:

Dettagli

FORME NORMALI E DIPENDENZE

FORME NORMALI E DIPENDENZE Sistemi Informativi: Forme Normali e Dipendenze FORME NORMALI E DIPENDENZE La teoria della normalizzazione e delle dipendenze ha come scopo principale quello di fornire gli strumenti teorici e pratici

Dettagli

Normalizzazione. Relazionali

Normalizzazione. Relazionali Normalizzazione di Schemi Relazionali Normalizzazione Forme Normali Una forma normale è una proprietà di uno schema relazionale che ne garantisce la qualità, cioè l assenza di determinati difetti Una relazione

Dettagli

BASI DI DATI DIPENDENZE FUNZIONALI E FORME NORMALI

BASI DI DATI DIPENDENZE FUNZIONALI E FORME NORMALI BASI DI DATI DIPENDENZE FUNZIONALI E FORME NORMALI Prof. Fabio A. Schreiber Dipartimento di Elettronica e Informazione Politecnico di Milano ERRORI DI PROGETTAZIONE INSERIMENTO DI ELEMENTI RIDONDANTI SPRECO

Dettagli

Secondo Compitino di Basi di Dati

Secondo Compitino di Basi di Dati Secondo Compitino di Basi di Dati 10 Giugno 2004 NOME: COGNOME: MATRICOLA: Esercizio Punti previsti 1 18 2 12 3 3 Totale 33 Punti assegnati Esercizio 1 (Punti 18) Si vuole realizzare un applicazione per

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota Attributi e domini Assumiamo un universo infinito numerabile U = {A 0, A 1, A 2...} di attributi. Denotiamo gli attributi con A, B, C, B 1, C 1... e gli insiemi di attributi con X, Y, Z, X 1,... per brevità

Dettagli

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno NORMALIZZAZIONE DI SCHEMI RELAZIONALI Prof.ssa Rosalba Giugno PROBLEMA GENERALE La progettazione concettuale e logica produce uno schema relazionale che rappresenta la realta dei dati nella nostra applicazione.

Dettagli

b) Costruire direttamente le relazioni e poi correggere quelle che presentano anomalie

b) Costruire direttamente le relazioni e poi correggere quelle che presentano anomalie TEORIA RELAZIONALE: INTRODUZIONE 1 Tre metodi per produrre uno schema relazionale: a) Partire da un buon schema a oggetti e tradurlo b) Costruire direttamente le relazioni e poi correggere quelle che presentano

Dettagli

Vincoli di integrità

Vincoli di integrità Vincoli di integrità Non tutte le istanze di basi di dati sintatticamente corrette rappresentano informazioni plausibili per l applicazione di interesse Studenti Matricola Nome Nascita 276545 Rossi 23-04-72?

Dettagli

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Dettagli

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981

Dettagli

Basi di dati 9 febbraio 2010 Compito A

Basi di dati 9 febbraio 2010 Compito A Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli

Dettagli

Normalizzazione (Codd, 1972)

Normalizzazione (Codd, 1972) Normalizzazione (Codd, 1972) La normalizzazione non è una tecnica, nè una metodologia di progettazione Le forme normali costituiscono uno dei criteri per ottenere basi di dati relazionali ben progettate

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE MODELLO RELAZIONALE Definizione di relazione Schema e istanza Chiave Valori nulli Predicati e vincoli di integrità Vincolo di integrità referenziale cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

Dettagli

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale Basi di Dati e Sistemi Informativi Progettazione logica: Il modello relazionale Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Introduzione Basato sul lavoro di Codd (~1970) E attualmente

Dettagli

La normalizzazione delle basi di dati

La normalizzazione delle basi di dati La normalizzazione delle basi di dati Cfr. Albano Ghelli Orsini Basi di dati relazionali e a oggetti Zanichelli, 1997, cap. 6 Forme normali Una forma normale è una proprietà di una base di dati relazionale

Dettagli

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei

Dettagli

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

Gestione Voti Scolastici

Gestione Voti Scolastici Gestione Voti Scolastici Progettare un modello di dati per la gestione delle informazioni riguardanti le prove, nelle diverse materie, sostenute dagli studenti di una scuola media superiore. Il sistema

Dettagli

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER Basi di Dati Progettazione del Modello ER Dai requisiti allo schema ER Entità, relazioni e attributi non sono fatti assoluti dipendono dal contesto applicativo Nella pratica si fa spesso uso di una strategia

Dettagli

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto: Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto: Tabella Cliente: Tabella NumTel: Tabella Dati_Cliente: L'esempio è per ragioni di chiarezza

Dettagli

È fatta male? Perché? Come si può correggere?

È fatta male? Perché? Come si può correggere? UNA TABELLA N Inv Stanza Resp Oggetto Produttore Descrizione 1012 256 Ghelli Mac Mini Apple Personal Comp 1015 312 Albano Dell XPS M1330 Dell Notebook 2 GHZ 1034 256 Ghelli Dell XPS M1330 Dell Notebook

Dettagli

Modulo 2 Data Base 2

Modulo 2 Data Base 2 Modulo 2 Data Base 2 Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Relazioni: riepilogo Relazione : concetto

Dettagli

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Database relazionali: un'introduzione Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Rappresentazione astratta di aspetti del mondo reale (Universe

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale 1 Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981 Si basa sul concetto matematico di relazione,

Dettagli

Progetto di basi di dati Laboratorio di diagnosi mediche

Progetto di basi di dati Laboratorio di diagnosi mediche Progetto di basi di dati aboratorio di diagnosi mediche Descrizione e specifiche Si vuole realizzare il progetto della base di dati di laboratorio di diagnosi medica, partendo da un insieme di requisiti.

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

IL MODELLO RELAZIONALE

IL MODELLO RELAZIONALE IL MODELLO RELAZIONALE E i vincoli per le basi di dati relazionali 2 La storia Introdotto nel 1970 da E. F. Ted Codd http://en.wikipedia.org/wiki/edgar_f._codd (centro ricerche IBM) Codd, E.F. (1970).

Dettagli

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

DB - Modello relazionale dei dati. DB - Modello Relazionale 1 DB - Modello relazionale dei dati DB - Modello Relazionale 1 Definizione Un modello dei dati è un insieme di meccanismi di astrazione per definire una base di dati, con associato un insieme predefinito

Dettagli

Contabilità: Estratto conto e scadenzario

Contabilità: Estratto conto e scadenzario Contabilità: Estratto conto e scadenzario Indice Estratto conto 2 Estratto conto 2 Variazione estratto conto 3 Scadenzario e Solleciti 5 Scadenzario clienti 5 Solleciti clienti 6 Scadenzario fornitori

Dettagli

Esercizio sui data base "Gestione conti correnti"

Esercizio sui data base Gestione conti correnti Database "Gestione conto correnti" Testo del quesito La banca XYZ vuole informatizzare le procedure di gestione dei conti correnti creando un archivio dei correntisti (Cognome, Nome, indirizzo, telefono,

Dettagli

Compito Basi di Dati. Tempo concesso: 90 minuti 08 Giugno 2006 Nome: Cognome: Matricola:

Compito Basi di Dati. Tempo concesso: 90 minuti 08 Giugno 2006 Nome: Cognome: Matricola: Compito Basi di Dati. Tempo concesso: 90 minuti 08 Giugno 2006 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione di un sistema di gestione di uno studio

Dettagli

Decomposizioni di uno schema, Decomposizioni che preservano i dati (loss-less joins) Prof.ssa Rosalba Giugno

Decomposizioni di uno schema, Decomposizioni che preservano i dati (loss-less joins) Prof.ssa Rosalba Giugno Decomposizioni di uno schema, Decomposizioni che preservano i dati (loss-less joins) Prof.ssa Rosalba Giugno Decomposizione di uno schema Dato uno schema relazionale R={A1,A2, An} una sua decomposizione

Dettagli

COGNOME MATRICOLA. Con vincoli di integrita referenziale: INTERVENTO.CodTecnico à TECNICO.Codice INTERVENTO.MatCaldaia à CALDAIA.

COGNOME MATRICOLA. Con vincoli di integrita referenziale: INTERVENTO.CodTecnico à TECNICO.Codice INTERVENTO.MatCaldaia à CALDAIA. NOME COGNOME MATRICOLA ESERCIZIO 1 (15 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un azienda che fornisce assistenza caldaie a domicilio: TECNICO(Codice, Nome,

Dettagli

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007 Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE

Dettagli

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 DB2 Data Management Software Il linguaggio SQL Raggruppamenti Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute in questa

Dettagli

LA FORMAZIONE PROFESSIONALE

LA FORMAZIONE PROFESSIONALE LA FORMAZIONE PROFESSIONALE I corsi di formazione professionale permettono di integrare le conoscenze scolastiche o di acquisire nuove conoscenze e competenze in ambiti diversi dall indirizzo di studio

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

Il linguaggio SQL: query innestate

Il linguaggio SQL: query innestate Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749 Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006 Esercizi entità relazione risolti a cura di Angela Campagnaro 802749 Indice: Esercizio 1: Un insieme di officine 1.1 Testo esercizio.3

Dettagli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni e identificatori Codice (0,1) (1,1) Dirige Informatica Lezione 8 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2012 2013 1 Cognome

Dettagli

Progettazione del Software, Laurea in Ingegneria Gestionale Progettazione del Software Laurea in Ing. Gestionale

Progettazione del Software, Laurea in Ingegneria Gestionale Progettazione del Software Laurea in Ing. Gestionale Progettazione del Software Laurea in Ing. Gestionale Prof. Toni Mancini & Prof. Monica Scannapieco Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza Esercitazione E.A.1 Primi esercizi

Dettagli

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA BASE DI DATI: sicurezza Informatica febbraio 2015 5ASA Argomenti Privatezza o riservatezza Vincoli di integrità logica della base di dati intrarelazionali interrelazionali Principio generale sulla sicurezza

Dettagli

Basi di dati I Soluzione Quinto Homework del 9 gennaio 2013

Basi di dati I Soluzione Quinto Homework del 9 gennaio 2013 Basi di dati I Soluzione Quinto Homework del 9 gennaio 2013 Domanda 1 (50%) Si consideri la seguente schematizzazione di alcuni tour organizzati da un agenzia turistica: Tour N. 2345 Nome: Marocco Partenza:

Dettagli

Algoritmi di progettazione di basi di dati relazionali e altre dipendenze

Algoritmi di progettazione di basi di dati relazionali e altre dipendenze Algoritmi di progettazione di basi di dati relazionali e altre dipendenze Nel Capitolo 11 è stata illustrata la tecnica di progettazione relazionale top-down e i relativi concetti che risultano ampiamente

Dettagli

Progettazione concettuale

Progettazione concettuale Progettazione concettuale Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi

Dettagli

Lezione 2. Il modello entità relazione

Lezione 2. Il modello entità relazione Lezione 2 Il modello entità relazione Pag.1 Introduzione alla progettazione delle basi di dati 1. Analisi dei requisiti Quali sono le entità e le relazioni dell organizzazione? Quali informazioni su queste

Dettagli

Traduzione da ER a Relazionale

Traduzione da ER a Relazionale Traduzione da ER a Relazionale Costruito lo schema concettuale (modello ER) occorre tradurre lo schema ottenuto in uno schema logico ad esso equivalente, nel nostro caso useremo il modello relazionale

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Il modello relazionale dei dati e stato introdotto da Codd. nel 1970 (E.F. Codd, \A relational model of data for large

Il modello relazionale dei dati e stato introdotto da Codd. nel 1970 (E.F. Codd, \A relational model of data for large Modello Relazionale Il modello relazionale dei dati e stato introdotto da Codd nel 1970 (E.F. Codd, \A relational model of data for large shared data banks", Comm. of the ACM, 1970) ed e basato sul concetto

Dettagli

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero

Dettagli

Metodi e Modelli Matematici di Probabilità per la Gestione

Metodi e Modelli Matematici di Probabilità per la Gestione Metodi e Modelli Matematici di Probabilità per la Gestione Prova scritta del 30/1/06 Esercizio 1 Una banca ha N correntisti. Indichiamo con N n il numero di correntisti esistenti il giorno n-esimo. Descriviamo

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2 Basi di dati Concetti Introduttivi ESEMPIO Fisica, Analisi, Informatica Entità Relazioni Interrogazioni Database 2 Tabella (I) STUDENTE Attributi Data di Nascita Indirizzo Matricola Luca Neri 27/10/1980

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base di dati di una facoltà e si definisca

Dettagli

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che: Teoria dei Giochi, Trento, 2004/05 c Fioravante Patrone 1 Teoria dei Giochi Corso di laurea specialistica: Decisioni economiche, impresa e responsabilità sociale, A.A. 2004/05 Soluzioni degli esercizi

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Basi di Dati e Microsoft Access

Basi di Dati e Microsoft Access Basi di Dati e Microsoft Access Lun: 16-18 e Mer: 14-17 Alessandro Padovani padoale@email.it Database: definizione Un database (DB) è una collezione di informazioni organizzata in gruppi, che consentono

Dettagli

ALGEBRA RELAZIONALE RIEPILOGO

ALGEBRA RELAZIONALE RIEPILOGO ALGEBRA RELAZIONALE RIEPILOGO PROIEZIONE: (notazione ) Operatore unario per estrarre colonne da una relazione: lista_attributi (R) Lo schema del risultato contiene i soli attributi contenuti in lista_attributi.

Dettagli

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

database: modello entityrelationship

database: modello entityrelationship Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 database: modello entityrelationship Prof.Valle D.ssaFolgieri Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 1 Fasi

Dettagli

Introduzione all Algebra Relazionale

Introduzione all Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Basi di dati I. Esercitazione proposta

Basi di dati I. Esercitazione proposta Basi di dati I Esercitazione proposta Premessa Viene richiesta la realizzazione di una piccola base di dati, attraverso un processo di progettazione concettuale e logica e con la realizzazione di alcune

Dettagli

BASI DI DATI - : I modelli di database

BASI DI DATI - : I modelli di database BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

Dettagli

PROGETTAZIONE CONCETTUALE

PROGETTAZIONE CONCETTUALE PROGETTAZIONE CONCETTUALE 1 Il Modello Concettuale Nella progettazione concettuale la descrizione dei dati da rappresentare avviene a livello astratto indipendentemente dal computer e dal software utilizzato.

Dettagli

ANALISI DELLE FREQUENZE: IL TEST CHI 2

ANALISI DELLE FREQUENZE: IL TEST CHI 2 ANALISI DELLE FREQUENZE: IL TEST CHI 2 Quando si hanno scale nominali o ordinali, non è possibile calcolare il t, poiché non abbiamo medie, ma solo frequenze. In questi casi, per verificare se un evento

Dettagli

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1 Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1 Si consideri il seguente schema di base di dati che vuole tenere traccia delle attività di un autofficina. MECCANICO (CodiceFiscale,

Dettagli

Segreteria da campo. Database Relazionali

Segreteria da campo. Database Relazionali Segreteria da campo Database Relazionali realizzato secondo gli Standard Regionali in materia di Formazione per la Protezione Civile come conforme alla d.g.r. n. X/1371 del 14.02.2014, livello A2-14 Corso

Dettagli

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS Basi di Basi di (Sistemi Informativi) Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente)

Dettagli

Esercitazione 7 Progettazione concettuale. Versione elettronica: L07.progConcettuale.pdf

Esercitazione 7 Progettazione concettuale. Versione elettronica: L07.progConcettuale.pdf Esercitazione 7 Progettazione concettuale Sistemi Informativi T Versione elettronica: L07.progConcettuale.pdf Esercizi di progettazione concettuale In questi esercizi vengono proposti degli estratti di

Dettagli

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

MODELLO E/R. Modellazione dei dati

MODELLO E/R. Modellazione dei dati MODELLO E/R Maria Mirto Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli elementi caratterizzanti e i legami intercorrenti

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

Database 3 affitto veicoli. Testo del quesito

Database 3 affitto veicoli. Testo del quesito Database 3 affitto veicoli Testo del quesito La società salento trasporti dispone di diversi tipi di veicoli (moto, auto, furgoni, camion, ) che affitta ai propri clienti. La società vuole informatizzare

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

POLIAGE GUIDA RAPIDA

POLIAGE GUIDA RAPIDA www.candian.itinfo@candian.it!!"#$% &%'%$%(%)*)+,-,'!-#,%$. POLIAGE GUIDA RAPIDA I. Codifica di una prestazione Pag. 2 II. Inserimento di un nuovo professionista 4 I Creazione Profilo Agenda 6 II Gestione

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli