Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © 2002 - The McGraw-Hill.

Slides:



Advertisements
Presentazioni simili
Informatica II – Basi di Dati (08/09) – Parte 1
Advertisements

Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
DB - Modello relazionale dei dati
Vincoli sulle basi di dati
Algebra relazionale Presentazione 12.1
Basi di dati: il modello relazionale
Introduzione ai sistemi di basi di dati
Sistemi per Basi di Dati: Introduzione
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Concetti Fondamentali versione.
Semantica delle Informazioni
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Il modello relazionale: strutture e vincoli
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Microsoft Office: Access OpenOffice: Base
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Relazionale Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi.
11/10/2001Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3 1 Viste (relazioni derivate) Rappresentazioni diverse per gli stessi dati (schema esterno)schema.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
MODELLO RELAZIONALE.
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Progettazione di una base di dati
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Modello E-R Generalizzazioni
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Informazione incompleta Le tuple che compongono la base di dati devono essere omogenee. Quindi ad ogni attributo deve essere associato un valore in ogni.
Basi di dati Claudia Raibulet
Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi
MODELLI DEI DATI I MODELLI COSTITUISCONO UNA STRUTTURAZIONE SEMPLIFICATA DELLA REALTA’ CHE NE ACCOGLIE ASPETTI SPECIFICI E AIUTA A COMPRENDERLA MEGLIO.
Introduzione alle Basi di Dati. Overview Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo.
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Il modello relazionale (II). Informazione incompleta e valori nulli In una tupla di una relazione un attributo può non avere valore Per esempio: Mario.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
Sistemi per il recupero delle informazioni
Sistemi di Elaborazione delle Informazioni Mod.I.
Introduzione alle Basi di Dati
Introduzione alle basi di dati
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
DB- Sistemi Informativi
Il modello relazionale (II). Informazione incompleta e valori nulli In una tupla di una relazione un attributo può non avere valore Per esempio: Mario.
Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino
Informatica II – Basi di Dati (07/08) – Parte 1
Corso di Laurea in Ingegneria per l’Ambiente e il Territorio Informatica per l’Ambiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
IL MODELLO RELAZIONALE. Modello Relazionale2 Cronologia dei modelli per la rappresentazione dei dati  Modello gerarchico (anni 60)  Modello reticolare.
BASI DI DATI. 2 Sommario Introduzione e obiettivi Introduzione e obiettivi Il modello di dati relazionale Il modello di dati relazionale SQL SQL Software.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Progettazione di una base di dati relazionale Vincoli.
Il modello relazionale
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
Il Modello Relazionale. I modelli logici dei dati Tradizionalmente, esistono tre modelli logici: –gerarchico –reticolare –relazionale I modelli gerarchico.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Transcript della presentazione:

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Capitolo 2: IL MODELLO RELAZIONALE 24/09/2002

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare relazionale Più recente (e poco diffuso) a oggetti

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Modelli logici, caratteristiche Gerarchico e reticolare utilizzano riferimenti espliciti (puntatori) fra record Relazionale "è basato su valori" anche i riferimenti fra dati in strutture (relazioni) diverse sono rappresentati per mezzo dei valori stessi

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire lindipendenza dei dati Disponibile in DBMS reali nel 1981 (non è facile implementare lindipendenza con efficienza e affidabilità!) Si basa sul concetto matematico di relazione (con una variante) Le relazioni hanno naturale rappresentazione per mezzo di tabelle

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Relazione: tre accezioni relazione matematica: come nella teoria degli insiemi relazione (dallinglese relationship) che rappresenta una classe di fatti, nel modello Entity-Relationship; tradotto anche con associazione o correlazione relazione secondo il modello relazionale dei dati

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Relazione matematica D 1, …, D n (n insiemi anche non distinti) prodotto cartesiano D 1 ×…×D n : linsieme di tutte le n-uple (d 1, …, d n ) tali che d 1 D 1, …, d n D n relazione matematica su D 1, …, D n : un sottoinsieme di D 1 ×…×D n. D 1, …, D n sono i domini della relazione

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Relazione matematica, esempio una relazione r D 1 × D 2 a a a b b b x y z x y z a a b x z y D 1 ={a,b} D 2 ={x,y,z} prodotto cartesiano D 1 × D 2

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Relazione matematica, proprietà una relazione matematica è un insieme di n-uple ordinate: (d 1, …, d n ) tali che d 1 D 1, …, d n D n una relazione è un insieme; quindi: non c'è ordinamento fra le n-uple le n-uple sono distinte ciascuna n-upla è ordinata: l i-esimo valore proviene dall i-esimo dominio

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Relazione matematica, esempio Ciascuno dei domini ha due ruoli diversi, distinguibili attraverso la posizione: La struttura è posizionale Juve Lazio Juve Roma Lazio Milan Roma Milan Partite string × string × int × int

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Struttura non posizionale Juve Lazio Juve Roma Lazio Milan Roma Milan A ciascun dominio si associa un nome (attributo), che ne descrive il "ruolo" RetiCasaRetiFuoriCasaFuori

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Tabelle e relazioni Una tabella rappresenta una relazione se i valori di ogni colonna sono fra loro omogenei le righe sono diverse fra loro le intestazioni delle colonne sono diverse tra loro In una tabella che rappresenta una relazione lordinamento tra le righe è irrilevante lordinamento tra le colonne è irrilevante

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Il modello è basato su valori i riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle ennuple

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 MatricolaCognomeNomeData di nascita 6554RossiMario05/12/ NeriPaolo03/11/ RossiMaria01/02/ VerdiLuisa12/11/1979 studentiCodiceTitoloDocente 01AnalisiMario 02ChimicaBruni 04ChimicaVerdi corsi StudenteVotoCorso esami

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 MatricolaCognomeNomeData di nascita 6554RossiMario05/12/ NeriPaolo03/11/ RossiMaria01/02/ VerdiLuisa12/11/1979 studentiCodiceTitoloDocente 01AnalisiMario 02ChimicaBruni 04ChimicaVerdi corsi StudenteVotoCorso esami 26

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Struttura basata su valori: vantaggi indipendenza dalle strutture fisiche (si potrebbe avere anche con puntatori di alto livello) che possono cambiare dinamicamente si rappresenta solo ciò che è rilevante dal punto di vista dellapplicazione lutente finale vede gli stessi dati dei programmatori i dati sono portabili piu' facilmente da un sistema ad un altro i puntatori sono direzionali

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Definizioni Schema di relazione: un nome R con un insieme di attributi A 1,..., A n : R(A 1,..., A n ) Schema di base di dati: insieme di schemi di relazione: R = {R 1 (X 1 ),..., R k (X k )}

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Definizioni, 2 Una ennupla su un insieme di attributi X è una funzione che associa a ciascun attributo A in X un valore del dominio di A t[A] denota il valore della ennupla t sull'attributo A

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Definizioni, 3 (Istanza di) relazione su uno schema R(X): insieme r di ennuple su X (Istanza di) base di dati su uno schema R= {R 1 (X 1 ),..., R n (X n ) : insieme di relazioni r = {r 1,..., r n } (con r i relazione su R i )

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Relazioni su singoli attributi MatricolaCognomeNomeData di nascita 6554RossiMario05/12/ NeriPaolo03/11/ RossiMaria01/02/ VerdiLuisa12/11/1979 studenti Matricola studenti lavoratori

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Strutture nidificate Da Filippo Via Roma 2, Roma Ricevuta Fiscale 1235 del 12/10/2000 3Coperti3,00 2Bistecche18,00 3Primi12,00 2Antipasti6,20 Totale39,20 Da Filippo Via Roma 2, Roma Ricevuta Fiscale 1240 del 13/10/2000 2Coperti2,00 2Orate20,00 2Primi8,00 2Antipasti7,00 2Caffè2,00 Totale39,00

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Relazioni che rappresentano strutture nidificate Coperti3,00 2Bistecche18,00 3Primi12,00 2Antipasti6,20 39,2012/10/2000 NumeroTotaleData ,0013/10/2000 Ricevute Dettaglio QtàDescrizioneImporto 1235 Numero Coperti2,00 …………

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Strutture nidifcate, riflessione Abbiamo rappresentato veramente tutti gli aspetti delle ricevute? Dipende da che cosa ci interessa! l'ordine delle righe e' rilevante? possono esistere linee ripetute in una ricevuta? Sono possibili rappresentazioni diverse

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Rappresentazione alternativa per strutture nidificate Coperti3,00 2Bistecche18,00 3Primi12,00 2Antipasti6,20 39,2012/10/2000 NumeroTotaleData ,0013/10/2000 Ricevute Dettaglio QtàDescrizioneImporto 1235 Numero Coperti2,00 ………… Riga 1 …

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Informazione incompleta ll modello relazionale impone ai dati una struttura rigida: le informazioni sono rappresentate per mezzo di ennuple solo alcuni formati di ennuple sono ammessi: quelli che corrispondono agli schemi di relazione I dati disponibili possono non corrispondere al formato previsto

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Informazione incompleta: motivazioni FranklinRooseveltDelano NomeCognomeSecondoNome WinstonChurchill CharlesDe Gaulle JosipStalin

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Informazione incompleta: soluzioni? non conviene (anche se spesso si fa) usare valori del dominio (0, stringa nulla, 99,...): potrebbero non esistere valori non utilizzati valori non utilizzati potrebbero diventare significativi in fase di utilizzo (nei programmi) sarebbe necessario ogni volta tener conto del significato di questi valori

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Informazione incompleta nel modello relazionale Tecnica rudimentale ma efficace: valore nullo: denota lassenza di un valore del dominio (e non è un valore del dominio) t[A], per ogni attributo A, è un valore del dominio dom(A) oppure il valore nullo NULL Si possono (e debbono) imporre restrizioni sulla presenza di valori nulli

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 MatricolaCognomeNomeData di nascita 6554RossiMario05/12/1978 NULLRossiMaria01/02/ VerdiLuisa12/11/1979 studenti CodiceTitoloDocente 01AnalisiMario 02NULL 04ChimicaVerdi corsi StudenteVotoCorso NULL30NULL esami Troppi valori nulli

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Tipi di valore nullo (almeno) tre casi differenti valore sconosciuto valore inesistente valore senza informazione I DBMS non distinguono i tipi di valore nullo

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Vincoli di integrità Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano informazioni possibili per lapplicazione di interesse

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Una base di dati "scorretta" StudenteVotoLodeCorso e lode e lode Esami Matricola Cognome Rossi Neri Bianchi Nome Mario Piero Luca Studenti e lode

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Vincolo di integrità Proprietà che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette per lapplicazione Un vincolo è una funzione booleana (un predicato): associa ad ogni istanza il valore vero o falso

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 descrizione più accurata della realtà contributo alla qualità dei dati utili nella progettazione (vedremo) usati dai DBMS nella esecuzione delle interrogazioni Vincoli di integrità, perché?

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Vincoli di integrità, nota non tutte le proprietà di interesse sono rappresentabili per mezzo di vincoli formulabili in modo esplicito

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Tipi di vincoli vincoli intrarelazionali vincoli su valori (o di dominio) vincoli di ennupla vincoli interrelazionali

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 StudenteVotoLodeCorso e lode e lode Esami Matricola Cognome Rossi Neri Bianchi Nome Mario Piero Luca Studenti e lode

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Vincoli di ennupla Esprimono condizioni sui valori di ciascuna ennupla, indipendentemente dalle altre ennuple Caso particolare: Vincoli di dominio: coinvolgono un solo attributo

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Sintassi ed esempi Una possibile sintassi: espressione booleana di atomi che confrontano valori di attributo o espressioni aritmetiche su di essi (Voto 18) AND (Voto 30) (Voto = 30) OR NOT (Lode = "e lode")

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Vincoli di ennupla, esempio Impiegato Rossi Neri Bruni Stipendi Lordo Netto Ritenute Lordo = (Ritenute + Netto)

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Identificazione delle ennuple non ci sono due ennuple con lo stesso valore sullattributo Matricola non ci sono due ennuple uguali su tutti e tre gli attributi Cognome, Nome e Data di Nascita Matricola Nome Mario Piero Mario Mario Cognome Rossi Neri Rossi Piero Corso Ing Inf Ing Mecc Ing Inf Ing Mecc Nascita 5/12/78 10/7/79 3/11/76 5/12/78

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Chiave insieme di attributi che identificano le ennuple di una relazione Formalmente: un insieme K di attributi è superchiave per r se r non contiene due ennuple distinte t 1 e t 2 con t 1 [K] = t 2 [K] K è chiave per r se è una superchiave minimale per r (cioè non contiene unaltra superchiave)

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Una chiave Matricola è una chiave: è superchiave contiene un solo attributo e quindi è minimale Matricola Nome Mario Piero Mario Mario Cognome Rossi Neri Rossi Piero Corso Ing Inf Ing Mecc Ing Inf Ing Mecc Nascita 5/12/78 10/7/79 3/11/76 5/12/78

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Cognome, Nome, Nascita è unaltra chiave: è superchiave minimale Matricola Nome Piero Mario Cognome Neri Mario Rossi Piero Corso Ing Inf Ing Mecc Ing Inf Ing Mecc Nascita 5/12/78 10/7/79 3/11/76 5/12/78 Mario Rossi 5/12/78 Rossi Mario 3/11/76 Mario Un'altra chiave

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Non ci sono ennuple uguali su Cognome e Corso: Cognome e Corso formano una chiave Ma è sempre vero? Matricola Nome Mario Piero Mario Mario Cognome Rossi Neri Rossi Piero Corso Ing Inf Ing Mecc Ing Inf Ing Civile Ing Mecc Nascita 5/12/78 10/7/79 3/11/76 5/12/78 Un'altra chiave??

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Vincoli, schemi e istanze i vincoli corrispondono a proprietà del mondo reale modellato dalla base di dati interessano a livello di schema (con riferimento cioè a tutte le istanze) ad uno schema associamo un insieme di vincoli e consideriamo corrette (valide, ammissibili) le istanze che soddisfano tutti i vincoli un'istanza può soddisfare altri vincoli (per caso)

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 chiavi: Matricola Cognome, Nome, Nascita MatricolaNomeCognomeCorsoNascita Studenti

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 È corretta: soddisfa i vincoli Ne soddisfa anche altri ("per caso"): Cognome, Corso è chiave Matricola Nome Mario Piero Mario Mario Cognome Rossi Neri Rossi Piero Corso Ing Inf Ing Mecc Ing Inf Ing Civile Ing Mecc Nascita 5/12/78 10/7/79 3/11/76 5/12/78

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Esistenza delle chiavi Una relazione non può contenere ennuple distinte ma uguali Ogni relazione ha come superchiave linsieme degli attributi su cui è definita e quindi ha (almeno) una chiave

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Importanza delle chiavi lesistenza delle chiavi garantisce laccessibilità a ciascun dato della base di dati le chiavi permettono di correlare i dati in relazioni diverse: il modello relazionale è basato su valori

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Chiavi e valori nulli In presenza di valori nulli, i valori della chiave non permettono di identificare le ennuple di realizzare facilmente i riferimenti da altre relazioni

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Matricola Nome Piero Mario87654 NULL Mario Cognome Neri Rossi NeriMario Corso Ing Mecc Ing Inf Ing Civile NULL Nascita NULL Mario NULL Ing Inf 5/12/78 10/7/79 NULL 3/11/76 5/12/78 Mario87654 NULL Neri Mario Ing Inf NULL 5/12/78 NULL Mario NULL Ing Inf 5/12/78 La presenza di valori nulli nelle chiavi deve essere limitata

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Chiave primaria Chiave su cui non sono ammessi nulli Notazione: sottolineatura Matricola Nome Piero Mario Mario Cognome Neri Rossi NeriMario Corso Ing Mecc Ing Inf Ing Civile NULL Nascita 86765Mario NULL Ing Inf 5/12/78 10/7/79 NULL 3/11/76 5/12/78

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 informazioni in relazioni diverse sono correlate attraverso valori comuni in particolare, valori delle chiavi (primarie) le correlazioni debbono essere "coerenti" Integrità referenziale

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Matricola Vigili Cognome Rossi Neri Nome Luca Piero Mario MoriGino7543 Infrazioni Codice Data 1/2/95 4/3/95 5/4/96 5/2/98 Vigile ProvNumero MI TO PR 39548K E

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Auto ProvNumero MI TO PR 39548K E Cognome Rossi Neri Nome Mario Luca Infrazioni Codice Data 1/2/95 4/3/95 5/4/96 5/2/98 Vigile ProvNumero MI TO PR 39548K E MI TO PR 39548K E MI TO PR 39548K E

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Un vincolo di integrità referenziale (foreign key) fra gli attributi X di una relazione R 1 e unaltra relazione R 2 impone ai valori su X in R 1 di comparire come valori della chiave primaria di R 2 Vincolo di integrità referenziale

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 vincoli di integrità referenziale fra: lattributo Vigile della relazione INFRAZIONI e la relazione VIGILI gli attributi Prov e Numero di INFRAZIONI e la relazione AUTO

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Infrazioni Codice Data 1/2/95 4/3/95 5/4/96 5/2/98 Vigile ProvNumero MI TO PR 39548K E Auto ProvNumero MI TO PR E39548 F Cognome Rossi Neri Nome Mario Luca TOE39548 TO E39548 Violazione di vincolo di integrità referenziale

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Vincoli di integrità referenziale: commenti Giocano un ruolo fondamentale nel concetto di modello basato su valori In presenza di valori nulli i vincoli possono essere resi meno restrittivi Sono possibili meccanismi per il supporto alla loro gestione ("azioni" compensative a seguito di violazioni) Attenzione ai vincoli su più attributi

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Integrità referenziale e valori nulli Impiegati Matricola Cognome Rossi Neri Verdi Progetto IDEA XYZ NULL Progetti Codice IDEA BOH XYZ Inizio 01/ / /2001 Durata Costo BianchiIDEA

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Azioni compensative Esempio: Viene eliminata una ennupla causando una violazione Comportamento standard: Rifiuto dell'operazione Azioni compensative: Eliminazione in cascata Introduzione di valori nulli

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Eliminazione in cascata Impiegati Matricola Cognome Rossi Neri Verdi Progetto IDEA XYZ NULL 73032BianchiIDEA Progetti Codice IDEA BOH XYZ Inizio 01/ / /2001 Durata Costo XYZ07/ XYZ07/ XYZ07/ NeriXYZ

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Introduzione di valori nulli Impiegati Matricola Cognome Rossi Neri Verdi Progetto IDEA XYZ NULL 73032BianchiIDEA Progetti Codice IDEA BOH XYZ Inizio 01/ / /2001 Durata Costo XYZ07/ XYZ07/ XYZ07/ NULL

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Auto ProvNumero MI TO PR 39548K E Cognome Rossi Neri Nome Mario Luca Incidenti Codice Data 1/2/95 5/4/96 ProvBNumeroB MI TO 39548K E39548 ProvANumeroA TO PR E Vincoli multipli su più attributi

Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill Companies, srl Capitolo 2 24/09/2002 Vincoli multipli su più attributi, 2 vincoli di integrità referenziale fra: gli attributi ProvA e NumeroA di INCIDENTI e la relazione AUTO gli attributi ProvB e NumeroB di INCIDENTI e la relazione AUTO L'ordine degli attributi è significativo