Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

Nome Indirizzo

Città

Agenzia Telefono

(1,N)

30/67 Nome Numero

Città (1,N) (1,1)

Agenzia Telefono

Utenza

Indirizzo

31/67 Cognome Nome

Ruolo Città

(1,N) (1,N)

Giocatore Squadra

Composizione

(0,1)

Data

Data cessione

acquisto

32/67 Data

acquisto

(1,1) (1,N) Nome

Ruolo Comp.

attuale

Giocatore Squadra

Comp.

passata (1,N)

(1,N)

Cognome Città

Data

Data cessione

acquisto

33/67 Attività della ristrutturazione

• Analisi delle ridondanze

• Eliminazione delle generalizzazioni

• Partizionamento/accorpamento di

entità e relazioni

• Scelta degli identificatori primari

34/67

Scelta degli identificatori principali

• operazione indispensabile per la

traduzione nel modello relazionale

• Criteri

• assenza di opzionalità

• semplicità

• utilizzo nelle operazioni più frequenti

o importanti

35/67

Se nessuno degli identificatori soddisfa i

requisiti visti?

Si introducono nuovi attributi (codici)

contenenti valori speciali generati

appositamente per questo scopo

36/67 Traduzione verso il

modello relazionale

• idea di base:

• le entità diventano relazioni sugli

stessi attributi

• le associazioni (ovvero le relazioni E-

R) diventano relazioni sugli

identificatori delle entità coinvolte

(più gli attributi propri)

37/67

Entità e relationship molti a molti

Cognome Nome

Matricola Codice

Data inizio

(1,N)

(0,N)

Impiegato Progetto

Partecipazione

Stipendio Budget

Impiegato(Matricola, Cognome, Stipendio)

Progetto(Codice, Nome, Budget)

Partecipazione(Matricola, Codice, DataInizio)

38/67

Entità e relationship molti a molti

Impiegato(Matricola, Cognome,

Stipendio)

Progetto(Codice, Nome, Budget)

Partecipazione(Matricola, Codice,

DataInizio)

• con vincoli di integrità referenziale fra

• Matricola in Partecipazione e (la chiave di)

Impiegato

• Codice in Partecipazione e (la chiave di)

Progetto

39/67 Nomi più espressivi per gli attributi

della chiave della relazione che

rappresenta la relationship

Impiegato(Matricola, Cognome, Stipendio)

Progetto(Codice, Nome, Budget)

Partecipazione(Matricola, Codice, DataInizio)

Partecipazione(Impiegato, Progetto, DataInizio)

40/67 Relationship ricorsive

Quantità

(0,N) (0,N)

Composizione

Composto Componente

Prodotto

Costo Nome Codice

Prodotto(Codice, Nome, Costo)

Composizione(Composto, Componente, Quantità)

41/67 Relationship n-arie

Quantit

Partita IVA Genere Codice

Nome à

(0,N) (1,N)

Fornitore Prodotto

Fornitura

(1,N) Nome

Dipartimento Telefono

Fornitore(PartitaIVA, Nome)

Prodotto(Codice, Genere)

Dipartimento(Nome, Telefono)

Fornitura(Fornitore, Prodotto, Dipartimento, Quantità)

42/67 Relationship uno a molti

Data

Cognome Ingaggio

nascita Nome

Città

(1,1) (0,N)

Giocatore Squadra

Contratto

Ruolo Colori sociali

Giocatore(Cognome, DataNascita, Ruolo)

Contratto(CognGiocatore, DataNascG, Squadra, Ingaggio)

Squadra(Nome, Città, ColoriSociali)

• corretto?

43/67 Soluzione più compatta

Giocatore(Cognome, DataNascita, Ruolo)

Contratto(CognGiocatore, DataNascG, Squadra,

Ingaggio)

Squadra(Nome, Città, ColoriSociali)

Giocatore(Cognome, DataNasc, Ruolo, Squadra,

Ingaggio)

Squadra(Nome, Città, ColoriSociali)

• con vincolo di integrità referenziale fra Squadra in

Giocatore e la chiave di Squadra

• se la cardinalità minima della relationship è 0, allora

Squadra in Giocatore deve ammettere valore nullo

44/67

Entità con identificazione esterna

Cognome Matricola Nome Città

(1,1) (1,N)

Studente Università

Iscrizione Indirizzo

AnnoDiCorso

Studente(Matricola, Università, Cognome, AnnoDiCorso)

Università(Nome, Città, Indirizzo)

• con vincolo …

45/67 Relationship uno a uno

Data inizio

Cognome Sede Nome

Codice (1,1) (1,1)

Direttore Dipartimento

Direzione

Stipendio Telefono

• varie possibilità:

• fondere da una parte o dall'altra

• fondere tutto?

46/67 Una possibilità privilegiata

Data inizio

Cognome Sede Nome

Codice (0,1) (1,1)

Direttore Dipartimento

Direzione

Stipendio Telefono

Impiegato (Codice, Cognome, Stipendio)

Dipartimento (Nome, Sede, Telefono, Direttore, InizioD)

• con vincolo di integrità referenziale, senza valori nulli

47/67 Un altro caso

Data inizio

Cognome Sede Nome

Codice (0,1) (0,1)

Direttore Dipartimento

Direzione

Stipendio Telefono

48/67 (0,1) (1,1)

Cognome Telefono

Direzione

Impiegato Dipartimento

(1,N)

(0,1)

Afferenza Nome

(0,N) (1,1)

Codice (0,1) Composizione

Partecipazione Data (1,N)

(1,N) Sede

Progetto Via Indirizzo Città

Budget Nome CAP

49/67 Schema finale

Impiegato(Codice, Cognome,

Dipartimento*,Sede*, Data*)

Dipartimento(Nome, Città, Telefono, Direttore)

Sede(Città, Via, CAP)

Progetto(Nome, Budget)

Partecipazione(Impiegato, Progetto)

50/67 Esercizio 8.1

• Si consideri lo schema E-R seguente.

• Fare delle ipotesi sul volume dei dati e sulle

operazioni possibili su questi dati e, sulla

base di queste ipotesi, effettuare le

necessarie ristrutturazioni dello schema.

Effettuare infine la traduzione verso il

relazionale.

51/67

52/67 Tabelle

• E’ opportuno organizzare le

informazioni relative al volume dei dati e

alla frequenza delle operazioni in due

tabelle che ci mettono a disposizione

“dati” quantitativi utili per la

ristrutturazione.

53/67 Tabella dei Volumi

54/67 Tabella delle Operazioni

55/67 Considerazioni

• Utilità di aggiungere un attributo

ridondante “NumberOfComponent” per

l’entità FAMILY.

• Operazione numero 6:

• SENZA RIDONDANZA: 1.000.000 di

accessi in lettura alla entità RESIDENT

in lettura ogni giorno.

• CON RIDONDANZA: solo 250.000 a

FAMILY.

56/67 … con ridondanza

• OPERAZIONI 1,2,4 cambiano costo

• 1 accesso in lettura a HEAD FAMILY

• 1 accesso in lettura a RESPONSIBLE (o

MEMBERSHIP)

• 1 accesso in lettura ed uno in scrittura a FAMILY

(update di Number of Components)

• Hp: accesso in scrittura doppio srispetto a

quello in lettura

• COSTO:

(1+1+1+2)*90+(1+1+1+2)*20+(1+1+1+2)*100=1050

• Op 1 op 2 op 4

57/67 Conclusioni …

• Con ridondanza quanto guadagno?

• 750.000 – 1050 = 748.950 accessi al

giorno!!!

• … conviene l’attributo ridondante!

• RISTRUTTURAZIONE DELLE

GERARCHIE:

• … conviene mettere le Entità Figlie

nell’Entità PAdre --- (perche’?)

58/67 Ristrutturazione

59/67


PAGINE

67

PESO

471.01 KB

AUTORE

Sara F

PUBBLICATO

+1 anno fa


DESCRIZIONE DISPENSA

Dispensa di Basi di Dati. Nello specifico gli argomenti trattati sono i seguenti: Progettazione logica, Requisiti della base di dati, Schema concettuale, Schema logico, Schema fisico, Obiettivo della progettazione logica, Dati di ingresso e uscita, Ristrutturazione dello schema E-R, ecc.


DETTAGLI
Esame: Basi di Dati
Corso di laurea: Corso di laurea in ingegneria informatica
SSD:
A.A.: 2013-2014

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Sara F di informazioni apprese con la frequenza delle lezioni di Basi di Dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Napoli Federico II - Unina o del prof Atzeni Paolo.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Basi di dati

Esercitazione Basi di dati
Esercitazione
Basi di Dati – Campionato di calcio
Appunto
Basi di Dati -SQL EMBEDDED
Dispensa
Basi di Dati - Boyce /Codd
Dispensa