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

Slides:



Advertisements
Presentazioni simili
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Advertisements

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
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 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
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
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
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 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
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
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
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
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
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
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
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
A. A – 2008 Basi di dati 1 Corso Prof
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Condizioni decisionali
Raccolta ed Analisi dei Requisiti nella Progettazione
Progettazione 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
Integrità referenziale
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
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
I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità.
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
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione logica: Il modello relazionale
Dino Pedreschi Dipartimento di Informatica a.a. 2011– 2012
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Il modello relazionale
Condizioni decisionali
Selezione e Proiezione
Condizioni decisionali
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:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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