Integrità referenziale

Slides:



Advertisements
Presentazioni simili
1 Microsoft Access 1. 2 Contenuto Dovete progettare e realizzare, usando Access, una base di dati che riguarda gli esami sostenuti dagli studenti iscritti.
Advertisements

1)PROGETTAZIONE DI UN DATABASE
Si vuole automatizzare la gestione di una biblioteca personale. E’ necessario memorizzare le entità: 1. Amici 2. Libri Dominio Applicativo E’ rappresentato.
2° COMPITO VANIA PASCALE MATRICOLA GESTIONE DEI PRESTITI DI UNA BIBLIOTECA PERSONALE DOMINIO APPLICATIVO : il dominio applicativo è rappresentato.
Basi di dati - Fondamenti
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
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Le operazioni relazionali
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Il Modello Relazionale
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
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Interrogazione di una base di dati relazionale
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
Le operazioni relazionali (continua)
PROGETTAZIONE CONCETTUALE
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Creare tabelle in sql Ripasso!.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Corso di Basi di Dati Il Linguaggio SQL
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
Corso di Basi di Dati Il Linguaggio SQL
File con indice (sparso)
La normalizzazione delle relazioni
Basi di Dati e Sistemi Informativi
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
Interrogazione di una base di dati relazionale
Corso di Basi di Dati Il Linguaggio SQL
Corso di Basi di Dati Il Linguaggio SQL
Interrogazione di una base di dati relazionale
Progettazione di una base di dati relazionale
I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità.
Normalizzazione di uno schema relazionale.
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
Il modello relazionale
Organizzazione della Memoria
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Progettazione logica: Il modello relazionale
OBJECT ORIENTED DATABASE
Access.
Basi di dati - Fondamenti
Partizionamento/accorpamento di concetti
Dino Pedreschi Dipartimento di Informatica a.a. 2011– 2012
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
SQL per la modifica di basi di dati
OGGETTO E TIPO DI OGGETTO
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Dipendenze funzionali
Join, una difficoltà Impiegato Reparto Rossi A Neri B Bianchi Reparto
Il modello relazionale
Selezione e Proiezione
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:

Integrità referenziale

Integrità dei dati Sappiamo già dell’integrità sull’entità o vincolo di chiave che non consente valori nulli e valori duplicati per la chiave Esistono altre regole di integrità e in particolare vincoli di tupla vincoli di integrità referenziale

Esempio Studenti Scuole Matricola Cognome Nome DataNascita CodScuola 545 Rossi Maria NULL 125 653 Neri Anna 20-set-98 768 Verdi Ugo 30-ott-99 Marco 32-ott-98 180 314 Bruni Pio 27-ott-99 185 Codice NomeScuola 125 ITC Manzoni 180 Liceo Dante 190 Liceo Fermi NULL ITIS Galvani L’integrità di chiave impedi-sce la presenza di valori nulli nella chiave I vincoli di tupla esprimono condizioni che devono essere rispettate dai valori di ciascuna n-upla della relazione, indipendentemente dalle altre L’integrità referenziale è un insieme di regole che garantisco l’integrità quan-do si hanno tabelle associate tra loro attraverso la chiave esterna. L’integrità referenziale richiede che per ogni valore non nullo della chiave esterna, esista un valore corrispondente della chiave primaria nella tabella associata.

I vincoli di tupla I vincoli di tupla esprimono condizioni che devono essere rispettate dai valori di ciascuna n-upla della relazione, indipendentemente dalle altre. In particolare devono rispettare il vincolo di dominio per gli attributi (per evitare valori errati o NULL)

L’integrità referenziale L’integrità referenziale è un insieme di regole che garantisco l’integrità quando si hanno tabelle associate tra loro attraverso la chiave esterna: queste regole servono per rendere valide le associazioni tra tabelle e per eliminare gli errori di inserimento, cancellazione o modifica di dati collegati tra loro. L’integrità referenziale richiede che per ogni valore non nullo della chiave esterna, esista un valore corrispondente della chiave primaria nella tabella associata.

Situazione possibile Ogni valore di FK1 deve avere un valore di K1 in una delle righe di Relazione1 oppure, in alternativa, il valore di FK1 è nullo Ogni valore non nullo di FK1 deve comparire in K1 Relazione2 Relazione1 Chiave B1 B2 FK1 --------- ------- xxxx NULL K1 A1 A2 A3 A4 xxxx -------

Regole da applicare Non è possibile immettere un valore nella chiave esterna della tabella associata se tale valore non esiste nella tabella primaria. È possibile, tuttavia, immettere un valore nullo per esprimere che le tabelle non sono correlate. Non è possibile eliminare una n-pla dalla tabella primaria se esistono righe legate ad essa attraverso la chiave esterna nella tabella correlata. Non si può modificare, come è ovvio, il valore della chiave nella tabella primaria, se ad essa corrispondono righe nella tabella correlata.