MODELLO RELAZIONALE Definizione Chiavi esterne Integrit Referenziale Forme
- Slides: 28
MODELLO RELAZIONALE Definizione Chiavi esterne Integrità Referenziale Forme normali
DEFINIZIONE Il modello relazionale si sviluppa durante la fase di progettazione logica. Esso viene ricavato dal modello ER trasformando le entità in tabelle e gli attributi di ogni entità in campi (colonne) della tabella. La chiave dell'entità diventa chiave primaria della tabella
Ad esempio consideriamo il seguente modello E-R IDPer sona IDCitt à Città Nome Cogn ome Residenti abita Cap Tel Nome
Il modello relazionale ricavato da questo modello ER è costituito da due tabelle: Città e Residenti che possono essere definite usando la seguente notazione breve: Città(IDCITTA’, NOME, CAP) Residenti(IDPERSONA, NOME, COGNOME, TEL, CODCIT TA’) In grassetto vengono segnate le chiavi primarie e in corsivo quelle esterne (il cui significato spiegheremo nelle slides successive)
CHIAVE ESTERNA Nel modello relazionale la relazione (detta anche associazione) tra due tabelle viene espressa mediante la chiave esterna Se le tabelle da relazionare si chiamano Tabella 1 e Tabella 2, la chiave esterna è un campo della Tabella 2 che può assumere per valori solo quelli della chiave primaria della Tabella 1
CHIAVE ESTERNA Esempio: Ritorniamo al nostro esempio precendete Città(IDCITTA’, NOME, CAP) Residenti(IDPERSONA, NOME, COGNOME, TEL, CODCITT A’) La relazione Città e Residenti è uno a molti, poiché in una città ci possono essere molte persone, ma una persona può risiedere solo in una città!
CHIAVE ESTERNA IDCITTA’ NOME CAP 01 Roma 80132 02 Napoli 80135 03 Firenze 81135 IDPERSONA NOME 1 Mario 2 Nicola COGNOME TEL CODCITTA’ Rossi 08114197249712 02 TABELLA CITTA’ Amore 0819237592 TABELLA REsidenti 01
CHIAVE ESTERNA Nella Tabella Anagrafe-Residenza il campo CODCITTA’ è la chiave esterna della relazione tra le due tabelle e può assumere solo e solamente i valori assunti dal campo IDCITTA’ che è chiave primaria della Tabella Città. Ovvero CODCITTA’ può assumere solamente i valori 01, 02, 03. Se l’utente gli assegnasse il valore 04 il DBMS gli segnalerebbe l’errore dal momento che è chiave esterna!
CHIAVE ESTERNA NB: se la relazione non è uno a molti, ma molti si costruisce una tabella ponte intermedia che contiene la sua chiave primaria e le due chiavi esterne di ENTRAMBE le tabelle
INTEGRITA’ REFERENZIALE L'integrità referenziale (referential integrity ) è un insieme di regole del modello relazionale che garantiscono l'integrità dei dati quando si hanno tabelle associate tra loro attraverso la chiave esterna. Queste regole servono per rendere valide le associazioni tra le tabelle e per eliminare gli errori di inserimento, cancellazione o modifica di dati collegati tra loro. E’ il DBMS che si occupa che l’integrità venga rispettata
INTEGRITA’ REFERENZIALE Ad esempio consideriamo il modello relazionale costituito dalle due seguenti tabelle: CLIENTI(Codice, Ragione sociale, Indirizzo) ORDINI(Num. Ordine, Data, Codice. Cliente) Tali tabelle sono collegate da una relazione una a molti che nel modello relazionale si esprime con la chiave esterna Codice. Cliente.
CLIENTI ORDINI INTEGRITA’ REFERENZIALE
INTEGRITA’ REFERENZIALE In modo più preciso quando viene applicata l'integrità referenziale, è necessario osservare le tre seguenti regole pratiche: 1. non è possibile un valore nella chiave esterna della tabella associata , se tale valore non esiste tra le chiavi della tabella primaria. Ad esempio nelle due tabelle successive il record evidenziato in rosso nelle seconda tabella non è consentito, poiché il cliente corrispondente non esiste.
CLIENTI ORDINI INTEGRITA’ REFERENZIALE
INTEGRITA’ REFERENZIALE 2. non è possibile eliminare un record (n-upla) della tabella primaria, se esistono righe legate ad essa attraverso la chiave esterna nella tabella correlata Ad esempio nelle due tabelle successive non è consentito eliminare il record evidenziato in verde nelle prima tabella, poiché in tal caso nella seconda resterebbe un codicecliente non collegato a nessun cliente!.
CLIENTI ORDINI INTEGRITA’ REFERENZIALE
INTEGRITA’ REFERENZIALE 3. inoltre non si può modificare, come è ovvio, il valore alla chiave nella tabella primaria se ad essa corrispondono righe nella tabella correlata. Ad esempio nelle due tabelle successive non è consentito modificare il codice del record evidenziato in verde nelle prima tabella, poiché in tal caso nella seconda resterebbe un codicecliente non collegato a nessun cliente!.
CLIENTI ORDINI INTEGRITA’ REFERENZIALE
LA NORMALIZZAZIONE DELLE RELAZIONI Nella definizione della struttura di una relazione (o tabella ) occorre evitare la ripetizione e la ridondanza dei dati, per non creare problemi di inconsistenza nelle operazioni di modifica o cancellazione di record Quindi a partire da una data tabella, vengono create altre tabelle, secondo un processo che viene indicato con il termine di normalizzazione
LA NORMALIZZAZIONE DELLE RELAZIONI Tale operazione avviene attraverso tre fasi successive che prendono il nome di riduzione a prima seconda e terza forma normale
LA NORMALIZZAZIONE DELLE RELAZIONI Prima forma normale Una relazione è in prima forma normale (1 FN) quando: 1. Tutte le righe della tabella contengono lo stesso numero di colonne; 1. Gli attributi rappresentano informazioni elementari; 1. I valori che compaiono in una colonna sono dello stesso tipo, cioè appartengono allo stesso dominio; 1. Ogni riga è diversa da tutte le altre, cioè non ci possono essere due righe con gli stessi valori nelle colonne; 1. L'ordine con il quale le righe compaiono nella tabella è irrilevante.
LA NORMALIZZAZIONE DELLE RELAZIONI Esempio di riduzione a prima forma normale Supponiamo di avere la tabella Dipendenti (Matricola, Nome, Indirizzo, Familiari. ACarico) Tale tabella non è nella prima forma normale in quanto l'attributo Familiari. ACarico non è elementare, essendo costituito da un gruppo di attributi ripetuti dello stesso tipo ( i nomi dei familiari).
LA NORMALIZZAZIONE DELLE RELAZIONI Per eliminare questo problema la tabella può essere opportunamente convertita in due tabelle: Dipendenti (Matricola, Nome, Indirizzo); Familiari (Codice. Fam, Nome. Fam, Matricola. Dip); Unite da una relazione una- a- molti mediante la chiave esterna Matricola. Dip
Dipendenti LA NORMALIZZAZIONE DELLE RELAZIONI Familiari
LA NORMALIZZAZIONE DELLE RELAZIONI Seconda forma normale Una relazione è in seconda forma normale (2 FN) quando: È in prima forma normale e se tutti gli attributi sono dipendenti dall’intera chiave primaria (essendo possibile che la chiave primaria sia composta) Ad esempio nella tabella successiva la chiave primaria è composta da Titolo. Libro, Editore, Anno. Edizione. Chiaramente l’attributo Indirizzo. Editore dipende da una parte della chiave (Editore)
LA NORMALIZZAZIONE DELLE RELAZIONI La tabella quindi è in prima forma normale, ma deve essere ridotta alla seconda forma. Questo può essere ottenuto scindendo tale tabella in due tabelle collegate da una relazione uno-a-molti rappresentata dalla chaive esterna Cod. Editore: Libri(Titolo. Libro, Anno. Edizione, Prezzo. Libro, Cod. Editore) Editori(Matricola. Ed, Editore, Indirizzo. Editore)
LA NORMALIZZAZIONE DELLE RELAZIONI Terza forma normale Una relazione è in terza forma normale (3 FN) se è in seconda forma normale e se tutti gli attributi che non sono chiavi candidate sono mutualmente indipendenti In questo caso è molto evidente che esiste un legame di dipendenza tra la regione in cui opera il rappresentante e la capitale della regione e che il database quindi non è in 3 FN
LA NORMALIZZAZIONE DELLE RELAZIONI . Per mettere il DB in 3 FN occorre scindere le due tabelle in due altre tabelle collegate da una relazione uno-a-molti rappresentata dalla chiave esterna IDRegione Rappresentanti(IDRappresentante, Nome, Indirizzo, IDRe gione) Regioni(IDRegione, Nome, Capoluogo)
- Modello relazionale informatica
- Modello sistemico relazionale servizio sociale
- La valutazione didattica
- Lamelle circonferenziali esterne
- Callo fibrocartilagineo
- Lamelle circonferenziali esterne
- Phrases affirmatives
- Esercizi algebra relazionale
- Esercizi algebra relazionale
- Join algebra relazionale
- Motivazione intrinseca
- Teloporto
- Algebra relazionale riassunto
- Valeur absolue
- Forma negativa francese frasi
- Strutture metriche
- Giubilando roca significato
- Transaksionet ne kontabilitet
- Ingredior coniugazione
- Giuseppe verdi romanticismo
- Relatness
- Forme del testo poetico
- Klasat e llogarive ne kontabilitet
- Forme normali
- Turnarea in forme temporare
- Forme di autofinanziamento
- Rima alternata esempio
- Cel care transmite mesajul intr-un dialog este
- Les solides compacts ont une forme propre