• Non ci sono risultati.

Un concetto non precisato l'altra volta

N/A
N/A
Protected

Academic year: 2022

Condividi "Un concetto non precisato l'altra volta"

Copied!
31
0
0

Testo completo

(1)

Un concetto non precisato l'altra volta

• Dato un insieme di dipendenze funzionali, come verifico se un insieme di attributi Y è chiave per una relazione R(X)?

• Calcolo la "chiusura" Y + di Y

• inizializzo Y + con Y

• "finché posso", se ho la dipendenza W → Z e W ⊆ Y + , allora aggiungo Z a Y +

• Y è chiave se Y + = X (cioè se la procedura

(2)

Verifica della chiave nell'esempio visto

R (CodCorso, Anno, Titolo, Cred, Doc, NomeDoc, Sem, Dipart, Ind) CodCorso → Titolo, Cred, Dipart

CodCorso, Anno → Doc, Sem Doc → NomeDoc

Dipart → Ind

• CodCorso, Anno è chiave?

CodCorso, Anno

CodCorso, Anno, Titolo, Cred, Dipart

CodCorso, Anno, Titolo, Cred, Dipart, Doc, Sem

CodCorso, Anno, Titolo, Cred, Dipart, Doc, Sem, NomeDoc

CodCorso, Anno, Titolo, Cred, Dipart, Doc, Sem, NomeDoc, Ind

(3)

Variante nell'ordine delle dipendenze

R (CodCorso, Anno, Titolo, Cred, Doc, NomeDoc, Sem, Dipart, Ind) Doc → NomeDoc

Dipart → Ind

CodCorso → Titolo, Cred, Dipart CodCorso, Anno → Doc, Sem

• CodCorso, Anno è chiave?

CodCorso, Anno

CodCorso, Anno, Titolo, Cred, Dipart

CodCorso, Anno, Titolo, Cred, Dipart, Doc, Sem

CodCorso, Anno, Titolo, Cred, Dipart, Doc, Sem, NomeDoc

CodCorso, Anno, Titolo, Cred, Dipart, Doc, Sem, NomeDoc, Ind

(4)

Definizione di chiave

• Insieme di attributi che identifica univocamente le ennuple ed è minimale rispetto a questa proprietà

• Per verificare che CodCorso Anno è chiave debbo verificare che

• CodCorso da solo non è chiave

• Anno da solo non è chiave

(5)

Un insieme che non è chiave

R (CodCorso, Anno, Titolo, Cred, Doc, NomeDoc, Sem, Dipart, Ind) CodCorso → Titolo, Cred, Dipart

CodCorso, Anno → Doc, Sem Doc → NomeDoc

Dipart → Ind

• CodCorso è chiave?

CodCorso

CodCorso, Titolo, Cred, Dipart

CodCorso, Titolo, Cred, Dipart, Ind

No!

(6)

Attenzione

• La verifica della chiave è semplice

• La ricerca non è semplice:

• si può procedere per tentativi

• conviene "intuire" e verificare

(7)

Progettazione e normalizzazione

• La teoria della normalizzazione può essere usata nella progettazione logica per verificare lo

schema relazionale finale

• Si può usare anche durante la progettazione

concettuale per verificare la qualità dello schema

concettuale

(8)

Prodotto

Nome prodotto

Prezzo Nome

fornitore Indirizzo

Partita IVA

Codice

PartitaIVA ® NomeFornitore Indirizzo

(9)

Indirizzo Partita

IVA

Nome fornitore Nome

prodotto

Prezzo

Codice

Fornitura

Prodotto Fornitore

(1,1) (0,N)

(10)
(11)

Indirizzo Partita

IVA

Nome fornitore

Prezzo

Codice

Fornitura

Prodotto Fornitore

(1,1) (0,N)

(12)

Professore Studente

Corso di laurea

Tesi

(0,N) (0,1)

(0,N)

Dipartimento

(0,N)

(13)
(14)
(15)

Professore Studente

Corso di laurea

Tesi

(0,N) (0,1)

(0,N)

Dipartimento

(0,N)

(16)

Professore Studente

Corso di laurea

Tesi

(0,N) (0,1)

(0,N)

Dipartimento

(0,N)

(17)
(18)

Professore Studente

Corso di Tesi

(0,N) (0,1)

(0,N)

Dipartimento Afferenza

(1,1)

(0,N)

(19)

Professore Studente

Corso di Tesi

(0,N) (0,1)

(0,N)

Dipartimento Afferenza

(1,1)

(0,N)

(20)

Ulteriore analisi sulla base delle dipendenze

• La relationship Tesi (su S C P) è in BCNF sulla base delle dipendenze

Studente ® CorsoDiLaurea Studente ® Professore

• Però, le due proprietà sono indipendenti

• Questo suggerisce una ulteriore decomposizione

(21)

Professore Tesi Studente

(0,N) (0,1)

Dipartimento Afferenza

(0,N) (1,1)

Corso di laurea

(0,N)

Corso di Iscrizione

(0,N)

(1,1)

(22)

Professore Studente

Corso di Tesi

(0,N) (0,1)

(0,N)

Dipartimento Afferenza

(1,1)

(0,N)

(23)

Altro esempio, più sottile

Libro Docente

Corso

(0,N)

(0,N)

(0,N)

(24)

Dettagli

• Un corso ha uno o più docenti (ad esempio più canali) e uno o più libri di testo

• ognuno dei docenti di un corso usa tutti i libri del corso

• Un docente può tenere più corsi

• Un libro può essere usato in più corsi

(25)

In sostanza

• Non c’è legame diretto fra docente e libro

• I legami sono

• fra corso e docente

• fra corso e libro

(26)

Quindi …

Libro Docente

Corso

(0,N)

(0,N)

(0,N)

(27)

Libro Docente

Corso

(0,N)

(0,N)

(0,N)

(0,N)

(28)

Perché possiamo decomporre?

• Perché le due relationship sono indipendenti!

(29)

Abbiamo visto qualcosa di simile nel relazionale

Impiegato Progetto Rossi Marte

Impiegato Progetto Sede Rossi Marte Roma

Verdi Giove Milano Verdi Venere Milano Verdi Giove Roma Verdi

Bruni

Venere Saturno

Roma Milano

Impiegato Sede

Rossi Roma

(30)

Corso, libro e docente nel modello relazionale

Corso Docente Libro BD Atzeni ACFPT1 BD Atzeni ACFPT2 BD Torlone ACFPT1 BD Torlone ACFPT2 APS Cabibbo Larman

Corso Docente BD Atzeni BD Torlone

Corso Libro

BD ACFPT1

BD ACFPT2

(31)

Nota bene, riesco a ricostruire

Corso Docente Libro BD Atzeni ACFPT1 BD Atzeni ACFPT2 BD Torlone ACFPT1 BD Torlone ACFPT2 APS Cabibbo Larman Corso Docente

BD Atzeni BD Torlone APS Cabibbo

Corso Libro BD ACFPT1 BD ACFPT2 APS Larman Corso Docente Libro

BD Atzeni ACFPT1

Riferimenti

Documenti correlati

• Μην αφήνετε ποτέ τα καλώδια που είναι συνδεδεμένα στα εργαλεία αυτά να έρχονται σε επαφή με το δέρμα του ασθενούς ή του χειριστή

L’espettorato puro o i sedimenti di espettorato concentrati preparati da espettorati indotti o espulsi sono prelevati dai pazienti e trasportati al laboratorio in un contenitore

• Aggiornamento software: il software beneficia di aggiornamenti alla versione più recente (da remoto o alla successiva visita on-site pianificata).. Gli aggiornamenti includono

„ Un fornitore è “valido” se copre il comune

In view of the above, the overall objectives of the Wide AmbispectiVE study of the clinical management and bur- den of Bipolar Disorder (WAVE-bd) study are: to provide accurate

È stato mostrato che una sezione pressoinflessa in conglomerato ad altissima resistenza può risultare, a rottura, a seconda del valore di eccentricità dell’azione normale presente

• Quando nella memoria del motore non è presente nessun trasmettitore, per me- morizzare il PRIMO trasmettitore effettuare la “Procedura di configurazione della modalità

Determina il tempo di riempimento della pompa ausiliaria, se in caso di guasto ad una delle due pompe principali il tempo totale di riempimento del serbatoio non deve superare le