Vincoli di integrità



Похожие документы
BASE DI DATI: sicurezza. Informatica febbraio ASA

Modulo 2 Data Base 2

MODELLO RELAZIONALE. Introduzione

Elena Baralis 2013 Politecnico di Torino 1

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

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

Il modello relazionale

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

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

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

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

Data Base Relazionali

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

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

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

Progettazione di Basi di Dati

Il Modello Relazionale

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

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

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

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

Informatica (Basi di Dati)

Cardinalità. Informatica. Cardinalità. Cardinalità. Cardinalità. Cardinalità. Cardinalità delle associazioni:

Capitolo 2. Esercizio 2.1. Esercizio 2.2

Il modello relazionale dei dati

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

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

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

(anno accademico )

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

Definizione di domini

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

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

Basi di dati 9 febbraio 2010 Compito A

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

Il Modello Relazionale

Progettazione di Database. Un Esempio

Organizzazione degli archivi

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

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

Corso sul linguaggio SQL

La progettazione concettuale: il modello ER. 17/12/2007 Unità di Apprendimento A2 1

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

Rappresentazione grafica di entità e attributi

PROGETTAZIONE CONCETTUALE

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

MODELLO E/R. Modellazione dei dati

Basi di Dati e Microsoft Access

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

BASI DI DATI - : I modelli di database

ALGEBRA RELAZIONALE RIEPILOGO

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Operazioni sui database

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Il Modello Relazionale

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

Basi di Dati corso C Esercitazione 18/12/2002 Autonoleggio tempo: 3 ore

Introduzione alla teoria dei database relazionali. Come progettare un database

Esercizio data base "Biblioteca"

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Database/Banche Dati/Sistemi Informativi

Basi di dati. 2. Il modello relazionale. Il modello relazionale. Relazione: tre accezioni. 2.1 Basi di dati relazionali. Giuseppe De Giacomo

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

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE

Corso di Informatica (Basi di Dati)

Le Basi di Dati. Le Basi di Dati

PRESTITO (Titolo, Nome, DataRestituzione)

Secondo Compitino di Basi di Dati

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Segreteria da campo. Database Relazionali

Linguaggio SQL. Structured Query Language

Modello relazionale. ing. Alfredo Cozzi 1

Progettazione di Database

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

Introduzione all Algebra Relazionale

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Laboratorio di Basi di Dati e Web

Giovanna Rosone 04/03/ /03/2010 SQL, Istruzioni per la modifica dello schema

database: modello entityrelationship

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

Strutturazione logica dei dati: i file

Alessandra Raffaetà. Basi di Dati

Il modello Entity-Relationship: elementi di base

Basi di Dati: Corso di laboratorio

Alcune nozioni di base di Logica Matematica

SQL Laboratorio di Basi di Dati a.a. 2002/2003

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

Progettazione di basi di dati. Progettazione di basi di dati. Ciclo di vita dei sistemi informativi. Fasi del ciclo di vita [1]

Транскрипт:

Vincoli di integrità Non tutte le istanze di basi di dati sintatticamente corrette rappresentano informazioni plausibili per l applicazione di interesse Studenti Matricola Nome Nascita 276545 Rossi 23-04-72? 276545 Bianchi 23-04-74 784563 Verdi 30-07-74? Esami Studente Voto Lode Corso 276545 28 SI 01 276545 32 NO 01 784563 23 NO 03 200768 30 SI 03? Corso Codice Nome Docente 01 Analisi Belli 02 NULL NULL 03 Chimica Viola Vincoli di integrità 1

Definizione di vincolo di integrità una proprietà che deve essere soddisfatta dalla istanza della base di dati Ogni vincolo può essere visto come un predicato (funzione booleana) che associa ad ogni istanza il valore vero o falso. Se il predicato assume il valore vero diciamo che l istanza soddisfa il vincolo Ad uno schema di base di dati associamo un insieme di vincoli di integrità. Se l istanza di base di dati soddisfa tutti i vincoli, allora essa è corretta (lecita, valida, ammissibile) Vincoli di integrità 2

Tipi di vincoli definito rispetto ad una sola relazione? intrarelazionale coinvolge più relazioni? interrelazionale può essere valutato su una singola tupla indipendentemente dalle altre? di tupla può essere valutato su un singolo attributo? di dominio (o su valori) Vincoli di integrità 3

Vincoli di tupla Possibile sintassi: espressioni booleane, cioè con connettivi,, e (AND, OR e NOT), i cui atomi sono confronti (con operatori di ugualianza, disugualianza e ordinamento) tra attributi, valori di attributo, e espressioni aritmetiche su valori di attributo Esempio: nella relazione Esami (Voto 18) (Voto 30) ( (Lode = SI)) (Voto = 30) Altro esempio: nella relazione Pagamenti(Data, Importo, Ritenute, Netto) Netto = Importo - Ritenute Vincoli di integrità 4

Valori che identificano le ennuple Studenti Matricola Nome Nascita 276545 Rossi 23-04-72 045683 Bianchi 23-04-74 784563 Verdi 30-07-74 il numero di matricola identifica gli studenti non ci possono essere due tuple con lo stesso valore del numero di matricola il nome e la data di nascita identificano gli studenti non ci possono essere due tuple con lo stessi valori sui due attributi Attenzione: anche numero di matricola e nome identificano gli studenti, e non ci possono essere due tuple con lo stessi valori sui due attributi Vincoli di integrità 5

Vincoli di chiave Sono vincoli intrarelazionali ma non di tupla Superchiave: un insieme K di attributi che non può contenere due tuple t 1 e t 2 con t 1 [K] = t 2 [K] Chiave: una superchiave che non contiene propriamente un altra superchiave (cioè: una superchiave minimale) Vincoli di integrità 6

Esempio Studenti Matricola Cognome Nome AA Nascita 0345623 Rossi Luigi 1 24-11-73 0435234 Rossi Maria 2 10-10-71 6834623 Verdi Paolo 1 30-02-72 9872341 Bianchi Maria 2 02-12-74 Matricola è una chiave: Matricola è superchiave contiene un solo attributo quindi è minimale Cognome, Nome e Nascita è una chiave: è superchiave perché identifica la tupla (non ci possono essere due studenti con gli stessi valori) nessuno dei suoi sottoinsiemi è superchiave Vincoli di integrità 7

Individuazione delle chiavi Consiste in un trasferimento di vincoli dalla realtà di interesse allo schema di base di dati che vuole rappresentarla Ad uno schema associamo un insieme di vincoli minimali e consideriamo corrette (lecite, valide, ammissibili) solo le istanze che soddisfano tali vincoli Nota: i vincoli sono definiti sullo schema e soddisfatti dall istanza Attenzione: singole istanze di basi di dati possono soddisfare ulteriori vincoli per pura coincidenza Vincoli di integrità 8

Esistenza delle chiavi una relazione non può avere due tuple uguali tra loro l insieme di tutti gli attributi è per definizione una superchiave per lo schema di relazione poiché il numero degli attributi è finito, ogni schema di relazione ha (almeno) una chiave Vincoli di integrità 9

Uso di codici identificativi Talvolta sarebbe necessario contemplare un eccessivo numero di attributi per garantire il fatto che non ci siano due tuple uguali in una relazione Una soluzione efficace all atto della definizione dello schema di base di dati è l inserimento di un attributo aggiuntivo unico, che funga da chiave. D altronde molti codici identificativi (numero di matricola, codice fiscale, numero di targa, ecc.) sono stati introdotti appositamente per garantire l identificazione dei soggetti del dominio (degli studenti, dei contribuenti, degli autoveicoli, ecc.) Vincoli di integrità 10

Importanza delle chiavi Garantiscono l accessibilità a ciascun dato della base di dati. Infati ogni singolo valore è univocamente accessibile tramite: il nome della relazione il valore della chiave il nome dell attributo Le chiavi sono lo strumento principale attraverso il quale vengono correlati i dati in relazioni diverse (il modello relazionale è basato su valori) Vincoli di integrità 11

Chiavi e valori nulli In presenza di valori nulli, i valori degli attributi che formano la chiave non permettono di identificare le tuple come desiderato non consentono di realizzare facilmente i riferimenti da altre relazioni Studenti Matricola Nome Nascita NULL Rossi 23-04-72 045683 Bianchi NULL NULL Verdi 30-07-74 Vincoli di integrità 12

Chiave primaria La presenza di valori nulli nelle chiavi deve essere limitata Soluzione pratica: per ogni relazione scegliamo una chiave (chiave primaria) su cui i valori nulli non sono ammessi Notazione: gli attributi della chiave primaria vengono sottolineati Studenti Matricola Nome Nascita 054637 Rossi 23-04-72 045683 Bianchi NULL 987326 Verdi 30-07-74 Vincoli di integrità 13

Vincoli di integrità referenziale (foreign keys) Sono vincoli di integrità interrelazionali Informazioni in relazioni diverse sono correlate attraverso valori comuni Un vincolo di integrità referenziale fra un insieme di attributi X di uno schema di relazione R 1 e uno schema di relazione R 2 impone ai valori su X di ciascuna tupla di R 1 di comparire come valori della chiave primaria dell istanza di R 2 Sono definiti sugli schemi e soddisfatti dalle istanze Vincoli di integrità 14

Foreign keys (considerazioni) Nel caso di un solo attributo è un predicato completamente definito una volta specificato l attributo della relazione R 1 e la relazione R 2 Nel caso generale di un insieme di attributi X occorrerebbe specificare anche: un ordinamento sugli attributi nell insieme X un ordinamento sugli attributi della chiave primaria di R 2 Il vincolo è soddisfatto se per ogni tupla t 1 di R 1 esiste una tupla t 2 di R 2 tale che l i-esimo valore della chiave primaria di R 2 è uguale all i-esimo valore di t 1 [X] Vincoli di integrità 15

Esempio di chiave esterna incidenti codice prov1 num1 prov2 num2 00001 RM 034524 PG 982453 00002 BO 823507 MI 827283 autoveicoli prov num proprietario... RM 034524 Bianchi Mario... PG 982453 Rossi Ugo... BO 823507 Verdi Paola... MI 827283 Gialli Antonio... non si può contare sulla coincidenza dei nomi degli attributi Vincoli di integrità 16

Infrazioni Codice Data Vigile Prov Numero 0345623 04-10-00 230 PG 2353465 0435234 05-10-00 230 RM 4394936 6834623 05-10-00 134 PG 2989493 9872341 06-10-00 230 PG 3542647 Automobili Vigili Numero Prov CC... 2353465 PG 1000... 4394936 RM 1100... 2989493 PG 2000... 3542647 PG 1000... Matricola Cogn. Nome 230 Rossi Mario 134 Bianchi Luigi 219 Verdi Antonio Vincoli di integrità 17