I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità.

Slides:



Advertisements
Presentazioni simili
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.
Advertisements

Progettazione di una base di dati relazionale Vincoli.
Cloud informatica V anno.
VETTORI: DEFINIZIONI Se ad una grandezza fisica G si associa una direzione ed un verso si parla di vettori: ✔ Le grandezze fisiche possono essere di due.
1 Variabili. 2 Tipi di variabili Una variabile è qualche proprietà di un evento che è stata misurata. Le variabili sono attributi dei fenomeni e pertanto.
Basi di dati - Fondamenti
Il modello logico Il modello logico.
La progettazione concettuale
Ereditarietà Uno dei principi della programmazione orientata agli oggetti (OOP) è il riuso Le classi dovrebbero essere progettate come componenti riutilizzabili.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Progettazione di una base di dati relazionale
Database Accesso Utenti diversi Programmi diversi Modelli di database
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rileaborato da M. Lenzerini - Basi di dati
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Università degli Studi di Modena e Reggio Emilia
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Le Basi di dati: progettazione concettuale.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Secondo Compito: PROGETTAZIONE DI UN DATABASE Claudia Angione
PROGETTAZIONE DATABASE SECONDO COMPITO CAROLINA CASIELLO
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Integrità referenziale
La normalizzazione delle relazioni
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Un’università vuole raccogliere ed organizzare in un database
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Progettazione logica: Il modello relazionale
Gli schemi concettuali
Introduzione alla normalizzazione
Statistica Scienza che studia i fenomeni collettivi.
Basi di dati - Fondamenti
Progettazione concettuale
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Partizionamento/accorpamento di concetti
SQL per la modifica di basi di dati
CAMBIAMENTI DI PRINCIPI CONTABILI OIC 26
Le basi di dati: progettazione concettuale.
OGGETTO E TIPO DI OGGETTO
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Definizione di linguaggio di programmazione
Dipendenze funzionali
Progettazione di una base di dati
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Selezione e Proiezione
Il questionario: progettazione e redazione II Modulo
Vincoli di Integrità Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono.
Transcript della presentazione:

I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità. Si definisce vincolo di integrità una proprietà che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette per l’applicazione che utilizza la base di dati. 1

I vincoli di integrità: esempio Consideriamo l’entità Studente. Supponiamo che l’attributo matricola sia un numero progressivo che identifichi univocamente uno studente (la chiave). L’attributo Età, di tipo intero, potrebbe assumere un valore molto alto, per esempio 250 (cosa impossibile). Matricola Età Nome Studente Cognome  2

I vincoli di integrità: esempio Dal punto di vista concettuale, questa assegnazione è corretta, ma non ha senso in questa realtà. È necessario specificare un vincolo di integrità che indiche che l’età deve essere inferiore a 120, per esempio. 250 Matricola Età Nome Studente Cognome  3

I vincoli di integrità: esempio Un altro vincolo imporrà che NON possono esserci due studenti con la stessa matricola. Altre possibilità che un attributo DataDiImmatricolazione sia successivo a DataDiNascita, e così via. Valori non duplicati 250 Matricola Età Nome Studente Cognome 4

Tipi di vincoli In generale possiamo considerare ogni vincolo come un’asserzione che può essere, rispetto a un’istanza, vero o falso. Distinguiamo i vincoli di integrità in espliciti e impliciti. 5

Vincoli espliciti I vincoli di integrità espliciti sono quelli imposti dalla stessa struttura della base di dati e si dividono in: Vincoli di chiave primaria: impongono che tutte le istanze di una categoria debbano essere diverse da loro; Vincoli referenziali: date due entità A e B e un’associazione tra loro, questi vincoli impongono che non si possa inserire un elemento di A (o non esista un elemento in A) che non sia associato a un elemento di B. Ciò può anche essere visto come un vincolo sulla partecipazione delle associazioni. 6

Vincoli impliciti I vincoli di integrità impliciti sono quelli che impongono delle restrizioni sul modo in cui i dati possono cambiare. Un esempio di vincolo implicito è «il valore dell’attributo Età che non può essere minore di zero o maggiore di 120». Si parla di vincoli di integrità perché devono essere rispettati, pena l’integrità dei dati. 7

Notazioni per vincoli I vincoli espliciti si evidenziano sul diagramma ER I vincoli di chiave primaria si rappresentano sottolineando i relativi attributi I vincoli referenziali si rappresentano con le linee continue tra le associazioni I vincoli impliciti hanno bisogno di una nuova notazione e saranno del tipo: V<NumProgressivo>:(<Espressione)  8

Esempio di notazioni I vincoli impliciti hanno bisogno di una nuova notazione e saranno del tipo: V<NumProgressivo>: (<Espressione>) Per esprimere il vincolo sull’Età scriveremo V1: (0 < Età < 120) Per esprimere il vincolo che «non si può assumere un dipendente con meno di 16 anni, scriveremo V2: (Anno(Dipendente.DataAssunzione) – Anno(Dipendente.DataDiNascita) > 16)  9

Notazioni Quindi per fare riferimento a un attributo di una particolare entità o associazione, utilizziamo la sintassi <NomeEntità>.<NomeAttributo> oppure <NomeAssociazione>.<NomeAttributo> 10