Il modello relazionale dei dati e stato introdotto da Codd. nel 1970 (E.F. Codd, \A relational model of data for large



Documenti analoghi
Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970.

MODELLO RELAZIONALE. Introduzione

Il Modello Relazionale

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Modello Relazionale. Architettura a tre livelli di un DBMS

Vincoli di integrità

Il Modello Relazionale

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Il modello relazionale

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

BASE DI DATI: sicurezza. Informatica febbraio ASA

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

IL MODELLO RELAZIONALE

Elena Baralis 2013 Politecnico di Torino 1

Modulo 2 Data Base 2

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

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

Partite string string int int. Perché studiare il Modello Relazionale? Capitolo 2. Relazione: tre accezioni. Basi di dati relazionali: definizioni

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Progettazione di Basi di Dati

Organizzazione degli archivi

Il Modello Relazionale

Data Base Relazionali

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap

Lezione V. Aula Multimediale - sabato 29/03/2008

LE FUNZIONI A DUE VARIABILI

FORME NORMALI E DIPENDENZE

Il modello relazionale dei dati

Basi di dati 9 febbraio 2010 Compito A

Informatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi

LA NORMALIZZAZIONE. Introduzione

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Il modello relazionale

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione

Basi di Dati e Microsoft Access

Linguaggio SQL. Structured Query Language

Rappresentazione grafica di entità e attributi

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Teoria degli insiemi

Informatica (Basi di Dati)

Basi di Dati e Sistemi Informativi. Algebra Relazionale

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Definizione di domini

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

Unità C1 Modello logico

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

database: modello entityrelationship

1. PRIME PROPRIETÀ 2

RELAZIONI BINARIE. Proprietà delle relazioni Data una relazione R, definita in un insieme non vuoto U, si hanno le seguenti proprietà :

BASI DI DATI DIPENDENZE FUNZIONALI E FORME NORMALI

Raffinamento dello schema e forme normali. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Progettazione di Database. Un Esempio

Gli operatori relazionali

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

Decomposizione senza perdita. Decomposizione senza perdita. Conservazione delle dipendenze. Conservazione delle dipendenze

Introduzione all Algebra Relazionale

Alcune nozioni di base di Logica Matematica

Esercizio data base "Biblioteca"

MODELLO E/R. Modellazione dei dati

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia

DIP. FUNZIONALI E FORME NORMALI esempi cfr. Albano Ghelli Orsini Basi di dati relazionali e a oggetti Zanichelli, 1997, cap.6 RIDONDANZE E ANOMALIE

Modello Relazionale. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni

Schema della base di dati del Catalogo dei Dati della Pubblica Amministrazione Renzo Orsini

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 5

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

STRUTTURE ALGEBRICHE

Archivi e Basi di Dati

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

ALGEBRA DELLE PROPOSIZIONI

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

IL SISTEMA INFORMATIVO

BASI DI DATI - : I modelli di database

Basi di dati. Gabriella Trucco

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

70555 Informatica Sicurezza Mario Rossi Anna Bianchi. Esempio istanza:

MAX, SUM, AVG, COUNT)

Operazioni sui database

Il Modello Relazionale (1)

DBMS (Data Base Management System)

Corrispondenze e funzioni

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

Corso sul linguaggio SQL

Lezione 4. Modello EER

Corso di Informatica (Basi di Dati)

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Il modello Entity-Relationship: elementi di base

b) Costruire direttamente le relazioni e poi correggere quelle che presentano anomalie

Basi di Dati: Corso di laboratorio

Basi di dati. Le funzionalità del sistema non vanno però ignorate

x (x i ) (x 1, x 2, x 3 ) dx 1 + f x 2 dx 2 + f x 3 dx i x i

Capitolo 2. Esercizio 2.1. Esercizio 2.2

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini

Transcript:

Modello Relazionale Il modello relazionale dei dati e stato introdotto da Codd nel 1970 (E.F. Codd, \A relational model of data for large shared data banks", Comm. of the ACM, 1970) ed e basato sul concetto matematico di relazione. Dominio : insieme di valori D = fv 1 ;v 2 ;:::;v k g Tupla : Dati n domini D 1 ;D 2 ;:::;D n, non necessariamente distinti una ennupla (tupla) ordinata e denita come t =(v 1 ;v 2 ;:::;v n );v i 2 D i ; 81 i n Prodotto Cartesiano : Il prodotto cartesiano di n domini D 1 ;D 2 ;:::;D n, non necessariamente distinti, indicato con D 1 D 2 :::D n, e l'insieme di tutte le tuple t su D 1 ;D 2 ;:::;D n. Relazione : Una relazione R su n domini D 1 ;D 2 ;:::;D n, non necessariamente distinti, e un sottoinsieme del prodotto cartesiano D 1 D 2 ::: D n : R D 1 D 2 ::: D n Il valore di n viene chiamato Grado della relazione 1

Il numero di tuple viene chiamata Cardinalita della relazione Esempi : D 1 = fv 11 ;v 12 g D 2 = fv 21 ;v 22 ;v 23 g D 1 D 2 = f(v 11 ;v 21 ); (v 11 ;v 22 ); (v 11 ;v 23 ); v 12 ;v 21 ); (v 12 ;v 22 ); (v 12 ;v 23 )g R 1 = f(v 11 ;v 21 ); (v 11 ;v 22 )g R 2 = fg R 3 = f(v 11 ;v 21 ); (v 11 ;v 22 ); (v 12 ;v 21 ); (v 12 ;v 22 )g Rappresentazione di relazioni : Una relazione viene rappresentata generalmente tramite una tabella con un numero di righe pari alla cardinalita e un numero di colonne pari al grado R 3 v 11 v 21 v 11 v 22 v 12 v 21 v 12 v 22 2

Schema ed Istanza Attributo : Nome dato ad un dominio in una relazione si ottiene l'indipendenza dall'ordinamento dei domini si attribuisce signicato ai valori del dominio Schema di relazione : Uno schema di relazione e una coppia costituita dal nome della relazione R e da un insieme di nomi degli attributi X =(A 1 ;A 2 ;:::;A n ), indicato con R(X). Dato uno schema R(X) si dice anche che lo schema della relazione R e X. } I nomi degli attributi A i devono essere tutti diversi. Istanza di relazione : Una istanza di relazione o relazione su uno schema R(A 1 ;A 2 ;:::;A n ) e un insieme r di tuple su (A 1 ;A 2 ;:::;A n ) 3

Schema di base di dati : E un insieme di schemi di relazioni R = fr 1 (X 1 );R 2 (X 2 );:::;R n (X n )g Tutti i nomi di relazione R i devono essere dierenti. Istanza di base di dati : Dato uno schema di base di dati R = fr 1 (X 1 );R 2 (X 2 );:::;R n (X n )g, una istanza su R e un insieme di relazioni r = fr 1 ;r 2 ;:::;r n g; dove r i e una relazione su R i ; 81 i n } Dierenza tra tabella (usata nei DMBS) e relazione Righe duplicate vs tuple distinte Notazione : } Insieme di attributi : Un insieme di attributi Y dello schema R(X), cioe Y X, puo essere denotato anche con R:Y A denota fag, XY denota fxg[fy g, } Tuple : Data una tupla t su R(X), un attributo A 2 X e un sottoinsieme Y X t[a], oppure t:a, denota il valore di t su A t[y ], denota la sottotupla di t ottenuta considerando i valori degli attributi in Y 4

Esempio Schema di base di dati : DB UNIVERSITA = f STUDENTE(MATR, NOME, CITTA, ACORSO) CORSO(CODICE, NOME, CODDOC) DOCENTE(CODICE, CF, CITTA) FREQUENZA(MATR, CODCOR) g Istanza di base di dati : STUDENTE MATR NOME CITTA ACORSO M1 Marco Quaranta SA 1 M2 Giacomo Tedesco PA 2 M3 Maria Mei BO 1 M4 Ugo Rossi MO 2 M5 Sara Neri MO 2 M6 Agata Verdi MI 1 CORSO CODICE NOME CODDOC C1 Fisica 1 D1 C2 Analisi Matematica 1 D2 C3 Fisica 2 D1 C4 Analisi Matematica 2 D2 C5 Meccanica Razionale D4 5

DOCENTE CODICE CF CITTA D1 CF1 MO D2 CF2 BO D3 CF3 MO D4 CF4 FI FREQUENZA MATR M1 M1 M2 M2 M3 M3 M3 M3 CODCOR C1 C3 C1 C2 C1 C2 C3 C4 6

Chiavi } Informalmente, per chiave di una relazione si intende un sottoinsieme dei suoi attributi che identica unicamente ogni tupla della relazione stessa. } Dato uno schema di relazione R(X), un sottoinsieme di attributi K X e detto chiave dello schema di relazione R(X) se e solo se per ogni relazione r su R(X) valgono le seguenti proprieta: 1. Univocita : 8t 1 ;t 2 2 r;k[t 1 ]=K[t 2 ]=) t 1 t 2 cioe, non esistono due tuple distinte di r con lo stesso valore della chiave 2. Minimalita : 8A i 2 K; K, A i non verica la proprieta 1. cioe, non esiste un sottoinsieme proprio di K con la proprieta di univocita. } Un insieme di attributi Y X che contiene in modo stretto una chiave K, Y K, e detto superchiave dello schema di relazione R(X). In altri termini, una superchiave soddisfa solo la proprieta 1. di Univocita. 7

} Per ogni schema di relazione R(X), l'insieme X e una superchiave in quanto una relazione, essendo un insieme, contiene tuple distinte. Quindi, ogni schema di relazione R(X) ha almeno una chiave. } Uno schema R(X) puo avere piu chiavi dette chiavi candidate Tra le chiavi candidate ne viene scelta una detta chiave primaria Le rimanenti chiavi vengono dette chiavi alternative Notazione : } La chiave primaria di uno schema R(X) si indica sottolineando gli attributi che la compongono: R(K 1 ;K 2 ;:::;K m ;A 2 ;:::;A n ) } Una chiave alternativa di uno schema R(X) e riportata di seguito allo schema, contraddistinta dalla parola chiave AK: R(X) AK: K 1 ;:::K m Esempio : DOCENTE (CODICE, CF, CITTA) AK: CF 8

Valori nulli e Vincolo di Entity Integrity Valori nulli : Ogni dominio di relazione viene esteso con un particolare valore, detto valore nullo e denotato con null, che rappresenta assenza di informazione. In questo modo e possibile introdurre nelle relazioni anche tuple in cui il valore di uno o piu attributi non e disponibile. } Ad esempio, con riferimento allo schema di relazione DOCENTE (CODICE, CF, NOME, CITTA DI NASCITA) si possono elencare vari casi in cui si deve inserire nella relazione DOCENTE una tupla il cui valore di un attributo non e disponibile: CITTA DI NASCITA del docente e sconosciuto il CF non e previsto per docenti di determinati paesi... } Il gruppo di standardizzazione ANSI (American National Standard Institute) ha specicato 14 diverse interpretazione per il valore null. } Nei sistemi relazionali e possibile specicare se un attributo puo o meno assumere il valore null. Vincoli di Integrita : I vincoli (o regole) di integrita stabiliscono condizioni di correttezza delle informazioni nella base di dati. } La stessa dichiarazione di chiave K di uno schema di relazione R e una dichiarazione di vincolo di integrita in quanto stabilisce l'univocita dei valori assunti dagli attributi di K. 9

} In presenza di valori nulli, non sarebbe quindi possibile controllare l'univocita dei valori assunti dagli attributi di una chiave. Per questo motivo viene imposto il seguente vincolo. Vincolo di Entity Integrity : Tale vincolo stabilisce che gli attributi che costituiscono la chiave primaria di una relazione non possono assumere valore nullo. } Formalmente, un'istanza r di uno schema di relazione R con chiave primaria K 1 ;K 2 ;:::;K m, R(K 1 ;K 2 ;:::;K m ;A 2 ;:::;A n ), soddisfa il vincolo di Entity integrity se e solo se 8t 2 r;t[k i ] 6= null; 81 i m 10

Vincolo di Integrita Referenziale } Nel Modello Relazionale, i riferimenti tra le tuple delle relazioni vengono stabiliti tramite i valori assunti dagli attributi nelle tuple. Il vincolo di integrita referenziale assicura che quando in una tupla si utilizza il valore di un attributo per riferirsi ad un'altra tupla, quest'ultima sia una tupla esistente. } Dato uno schema di base di dati R un vingolo di integrita referenziale viene dichiarato specicando: Foreign Key o Chiave Esterna : insieme di attributi FK = ffk 1 ;FK 2 ;:::;FK n g di uno schema di relazione R 1 2 R Chiave della Relazione riferita : schema di relazione R 2 2 R, non necessariamente distinto da R 1, con una chiave K = fk 1 ;K 2 ;:::;K m g, con m = n. 11

} Informalmente, un'istanza r=fr 1 ;r 2 ;:::g su R soddisfa il vincolo di integrita referenziale se i valori sulla foreign key FK di ciascuna tupla di r 1 sono valori della chiave K di r 2, o sono valori nulli. } Formalmente, un'istanza r=fr 1 ;r 2 ;:::g su R, soddisfa il vincolo di integrita referenziale se e solo se 8t 1 2 r 1 t 1 [FK i ]=null_9t 2 2 r 2 : t 1 [FK i ]=t 2 [K i ]; 81 i n Notazione : R 1 (X) FK: FK 1 ;:::FK n REFERENCES R 2 (K 1 ;:::K n ) Se K 1 ;:::K n e la chiave primaria di R 2 puo essere omessa: FK: FK 1 ;:::FK n REFERENCES R 2 Esempio : CORSO (CODICE, NOME, CODDOC) FK: CODDOC REFERENCES DOCENTE 12

Dipendenze Funzionali } Dato uno schema di relazione R(X), una dipendenza funzionale su R e un vincolo di integrita espresso nella forma Y,! Z, dove Y e Z sono sottoinsiemi di X; in tal caso si dice che Y determina funzionalmente Z } Un'istanza r di R soddisfa la dipendenza funzionale Y,! Z se in ogni tupla di r il valore di Y determina univocamente il valore di Z. } Formalmente, dato uno schema di relazione R(X), un'istanza r di R soddisfa il vincolo di dipendenza funzionale Y,! Z su R se e solo se 8t 1 ;t 2 2 r;t 1 [Y ]=t 2 [Y ]=) t 1 [Z] =t 2 [Z] } E facile vericare che se Y Z allora Y,! Z. Queste dipendenze funzionali vengono dette banali. } E facile vericare che una superchiave K di uno schema R(X) determina funzionalmente tutti gli attributi di X: K X e superchiave di R(X) sse K,! X 13

Istanza Legale di Base di Dati : } Dato uno schema di basi di dati R = fr 1 (X 1 );R 2 (X 2 );:::R n (X n )g, un'istanza r = fr 1 ;r 2 ;:::r n g su R tale che ciascuna relazione r i soddisfa il vincolo di entity integrity r soddisfa tutti i vincoli di integrita referenziale imposti su R ciascuna relazione r i funzionali su R i soddisfa tutte le dipendenze verra detta istanza legale della base di dati R. 14