Anteprima
Vedrai una selezione di 5 pagine su 19
Gestione dati e archivi - approfondimento modello relazionale Pag. 1 Gestione dati e archivi - approfondimento modello relazionale Pag. 2
Anteprima di 5 pagg. su 19.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - approfondimento modello relazionale Pag. 6
Anteprima di 5 pagg. su 19.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - approfondimento modello relazionale Pag. 11
Anteprima di 5 pagg. su 19.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - approfondimento modello relazionale Pag. 16
1 su 19
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Schema di base di dati

D→ 1 2 nche associa ad ogni nome di attributo in {A ,A ,1 2. . . ,A } il corrispondente dominionLa coppia (R(A ,A , . . . ,A ), dom) e` uno1 2 nschema di relazione 12 6 Siano S , S , . . . , S schemi di relazioni, con 1 2 nnomi di relazione distintiS = {S , S , . . . , S } e` detto1 2 nschema di base di dati 13 EsempioSchema: Film(titolo,regista,anno,genere,valutaz)dom(titolo) = dom(regista) = dom(genere) = stringdom(anno) = intdom(valutaz) = realRelazione string × string × int × string × real⊆Tupla: [titolo:‘ed wood’,regista:‘tim burton’,anno:1994,genere:’drammatico’,valutaz:4.00] 14 7 Valori nulliNon sempre sono disponibili informazioni sulle entità del dominio applicativorappresentato nella base di datialcune tuple possono non avere un valore per un qualche attributo nullo)Si introduce un valore speciale (valore che denota la mancanza di valore 15 Valori nulli – quale valore?Usare

un valore legale per almeno un dominio non è una buona soluzione

Se scegliamo 0, 0 è un valore legale per i domini numerici il suo uso non permetterebbe di distinguere il caso in cui 0 sia effettivamente il valore dell'attributo dal caso in cui 0 indichi il valore nullo

Assumiamo di denotare il valore nullo con il simbolo '?'

Esempio

Noleggio(colloc,dataNol,codCli,dataRest )

odom(codCli) = dom(colloc) = int

dom(dataNol)= dom(dataRest)= date

Notazione

negli schemi evidenziamo con un circoletto gli attributi che possono assumere valori nulli

Chiavi

Una chiave di una relazione è un insieme di attributi che distingue fra loro le tuple della relazione

Sia R(A , ...,A ) uno schema di relazione

1 n chiave

Un insieme X di attributi di R è di R se verifica entrambe le seguenti proprietà:

qualsiasi sia lo stato di R, non esistono due tuple distinte di R che abbiano lo stesso valore per tutti gli attributi in X

nessun sottoinsieme proprio di X verifica la proprietà (1)

2. Un

Un insieme di attributi che verifica la proprietà (1) super-chiave ma non la proprietà (2), è detto di R 18 9

Chiavi candidate:

Una relazione può avere più di un insieme S di attributi che verificano le proprietà (1) e (2)

Le chiavi delle relazioni vengono individuate mediante esame del dominio applicativo e dei relativi vincoli

Una relazione ha sicuramente almeno una chiave. Essendo R un insieme, non esistono tuple duplicate, quindi l'insieme di tutti gli attributi di R soddisfa la proprietà (1)

Chiave primaria:

Criteri di scelta della chiave primaria: Chiave candidata contenente il minor numero di attributi

Chiave candidata più frequentemente utilizzata nelle interrogazioni

Le chiavi primarie non possono assumere valori nulli

Le chiavi alternative possono assumere valori nulli

Esempio:

Cliente(codCli, nome, cognome, telefono, dataN, residenza)

Film(titolo, regista, anno, genere, valutaz

Video(colloc,titolo,regista,tipo)

Noleggio(colloc,dataNol,codCli,dataRest)

21 Chiavi esterne

Permettono di modellare le associazioni. Siano R ed R′ due relazioni. Y una chiave per R′. X un insieme di attributi di R tale che Y e X contengano lo stesso numero di attributi e di dominio compatibile. Chiave esterna X e` una di R su R′ se, qualsiasi siano gli stati di R ed R′, per ogni tupla t di R esiste una tupla t′ di R′ tale che [X] = t′[Y].

Relazione referente: R viene detta relazione riferita. R′ viene detta relazione referente.

22 Chiavi esterne - schema

XR(A,B,C,D,E)
R’(F,G,H,I)
(D,E) e (F,G) domini compatibili
(D,E) pu` essere definita come chiave esterna di R su R’.

23 Chiavi esterne - istanza

R R’
A B C D E F G H I
a1 b1 c1 d1 e1 d1 e1 h1 i1
a2 b1 c2 d2 e1 d1 e2 h2 i2
a3 b2 c3 d1 e1 d2 e1 h1 i3
a4 b2 c3 d2 e3 d2 e4 h3 i4
d2 e2 h1 i1
d2 e3 h2 i1

24 Chiavi esterne

Le chiavi esterne permettono di collegare tra loro tuple di relazioni diverse. Meccanismo per...

realizzare le associazioni per valore 25Integrità referenzialeQualsiasi siano gli stati di R ed R', per ogni tupla t di R esiste una tupla t' di R' tale che t[X] = t'[Y]Vincolo di integrità referenziale 26 13EsempioCliente(codCli,nome,cognome,telefono,dataN,residenza)Film(titolo,regista,anno,genere,valutaz)◦Film FilmVideo(colloc,titolo,regista,tipo)Video Cliente,dataNol,codCli,dataRest)Noleggio(colloc ◦ 27Esempio Vincolo di integrità referenziale soddisfatto 28 14Vincolo di integrità referenzialeEsempio soddisfatto 29EsempioVincolo di integrità referenzialeNON soddisfatto 1126 22-Mar-2006 6655 ? 30 15Violazioni integrità referenzialeL'integrità referenziale può essere violata da inserimenti e modifiche (del valore della chiave esterna) nella relazione referente da cancellazioni e modifiche (del valore della chiave) nella relazione riferitaI linguaggi per basi di dati quali SQL permettono all'utente, nella definizione di chiavi esterne,

dispecificare quali azioni eseguire nel caso in cuioperazioni di modifica violino l'integrita` referenziale

31ViolazioniVincolo diintegrita` referenzialeviolato da inserimentoin tabella referente 1126 22-Mar-2006 6655 ? 32 16ViolazioniVincolo diintegrita` referenzialeviolato da modificain tabella referente 661066606660 non appare 33ViolazioniVincolo diintegrita` referenzialeviolato da cancellazionein tabella riferita 34 17ViolazioniVincolo diintegrita` referenzialeviolato da modificain tabella riferita6630 35Osservazione 1I nomi degli attributi nella chiave e nella chiave esterna non devono necessariamente essere gli stessiSe lo sono, semplificano alcune operazioni (join naturale)Esempio Cliente(codCli,nome,cognome,telefono,dataN,residenza) ClienteNoleggio(collocVideo,dataNol,cliente ,dataRest ) oGli attributi avranno sicuramente nomi diversi tutte le volte che la relazione referente e la relazione riferita coincidono, cioe` la chiaveesterna contiene un riferimento alla relazione

stessaEsempio

oFilm oFilmFilm(titolo,regista,anno,genere,valutaz ,titoloPre ,registaPre )

o(titoloPre,registaPre) contengono titolo e regista del film di cui il film e` eventualmente il seguito

36 18

Dettagli
Publisher
A.A. 2012-2013
19 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Menzo di informazioni apprese con la frequenza delle lezioni di Gestione dati e archivi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi dell' Insubria o del prof Lanotte Ruggero.