La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C

Presentazioni simili


Presentazione sul tema: "Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C"— Transcript della presentazione:

1 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. Batini 3.5. Il modello relazionale Vincoli di n-pla e vincoli di chiave - 1

2 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Vincoli di ennupla Esprimono condizioni sui valori di ciascuna ennupla in una relazione Esempio: non ci possono essere due ennuple con lo stesso numero di matricola Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

3 Sintassi per i vincoli di ennupla ed esempi
Definiamo una sintassi per i vincoli: espressione booleana (AND, OR, NOT) di atomi (condizioni elementari) che confrontano (>, >=, =, <, <=, ≠) valori di attributo o espressioni aritmetiche su di essi (Voto  18) AND (Voto  30) (Voto = 30) OR NOT (Lode = "e lode") Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

4 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Domanda 3.5.1 Descrivi in linguaggio italiano il vincolo (Voto  18) AND (Voto  30) Risposta In ogni ennupla il voto deve essere maggiore o uguale a 18 e minore o uguale a 30 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

5 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Domanda 3.5.1 Descrivi in linguaggio italiano il vincolo (Voto  18) AND (Voto  30) Altra risposta (piu’ sintetica ma equivalente) In ogni ennupla il voto e’ compreso tra 18 e 30 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

6 Valore di verita’ dei vincoli di n-pla
Per calcolare il valore di verita‘ di un vincolo in una n-pla, occorre sostituire i valori degli attributi nella n-pla e poi calcolare il valore vero o falso. Ad esempio per la n-pla <……, Voto: 24, ……> Il valore del vincolo: (Voto  18) AND (Voto  30) e‘ 24 >= 18 AND 24 ≤ 30 = vero Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

7 Vincoli di ennupla, esempio
Impiegato Rossi Neri Bruni Stipendi Lordo 55.000 45.000 47.000 Netto 42.500 35.000 36.000 Ritenute 12.500 10.000 11.000 Domanda 3.5.2 Quale vincolo di n-pla vale Tra gli attributi Lordo, Ritenute, Netto? Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

8 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Risposta Impiegato Rossi Neri Bruni Stipendi Lordo 55.000 45.000 47.000 Netto 42.500 35.000 36.000 Ritenute 12.500 10.000 11.000 Lordo = (Ritenute + Netto) Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

9 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esempio di vincoli di ennupla che gia‘ conosciamo (Voto = 30) OR NOT (Lode = "e lode") Studente Voto Lode Corso 32 01 276545 30 e lode 02 787643 27 03 739430 24 04 Esami  vero  falso 27 e lode Matricola 276545 787643 Cognome Rossi Neri Bianchi Nome Mario Piero Luca Studenti Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

10 Vincoli di relazione: Vincoli di chiave
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

11 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Nella vita comune …… Nella vita comune noi abbiamo spesso bisogno di identificare un oggetto, una persona, un luogo. Ad esempio, per identificare una persona in un gruppo possiamo indicarla con un dito “Vedi quel tipo? L’ho conosciuto 10 anni fa” Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

12 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Nelle basi di dati …… Nelle basi di dati le singole ennuple rappresentano oggetti della realta’ Ad esempio una tabella Studente (Matricola, Nome, Cognome, Sesso) rappresenta un insieme di studenti universitari. Noi abbiamo bisogno di un vincolo di integrita’ che ci permetta di identificare univocamente ogni studente. Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

13 Vincoli di chiave - motivazione
Abbiamo necessita’ di individuare informazioni che ci permettano di rappresentare ogni oggetto di interesse con una ennupla differente e identificarlo quando se ne abbia necessita’ Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

14 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Domanda 3.5.2 Nella tabella Studente (Matricola, Nome, Cognome, Sesso) quali insiemi di attributi della tabella identificano univocamente, senza ambiguita’, uno studente? Due possibili risposte sono La matricola Il nome e cognome Quale e’ la risposta giusta?  La matricola, perche’, soprattutto in universita’ grandi, ci potrebbero essere studenti differenti con stesso nome e cognome Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

15 Identificazione delle ennuple
Studente Matricola 27655 78763 65432 Nome Mario Piero 87654 67653 Cognome Rossi Neri Corso Ing Inf Ing Mecc Nascita 5/12/78 10/7/79 3/11/76 Nella tabella Studente non ci sono due ennuple con lo stesso valore per l‘ attributo Matricola non ci sono due ennuple uguali su tutti e tre gli attributi Cognome, Nome e Data di Nascita Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

16 Altro esempio di identificazione di ennupla
Studenti Uno studente e’ identificato dall’ attributo Matricola Matricola 276545 787643 Cognome Rossi Neri Bianchi Nome Mario Piero Luca 787643 787646 Esami Un esame e’ identificato dagli attributi Studente e Corso Studente Voto Lode Corso 30 01 276545 e lode 02 787643 27 03 739430 24 04 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

17 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Il concetto di chiave Insieme di attributi che identificano le ennuple di una relazione Formalmente: un insieme K di attributi è superchiave per una relazione r se r non contiene due ennuple distinte t1 e t2 con t1[K] = t2[K]. Es. Matricola + cognome e‘ superchiave K è anche chiave per r se è una superchiave minimale per r (cioè non contiene un’altra superchiave) Es. Matricola e‘ chiave perche‘ e‘ minimale. Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

18 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Una chiave Matricola 27655 78763 65432 Nome Mario Piero 87654 67653 Cognome Rossi Neri Corso Ing Inf Ing Mecc Nascita 5/12/78 10/7/79 3/11/76 Matricola è una chiave: è superchiave contiene un solo attributo e quindi è minimale Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

19 Una superchiave che non e‘ chiave
Matricola 27655 78763 65432 Nome Mario Piero 87654 67653 Cognome Rossi Neri Corso Ing Inf Ing Mecc Nascita 5/12/78 10/7/79 3/11/76 [Matricola + Cognome] non sono una chiave: Sono superchiave Non sono superchiave minimale, perche‘ lo e‘ Matricola Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

20 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Domanda 3.5.4 Matricola 27655 78763 65432 Nome Mario Piero 87654 67653 Cognome Rossi Neri Corso Ing Inf Ing Mecc Nascita 5/12/78 10/7/79 3/11/76 In questa relazione [Cognome + Nascita] e‘ superchiave? Risposta: No, vi sono due Rossi nati il 5/12/78 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

21 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Concetti introdotti Vincolo di integrita’ di ennupla Sintassi di vincolo di integrita’ Valore di verita’ di vincolo di integrita’ Vincolo di integrita’ di relazione Vincolo di Superchiave Vincolo di Chiave Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill


Scaricare ppt "Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C"

Presentazioni simili


Annunci Google