La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

© 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 UdA 1A Database Progettazione Logica G IORGIO P ORCU www.thegiorgio.it.

Presentazioni simili


Presentazione sul tema: "© 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 UdA 1A Database Progettazione Logica G IORGIO P ORCU www.thegiorgio.it."— Transcript della presentazione:

1 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 UdA 1A Database Progettazione Logica G IORGIO P ORCU

2 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica Sommario 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) 2

3 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database 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) 3

4 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica Tabella, Campi, Record 4 Tabella Struttura per memorizzare dati. E’ costituita da:  Colonne o Campi  Righe o Record ed è identificata da un Nome CodiceFiscaleCognomeNomeCittà RSSMRO97D11C441RRossiMarioRoma RSSMRO98Y17C332LRossiMarioMilano BNCLRA96A61B333CBianchiLauraFirenze Persona

5 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica Tabella come Relazione 5 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. CodiceFiscaleCognomeNomeCittà RSSMRO97D11C441RRossiMarioRoma RSSMRO98Y17C332LRossiMarioMilano BNCLRA96A61B333CBianchiLauraFirenze Persona Relazione tra Campi Tabella

6 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica Schema Logico Relazionale (1) 6 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 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica Schema Logico Relazionale (2) 7 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 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica Schema Logico Relazionale (3) 8 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 CampoPKCampo1Campo2CampoFK Tabella1 CampoPKCampo1Campo2CampoFKTabella2 FK PK FK

9 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica Chiave Esterna 9 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 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica Chiave Esterna: Esempio 10 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 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica Chiave Esterna: Significato 11 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. NumeroSettoreCodFiscale 13DBNCMRO72F24Z111S 54ARSSNNA68B47E321I Posto CodFiscaleNomeCognome BNCMRO72F24Z111SMarioBianchi RSSNNA68B47E321IAnnaRossi VRDCRL41E12C707UCarloVerdi Spettatore

12 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica 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 12

13 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica 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 Passaggio Concettuale  Logico 13

14 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica CodFiscaleNomeCognome LZTKWM61B14Y761RKawimoLezeete Cittadino NomeCodFiscaleCognome Campo Record Cittadino Concettuale  Logico (Tabella) 14 Cittadino (CodFiscale, Nome, Cognome)

15 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica 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 PostoSpettatore Occupare 11 NomeCodFiscaleCognome SettoreNumero da collegare! 15

16 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica 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 Concettuale  Logico (1:1) 16

17 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica 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) PostoSpettatore Occupare 11 Cognome CodFiscale SettoreNumero Nome Concettuale  Logico (1:1) 17

18 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica 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 Cittadino Residenza Risiede N1 Nome CodFiscale Cognome IndirizzoIDResidenza Civico Città da collegare! Concettuale  Logico (1:N) 18

19 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica 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) Cittadino Residenza Risiede N1 IDResidenza CodFiscaleIDResidenza copia su copia parte 1 parte N FK Concettuale  Logico (1:N) 19

20 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica Esercizio 1 Trasforma in Modello relazionale la seguente relazione Persona-Automobile: PersonaAutomobile Possiede 1N NomeCodFiscaleCognomeMatricolaMarcaModello AnnoImm 20

21 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica Esercizio 1 > Soluzione Persona (CodFiscale, Nome, Cognome) Automobil e(Matricola, CodFiscale, Marca, Modello) PersonaAutomobile Possiede 1N NomeCodFiscaleCognomeMatricolaMarcaModello CodFiscale FK copia 21

22 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica 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) Denominazione IDCorso DocenteNomeMatricolaCognome Città da collegare! StudenteCorso Frequenta NN Concettuale  Logico (N:N) 22

23 © 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 Database Progettazione Logica 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) Corso Studente StudenteCorso PK, FK Concettuale  Logico (N:N) 23 PK, FK Nuova Tabella intermedia


Scaricare ppt "© 2015 Giorgio Porcu - Aggiornamennto 11/04/2015 UdA 1A Database Progettazione Logica G IORGIO P ORCU www.thegiorgio.it."

Presentazioni simili


Annunci Google