Proge0azione logica relazionale Il modello relazionale A. Ferrari Storia •  La proge0azione logica relazionale consiste nella conversione di un diagramma E/R in un insieme di tabelle che cos=tuisce lo schema logico relazionale della base da= •  Esistono altri modelli logici (modello gerarchico, modello re=colare) anche se oggi il modello relazionale è sicuramente il più diffuso Rappresentazione come tabella •  Introdo0o nel 1970 dal matema=co inglese Edgar Frank Codd •  Negli anni ’60 e ’70 lavora in IMB ed elabora le sue teorie sulla ges=one dei da=, pubblica “A Rela=onal Model of Data for Large Shared Data Banks” (un modello relazionale per i da= in grandi basi da= condivise) •  Le prime implementazioni del modello si hanno solo alla fine degli anni '70 (ritardo dovuto alla difficile implementazione del modello matema=co) •  Dagli anni '80 ampia diffusione di DBMS relazionali anche per sistemi di piccole dimensioni Regole di derivazione •  Passaggio da uno schema conce0uale (Diagramma E/R) a uno schema relazionale (insieme di tabelle) equivalente DiagrammaE/R Le en=tà •  Ogni en=tà viene rappresentata da una tabella •  L’a0ributo chiave primaria dell’en=tà diventa a0ributo chiave primaria della tabella e viene rappresentato con cara0ere so0olineato Schema relazionale 1 Rappresentazione alterna=va di associazioni 1:1 Associazioni 1:1 •  Le associazioni 1:1 vengono trasformate in un’unica tabella •  Si opera come nel caso di associazioni 1:n Associazioni 1:N Esempio 1:N C odice
•  Le associazioni binarie 1:N tra le en=tà A e B sono trado0e in due tabelle: Denominazione
L ibretto
S pecializzazione
–  tabella Ra che ha gli a0ribu= di A –  tabella Rb che ha gli a0ribu= di B e gli a0ribu= chiave Ka di A (chiave esterna) 1
C lasse
Nome
C omposta da
N
S tudente
Chiave
esterna
Associazioni N:N •  Per tradurre nel modello relazionale una associazione N:N tra due en=tà è necessario introdurre tre tabelle •  Per la relazione N:N tra le en=tà A e B si rappresenta con: –  una tabella RA che ha gli a0ribu= di A –  una tabella RB che ha gli a0ribu= di B –  una tabella RS con gli a0ribu= chiave KA di RA e gli a0ribu= chiave KB di RB Esempio associazione N:N Codice Nome 001 Rossi 002 Verdi 003 Bianchi Libre1o Nome AA100 Aldo Kdoc KStud Materia AA101 Giovanni 001 AA100 Informa=ca BB100 Giacomo 001 BB100 Informa=ca 003 AA100 Storia 002 AA100 Inglese 2 Associazione unaria Associazione ternaria C odice
Nome
L ibretto
Materia
D ocente
Nome
N
Ins egna
D es criz ione
Nome Materia S tudente
K
C odice
Codice M
Aula
Libre1o Nome AA100 Aldo Libre1o Nome KstudA KstudB 001 Rossi Informa=ca AA101 Giovanni AA100 Aldo AA100 AA101 002 Verdi Storia BB100 Giacomo AA101 Giovanni BB100 BB101 003 Bianchi Inglese Kdoc Kstud Kaula BB100 Giacomo 001 AA100 A01 BB101 Jack 001 BB100 LInf 003 AA100 A02 002 AA100 A02 Gli a0ribu= delle associazioni Codice Descrizione A01 A1 nuovo A02 A2 nuovo LInf L. Informa=ca Esempio (tennis) •  Gli a0ribu= delle associazioni 1:1 vanno inseri= in una qualunque delle tabelle risultan= (o nell’unica tabella o0enuta) •  Gli a0ribu= delle associazioni 1:N vanno inseri= nella tabella che conterrà la chiave esterna •  Gli a0ribu= delle associazioni N:N vanno inseri= nella tabella che rappresenta l’associazione 3 
Scarica

Modello Relazionale