La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Database Progettazione Logica

Presentazioni simili


Presentazione sul tema: "Database Progettazione Logica"— Transcript della presentazione:

1 Database Progettazione Logica
Giorgio Porcu

2 Sommario Progettazione Logica Schema Logico Relazionale
Tabella, Campi, Record Chiave Esterna Passaggio Concettuale  Logico Concettuale  Logico (Tabella) Concettuale  Logico (1:1) Concettuale  Logico (1:N) Concettuale  Logico (N:N)

3 Progettazione Logica Consiste nel trasformare il Diagramma E-R, realizzato nella fase di progettazione concettuale, in uno Schema Logico relazionale costituito da Tabelle correlate da Relazioni Lo Schema Logico utilizza come concetti fondamentali: Tabella Relazione Chiave Primaria (PK, Primary Key) Chiave Esterna (FK, Foreign Key)

4 Tabella, Campi, Record ed è identificata da un Nome Tabella
Struttura per memorizzare dati. E’ costituita da: Colonne o Campi Righe o Record ed è identificata da un Nome Persona CodiceFiscale Cognome Nome Città RSSMRO97D11C441R Rossi Mario Roma RSSMRO98Y17C332L Milano BNCLRA96A61B333C Bianchi Laura Firenze

5 Tabella come Relazione
Nel modello Relazionale, la Tabella è detta anche Relazione poiché correla i dati di vari Campi. Utilizzeremo per chiarezza e semplicità il nome Tabella di uso più comune. Relazione tra Campi Persona Tabella CodiceFiscale Cognome Nome Città RSSMRO97D11C441R Rossi Mario Roma RSSMRO98Y17C332L Milano BNCLRA96A61B333C Bianchi Laura Firenze

6 Schema Logico Relazionale (1)
Schema grafico che descrive la struttura del database in forma simile alla sua realizzazione pratica su computer. E’ un elenco di Tabelle, costituite ciascuna una serie di Campi, tra cui: Almeno una Chiave Primaria (PK) Opzionalmente, una o più Chiavi Esterne (FK) I campi Chiave Esterna consentono di mettere in Relazione logica le tabelle.

7 Schema Logico Relazionale (2)
In forma elencativa è un elenco di Tabelle, espresse come di seguito: Tabella1(CampoPK, Campo1, Campo2, …, CampoFK) Tabella2(CampoPK, Campo1, Campo2, …, CampoFK) Per ogni Campo delle Tabelle può essere indicato inoltre il Tipo di dato: CampoPK (PK): Numerico Campo1: Testo Campo2: Data CampoFK (FK): Numerico

8 Schema Logico Relazionale (3)
Può essere espresso in modo equivalente in forma grafica come insieme di Tabelle correlate da PK e FK: Anche in questo caso per ogni Campo delle Tabelle può essere indicato il Tipo di dato Tabella1 Tabella2 CampoPK Campo1 Campo2 CampoFK CampoPK Campo1 Campo2 CampoFK PK FK PK FK

9 Chiave Esterna Campo di una Tabella con valori comuni al campo Chiave Primaria di un’altra Tabella. Si dice anche Foreign Key (in breve: FK). Se la Tabella A ha una FK con valori comuni alla PK di una Tabella B, le Tabelle A e B sono in relazione logica tra loro. Il concetto di Chiave Esterna realizza su Schema Logico le Relazioni (Associazioni) espresse nel Diagramma E-R.

10 Chiave Esterna: Esempio
Nell’esempio seguente: Posto(Numero, Settore, CodFiscale) Spettatore(CodFiscale, Nome, Cognome) il campo CodFiscale è FK della tabella Posto e ha valori comuni alla PK CodFiscale della tabella Spettatore cui è correlato. Ciò significa che le tabelle Posto e Spettatore sono in relazione tra loro.

11 Chiave Esterna: Significato
Nell’esempio precedente: Posto(Numero, Settore, CodFiscale) Spettatore(CodFiscale, Nome, Cognome) i valori del campo CodFiscale (FK) della tabella Posto devono essere comuni, ovvero già presenti nel campo correlato CodFiscale (PK) della tabella Spettatore. Spettatore Posto CodFiscale Nome Cognome BNCMRO72F24Z111S Mario Bianchi RSSNNA68B47E321I Anna Rossi VRDCRL41E12C707U Carlo Verdi Numero Settore CodFiscale 13 D BNCMRO72F24Z111S 54 A RSSNNA68B47E321I

12 Passaggio Concettuale  Logico
Le idee di base da applicare per passare dallo Schema concettuale a quello Logico sono: Ogni Entità diventa una Tabella e i suoi attributi ne diventano i campi (colonne) Le Relazioni tra Entità diventano Relazioni tra Tabelle. Si realizzano copiando la Chiave primaria di una di esse come attributo sull’altra, creando così una Chiave esterna Le Istanze di Entità diventano Record di Tabella

13 Passaggio Concettuale  Logico
Pur valendo in generale le considerazioni fatte prima, esistono regole di passaggio tra diagramma E-R e schema logico che variano a seconda della cardinalità della relazione: Singola Tabella Relazioni 1:1 Relazioni 1:N Relazioni N:N

14 Concettuale  Logico (Tabella)
CodFiscale Nome Cognome Cittadino(CodFiscale, Nome, Cognome) Cittadino Cittadino CodFiscale Nome Cognome LZTKWM61B14Y761R Kawimo Lezeete Record Campo

15 Concettuale  Logico (1:1)
Consideriamo la relazione 1:1 Posto-Spettatore: nel modello relazionale diviene una relazione tra due tabelle: Posto(Numero, Settore) Spettatore(CodFiscale, Nome, Cognome) da collegare col concetto di chiave esterna CodFiscale Nome Cognome Numero Settore Occupare Posto 1 1 Spettatore da collegare!

16 Concettuale  Logico (1:1)
Per esprimere la relazione 1:1 copio a scelta una delle chiavi primarie da una tabella nell’altra come chiave esterna: Posto(Numero, Settore, CodFiscale) Spettatore(CodFiscale, Nome, Cognome) oppure: Posto(Numero, Settore) Spettatore(CodFiscale, Nome, Cognome, Numero) Chiavi esterne copia copia

17 Concettuale  Logico (1:1)
In alternativa una relazione 1:1 può diventare un’unica tabella con chiave primaria scelta tra quelle delle entità iniziali e come campi tutti i loro attributi: Posto(Numero, Settore, CodFiscale, Nome, Cognome) oppure: Spettatore(CodFiscale, Nome, Cognome, Numero, Settore) Nome Numero Settore Cognome CodFiscale Posto 1 Occupare 1 Spettatore

18 Concettuale  Logico (1:N)
Consideriamo la relazione 1:N Residenza-Cittadino: Nello schema relazionale diviene una relazione tra due tabelle: Residenza(IDresidenza, Indirizzo, Civico, Città) Cittadino(CodFiscale, Nome, Cognome) da collegare col concetto di chiave esterna Nome Cognome IDResidenza Indirizzo Civico CodFiscale Città Risiede 1 N Cittadino Residenza da collegare!

19 Concettuale  Logico (1:N)
Per esprimere la relazione 1:N copio la chiave primaria dalla tabella di parte 1 nella tabella di parte N come chiave esterna: Residenza(IDresidenza, Indirizzo, Civico, Città) Cittadino(CodFiscale, Nome, Cognome, IDResidenza) parte 1 copia su parte N FK copia CodFiscale IDResidenza IDResidenza Risiede 1 N Cittadino Residenza

20 Esercizio 1 Trasforma in Modello relazionale la seguente relazione Persona-Automobile: CodFiscale Nome Cognome Matricola Marca Modello 1 Possiede N Persona Automobile AnnoImm

21 Esercizio 1 > Soluzione
Persona(CodFiscale, Nome, Cognome) Automobile(Matricola, CodFiscale, Marca, Modello) FK CodFiscale Nome Cognome Matricola Marca Modello 1 Possiede N Persona Automobile copia CodFiscale

22 Concettuale  Logico (N:N)
Consideriamo la relazione N:N Studente-Corso: Non è sufficiente stavolta, come nel caso 1:N, trasformarla in una relazione tra due tabelle da collegare con chiave esterna: Studente(Matricola, Nome, Cognome, Città) Corso(IDCorso, Denominazione, Docente) Matricola Nome Cognome Denominazione Docente Città IDCorso Frequenta Studente N N Corso da collegare!

23 Concettuale  Logico (N:N)
Per esprimere la relazione N:N creo una nuova tabella intermedia dove copio le due chiavi primarie dalle tabelle iniziali che diventano sia chiavi primarie che chiavi esterne: Studente(Matricola, Nome, Cognome, Città) StudenteCorso(Matricola, IDCorso) Corso(IDCorso, Denominazione, Docente) Nuova Tabella intermedia PK, FK PK, FK Studente StudenteCorso Corso


Scaricare ppt "Database Progettazione Logica"

Presentazioni simili


Annunci Google