La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

DB - Modello Relazionale 1 DB - Modello relazionale dei dati.

Presentazioni simili


Presentazione sul tema: "DB - Modello Relazionale 1 DB - Modello relazionale dei dati."— Transcript della presentazione:

1 DB - Modello Relazionale 1 DB - Modello relazionale dei dati

2 DB - Modello Relazionale2 Definizione Un modello dei dati è un insieme di meccanismi di astrazione per definire una base di dati, con associato un insieme predefinito di operatori e di vincoli di integrità. Questi meccanismi di astrazione costituiscono lequivalente delle strutture dati nella programmazione.

3 DB - Modello Relazionale3 Modelli di dati Alcuni modelli: Gerarchico Reticolare Relazionale I modelli reticolare e gerarchico rispecchiano (in qualche modo) larchitettura fisica dei dati Il relazionale e basato solo sul valore dei dati Recentemente: modello a oggetti

4 DB - Modello Relazionale4 Caratteristiche di un buon modello Espressività: permette di rappresentare in modo semplice e naturale i dati e le loro proprietà. Semplicità: basato su un numero minimo di meccanismi semplici da utilizzare e capire. Realizzabilità: deve essere realizzabile in modo efficiente su di un calcolatore.

5 DB - Modello Relazionale5 Il modello relazionale dei dati Introdotto da Codd nel 1970 Implementa bene il concetto di indipendenza dei dati Oggi e di gran lunga il modello dei dati più diffuso Implementato nei DBMS commerciali dal 1981 E basato sul concetto matematico di RELAZIONE

6 DB - Modello Relazionale6 Relazioni Una Relazione n-aria è un sottoinsieme del prodotto cartesiano D 1 X D 2 X... D n di insiemi di valori di tipo elementare detti domini. Ogni elemento si chiama n-upla (o tupla)

7 DB - Modello Relazionale7 Schema di relazione Uno schema di relazione R : {T} e una coppia formata dal nome di una relazione R e da un tipo relazione T

8 DB - Modello Relazionale8 Definizione Tipo Relazione Interi,Reali,Booleani,Stringhe sono tipi primitivi; se T 1, T 2, …, T n sono tipi primitivi e A 1, A 2, …, A n sono etichette, dette attributi, allora (A 1 :T 1, A 2 :T 2, …, A n :T n ) e un tipo n-upla di grado n (lordine non è significativo). se T è un tipo n-upla allora {T} e un tipo relazione (tipo insieme di n-uple)

9 DB - Modello Relazionale9 Schemi Relazionali Uno Schema Relazionale è costituito da un insieme di schemi di relazione R i : {T i }, i=1, 2,…, k e da un insieme di vincoli di integrità relativi a tali schemi. Costituisce laspetto intensionale del dato modello relazionale dei dati.

10 DB - Modello Relazionale10 Aspetto estensionale Una n-upla t=(A 1 := v 1, A 2 := v 2,…, A n := v n ) di tipo (A 1 :T 1, A 2 :T 2, …, A n :T n ) è un insieme di coppie (A i, v i ) con v i di tipo T i. Una Relazione R di tipo {(A 1 :T 1, A 2 :T 2, …, A n :T n )} è un insieme finito di n-uple di tipo (A 1 :T 1, A 2 :T 2, …, A n :T n ). La cardinalita di una relazione e il numero di n-uple

11 DB - Modello Relazionale11 Esempio di relazione E una relazione di tipo {(Nome : char, Matricola : int,Indirizzo : char, Telefono :int )} e ciascuna riga è una n-upla della relazione.

12 DB - Modello Relazionale12 Esempio di schema relazionale { Studenti : { (Nome : char, Matricola : int(6),Indirizzo : char, Telefono :int(6) ) } Esami : { (Corso : char, Matricola : int(6),Voto: {18,19,…,30} } Corsi : { (Corso:char, Professore:char) } } Che si abbrevia (se non interessa riportare il tipo degli attributi) in: Studenti( Nome, Matricola, Indirizzo, Telefono); Esami( Corso, Matricola,Voto); Corsi( Corso, Professore);

13 DB - Modello Relazionale13 Dominio di un attributo dom(A i ) e linsieme dei possibili valori dellattributo A i ad esempio nella tabella Studenti(Corso,Matricola,Voto), dom(Voto) = {18,19,…,30}

14 DB - Modello Relazionale14 Vincoli di integrità I vincoli di integrita servono a migliorare la qualita delle informazioni contenute nella base di dati Un vincolo e un predicato che devessere soddisfatto da ogni n-upla nella base di dati Unistanza valida di uno schema di relazione è una relazione dello schema che soddisfa tutti i vincoli di integrità.

15 DB - Modello Relazionale15 Esempio di vincoli dintegrita Il voto devessere compreso tra 18 e 30 La lode puo apparire solo se voto=30 Ogni studente deve avere un numero di matricola Il numero di matricola di uno studente devessere univoco Esami dati devono fare riferimento solo a corsi offerti

16 DB - Modello Relazionale16 Vincoli dintegrita I tre tipi piu importanti specificano: Quali attributi non possono assumere il valore NULL Quali attributi sono chiave Quali attributi sono chiavi esterne

17 DB - Modello Relazionale17 Mancanza di informazione Il modello relazionale impone una struttura rigida ai dati, in quanto: Linformazione viene rappresentata per mezzo di n-uple Le n-uple hanno uno schema ben definito Come rappresentare quindi, ad esempio, il fatto che di uno studente non si conosce il numero di cellulare? Usanza comune: Usare valori non utilizzati (es. 0 per eta studente) Problemi: Possono non esserci valori inutilizzati Il valore inutilizzato puo diventare utile In alcuni casi bisogna ricordarsi di distinguere i valori reali dei riempiposto, esempio: media delleta degli studenti (se rappresentiamo il fatto di non conoscere leta dello studente con 0)

18 DB - Modello Relazionale18 Valori nulli (NULL) Il modello relazionale include il NULL value come tecnica per modellare la mancanza di informazione NULL non fa parte del dominio dellattributo Quando si da ad un attributo la possibilità di avere valore null, si ammette che quellattributo in qualche n-upla può rimanere non specificato e/o venire assegnato in un secondo momento Il valore NULL per un certo attributo puo indicare: Il valore non ce; Il valore ce ma non lo si conosce al momento; Non si sa se il valore ce; I DBMS non modellano il perche manca il dato, si limitano a denotarne la sua mancanza

19 DB - Modello Relazionale19 Esempio di valori nulli

20 DB - Modello Relazionale20 Chiavi Superchiave X di uno schema di relazione è un insieme di attributi dello schema tale che in ogni istanza dello schema se due n-uple coincidono su X allora sono uguali. Chiave è una superchiave minimale rispetto alla relazione. Chiave Primaria è una delle chiavi scelta per un dato schema.

21 DB - Modello Relazionale21 Esempi di chiavi {Nome,Matricola} è una superchiave ma non è una chiave, infatti {Matricola} è una chiave e si sceglie anche come primaria per accedere ai vari record {Indirizzo} non è superchiave

22 DB - Modello Relazionale22 Chiavi esterne Un insieme di attributi {A 1, A 2, …, A n } di uno schema di relazione R è una chiave esterna che riferisce una chiave primaria {B 1, B 2, …, B n } di un altro schema S se in ogni istanza valida della base di dati, per ogni n-upla r dellistanza di R esiste una n- upla s (riferita da r) dellistanza di S tale che r.A i = s.B i...

23 DB - Modello Relazionale23 Esempio chiave esterna Una chiave esterna associa a certe n-uple della relazione r (quelle aventi la stessa chiave esterna) una ben determinata n- upla della relazione s a cui si riferisce determinata dai valori della chiave primaria(cioè della chiave esterna) Cosi {Matricola} per Esami e chiave esterna che si riferisce a Studenti Esami Studenti


Scaricare ppt "DB - Modello Relazionale 1 DB - Modello relazionale dei dati."

Presentazioni simili


Annunci Google