Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C. Batini 3.2. Il modello relazionale Definizioni base Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Struttura non posizionale A ciascun dominio si associa un nome (attributo), che ne descrive il "ruolo" RetiCasa RetiFuori Casa Fuori 3 2 1 Juve Lazio Roma Milan Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Relazioni (o Tabelle) Una relazione (o tabella) nel modello relazionale rappresenta una relazione (in matematica) in cui: i valori di ogni colonna (attributo) sono fra loro omogenei (es. Juve, Lazio, ecc.) le righe (n-ple o tuple) sono diverse fra loro le intestazioni delle colonne (nomi di attributi) sono diverse tra loro In una relazione nel modello relazionale: l’ordinamento tra le righe è irrilevante l’ordinamento tra le colonne è irrilevante Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Domanda 3.2.1 Vogliamo rappresentare con tre relazioni gli studenti Rossi Mario, Neri Paolo, Verdi Luisa, Rossi Maria, con matricola, nome, cognome, data nascita, tutti gli esami superati, con voto, e per i corsi corrispondenti il titolo e il docente. Prova a disegnare tre relazioni che rispettino le precedenti specifiche, associando agli studenti e corsi un codice identificativo e scegliendo valori opportuni per i vari attributi diversi da nome e cognome, che sono stati esemplificati in precedenza. Di quanti attributi hai avuto bisogno in tutto? Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Possibile soluzione Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 Studenti Studente Voto Corso 3456 30 04 24 02 9283 28 01 Esami 6554 26 Nota il ripetersi dei valori nelle tabelle Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Verdi Corsi 10 attributi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Domanda 3.2.2 Quanti esami ha superato la studentessa Maria Rossi? Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 Studenti Studente Voto Corso 3456 30 04 24 02 9283 28 01 Esami 6554 26 Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Verdi Corsi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Risposta 2 Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 Studenti Per rispondere hai anzitutto cercato Maria Rossi nella prima relazione, poi, sulla base del valore del suo numero di matricola hai cercato quante n-ple con quel numero compaiono nella tabella Esami. Studente Voto Corso 3456 30 04 24 02 9283 28 01 Esami 6554 26 Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Verdi Corsi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Domanda 3.2.3 Nota come i valori si ripetano nelle diverse n-ple Vogliamo rappresentare: Rossi che ha 20 anni Il corso di Basi dati 1 che ha 100 studenti Il fatto che Rossi abbia superato Basi di dati 1 con 30 Rossi 20 Basi di dati 1 100 Rossi Basi Dati 1 30 Nota come i valori si ripetano nelle diverse n-ple Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Osservazione importante: Il modello relazionale è basato su valori I riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle ennuple R1 R2 R3 Rossi 20 Basi di dati 1 100 Rossi Basi Dati 1 30 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 studenti esami Studente Voto Corso 3456 30 04 3456 24 02 9283 28 01 6554 26 01 Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Verdi corsi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 studenti esami Studente Voto Corso 30 24 28 26 Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Verdi corsi Riferimenti tra valori nell’esempio Studenti-Esami- Corsi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Vantaggi della struttura basata su valori l’utente finale vede gli stessi dati dei programmatori, che sono appunto costituiti dalle tabelle indipendenza della rappresentazione dalle strutture fisiche (ad es. indirizzi di memoria), che possono cambiare dinamicamente i dati sono portabili piu' facilmente da un sistema ad un altro, perche‘ non dipendono dalle caratteristiche fisiche Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Definizioni rilevanti nel modello relazionale Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Concetti che vengono definiti nel seguito Schema di relazione Schema di base di dati N-pla (o ennupla) Istanza di relazione Istanza di base di dati Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Schema di relazione e di base di dati un nome R con un insieme di attributi A1, ..., An: R(A1,..., An) 2. Schema di base di dati: insieme di schemi di relazione: R = {R1(X1), ..., Rk(Xk)} Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esempio di schema di relazione Esame (Matricola Studente, Codice Corso, Voto, Data) Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Esempio di schema di base di dati che descrive persone, loro comuni di nascita e loro occupazioni Persona (Codice Fiscale, Nome, Cognome, Comune di Nascita, Data di Nascita) Comune (Nome Comune, Provincia, Regione) Occupazione (Codice Fiscale, Tipo di Occupazione, Data Inizio, Data Fine) Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Esercizio 3.2.1 Sulla base di una comprensione intutiva dello schema di base di dati della pagina precedente, fornisci una sua descrizione in linguaggio naturale. Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill 3. Ennupla Una ennupla (o n-pla) su un insieme di attributi X è una funzione che associa a ciascun attributo A in X un valore del dominio di A Esempio Codice:01 Titolo:Analisi Docente:Rossi Il simbolo t[A] denota il valore della ennupla t sull'attributo A Esempio t[Codice] per la ennupla sopra e‘ 01 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esempi di n-pla e di singolo valore Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 studenti Codice Titolo Docente 01 Analisi 02 Chimica Bruni 04 corsi Studente Voto Corso 30 24 28 esami 26 n-pla t t[voto] Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill 4. Istanza di relazione Istanza di relazione (o relazione) su uno schema R(X): insieme r di ennuple su X 01 Analisi Mario 02 Chimica Bruni 04 Verdi Corsi Esempio Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill 5. Istanza di base di dati Istanza di base di dati (o base di dati) su uno schema R= {R1(X1), ..., Rn(Xn): insieme di relazioni r = {r1,..., rn} (con ri relazione su Ri) 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 01 Analisi 02 Chimica Bruni 04 30 24 28 26 Studenti Esami Corsi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Due parole sinonime Nel seguito, nell’ambito del modello relazionale, useremo il termine tabella come sinonimo di relazione Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Esercizio 3.2.2 Svolgi l’esercizio 2.2 del testo di riferimento Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Concetti introdotti Relazione (o Tabella) Attributo Modello basato sui valori Schema di relazione Schema di base di dati Ennupla Istanza di relazione Istanza di base di dati Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill