Vincoli sulle basi di dati

Slides:



Advertisements
Presentazioni simili
Sommario Nella lezione precedente abbiamo visto che un enunciato è vero se rappresenta uno stato di cose che sussiste nel mondo del discorso Ora affronteremo.
Advertisements

Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
“ LAUREE SCIENTIFICHE ”
DB -Algebra Relazionale
Algebra Relazionale 3 Università degli Studi del Sannio
Calcolo Relazionale.
DB - Modello relazionale dei dati
Algebra e calcolo relazionale (parte 2)
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Algebra relazionale Presentazione 12.1
Basi di dati: il modello relazionale
Sommario Nelle lezioni precedenti abbiamo introdotto tutti gli elementi che formano un particolare tipo di linguaggio logico, denominato linguaggio predicativo.
16/11/2004Laboratorio di Programmazione - Luca Tesei1 Espressioni booleane, confronti.
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
Semantica delle Informazioni
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
Il ragionamento classico
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Condizioni ed istruzioni condizionali.
Maria Teresa PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 8
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
EQUAZIONI DI PRIMO GRADO
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Programmazione Corso di laurea in Informatica
Unità Didattica 1 Algoritmi
Intelligenza Artificiale
Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere.
Equivalenza di espressioni
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 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.
Intelligenza Artificiale
Basi di dati Claudia Raibulet
Corso base Lorenzo Braidi Formazione e consulenza informatica
Linguaggi e Modelli Computazionali LS - Prof E.Denti
Il modello relazionale (II). Informazione incompleta e valori nulli In una tupla di una relazione un attributo può non avere valore Per esempio: Mario.
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
1 Il Linguaggio SQL Il Linguaggio SQL Prof. Lorenzo Vita, Ing. Luigi Testa.
SQL.
Informatica Introduzione alle basi di dati Lezione 6 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
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
Sessione live Testing. Esercizio Quesito 1 Soluzione 1.
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
La logica Dare un significato preciso alle affermazioni matematiche
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 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.
Query languages per Basi di Dati Relazionali  Algebra Relazionale:  basato sulla teoria degli insiemi  procedurale  usato per l’implementazione di.
Algebra di Boole L’algebra di Boole è un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono assumere.
Progettazione di una base di dati relazionale Vincoli.
Rappresentazione in virgola mobile (floating-point) Permette di rappresentare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione.
Rappresentazione dell'informazione 1 Se ho una rappresentazione in virgola fissa (es. su segno e 8 cifre con 3 cifre alla destra della virgola) rappresento.
Raggruppamenti e target list scorretta select padre, avg(f.reddito), p.reddito from persone f join paternita on figlio = nome join persone p on padre =
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
Il modello relazionale
Cloud informatica V anno.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
ELEMENTI DI LOGICA del Prof. Giovanni Ianne
Il Modello Relazionale. I modelli logici dei dati Tradizionalmente, esistono tre modelli logici: –gerarchico –reticolare –relazionale I modelli gerarchico.
BASI DATI: modello relazionale BIOINGEGNERIA ELETTRONICA ED INFORMATICA Lezione IIIb - AA 2014/20151.
INSIEMI E LOGICA PARTE QUARTA.
Transcript della presentazione:

Vincoli sulle basi di dati Presentazione 11.1 Vincoli sulle basi di dati Informatica Generale (Prof. Luca A. Ludovico)

Informazione incompleta e valori nulli ll modello relazionale impone ai dati una struttura rigida: le informazioni sono rappresentate per mezzo di n-uple le n-uple ammesse sono dettate dagli schemi di relazione Nella pratica, però, i dati disponibili possono non corrispondere esattamente al formato previsto, per varie ragioni. Non è corretto (e talvolta nemmeno possibile) usare un valore del dominio per indicare l’assenza di un valore significativo. Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1

Il valore nullo NULL E’ valore aggiuntivo rispetto a quelli del dominio. Denota l’assenza di informazione nella base di dati. Uso per scopi diversi: Per sostituire valore appartenente al dominio ma non noto Inapplicabilità dell’attributo Inesistenza del valore Non si dispone di informazione: il valore può esistere o meno, e se esiste non lo conosciamo In alcuni casi, il valore NULL è inammissibile Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1

Esempio Città Prefettura Roma Via Quattro Novembre Firenze NULL Tivoli Prato Esiste ma non è noto Non esiste Non sappiamo se esista, nel caso non è noto Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1

Vincoli di integrità Non è vero che qualsiasi insieme di n-uple sullo schema rappresenti informazioni corrette per l’applicazione. Non solo per quanto riguarda i valori nulli. Studente Voto Lode Corso 710566 36 01 768911 30 lode 03 743284 28 04 710233 25 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1

Vincoli di integrità Un vincolo è un predicato che associa a ogni istanza un valore di verità: vero o falso. Serve ad evitare l’occorrenza di situazioni indesiderate. Se il predicato assume il valore vero, allora l’istanza soddisfa il vincolo. Ad uno schema di base di dati si associa un insieme di vincoli e si considerano corrette (o lecite, o ammissibili) le istanze che soddisfano tutti i vincoli. 6 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1

Classificazione dei vincoli A seconda degli elementi della base di dati coinvolti: Vincolo intrarelazionale: il suo soddisfacimento è definito rispetto a singole relazioni della base di dati Vincolo di tupla: viene valutato su ciascuna tupla indipendentemente dalle altre Vincolo su valori o di dominio: è un caso ancora più specifico che viene valutato sui singoli valori Vincolo interrelazionale: coinvolge più relazioni 7 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1

Vincoli di tupla Esprimono condizioni sui valori di ciascuna tupla, indipendentemente dalle altre. Possibile sintassi: basata su espressioni booleane con operatori AND, OR e NOT Esempi: Vincolo di dominio (Voto >= 18) AND (Voto <= 30) Vincolo di tupla (Voto = 30) OR (NOT (Lode = “lode”)) Verifica: 21 è ok, 30 è ok, 30 e lode è ok, 28 e lode no. 8 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1

Chiavi Una chiave è un insieme di attributi utilizzato per identificare univocamente ogni n-upla in una relazione. Definizione formale: Un insieme K di attributi è superchiave per la relazione R se R non contiene due tuple distinte t1 e t2 con t1[K] = t2[K] K è chiave di R se è una superchiave minimale di R (ossia non esiste un’altra superchiave K’ di R contenuta in K come sottoinsieme proprio) Valori nulli e chiave primaria (in inglese primary key). 9 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1

Esistenza delle chiavi Poiché le relazioni sono insiemi, una relazione non può contenere n-uple uguali fra loro. Ogni relazione ha come superchiave l’insieme degli attributi su cui è definita. Poiché l’insieme di tutti gli attributi è una superchiave per ogni relazione, ogni schema di relazione ha almeno una superchiave. Ne segue che ogni schema di relazione ha (almeno) una chiave. 10 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1

Come individuare le chiavi Considerare le proprietà che i dati soddisfano nell’applicazione (il “frammento di mondo reale di interesse”) Notare quali insiemi di attributi permettono di identificare univocamente le n-uple Individuare i sottoinsiemi minimali di tali insiemi che conservano la capacità di identificare le n-uple Valutare se i valori presenti nella base di dati non soddisfino tale vincolo in modo casuale (cioè dipendente dall’istanza) 11 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1

Importanza delle chiavi L’esistenza delle chiavi garantisce l’accessibilità a ciascun dato della base di dati Ogni singolo valore è univocamente accessibile tramite: nome della relazione nome dell’attributo valore della chiave Le chiavi sono lo strumento principale attraverso il quale vengono correlati i dati in relazioni diverse (“il modello relazionale è basato su valori”) 12 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1

Vincoli di integrità referenziale (chiave esterna) Sono la più importante classe di vincoli interrelazionali. In inglese: foreign key o referential integrity constraint. Un vincolo di integrità referenziale fra un insieme di attributi X tra una relazione R1 e un’altra relazione R2 è soddisfatto se i valori su X di ciascuna tupla dell’istanza di R1 compaiono come valori della chiave primaria dell’istanza di R2. 13 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1

Valori nulli e azioni compensative I vincoli di integrità referenziale possono essere resi meno restrittivi ammettendo valori nulli. Sono possibili meccanismi per il supporto alla gestione dei vincoli di integrità ("azioni" compensative a seguito di violazioni) Ad esempio, se viene eliminata una n-upla causando una violazione: comportamento “standard”: rifiuto dell'operazione azioni compensative: eliminazione in cascata oppure introduzione di valori nulli 14 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1

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 che vogliamo siano soddisfatti da tutte le sue istanze corrette Si considerano quindi corrette (valide, ammissibili) le istanze che soddisfano tutti i vincoli Attenzione: un'istanza può soddisfare altri vincoli (per caso?) 15 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 11.1