Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Obiettivo
Uno schema logico in grado di descrivere
tutte le informazioni contenute nello schema
E-R prodotto nella fase di progettazione
concettuale.
Attività di riorganizzazione e traduzione
Progettazione logica
Schema ER ristrutturato
Schema logico
Dati coinvolti
Tavole di analisi
Tavola dei volumi
concetto tipo volume
Tavola delle operazioni
operazioni tipo frequenza
Tavola degli accessi
concetto costrutto accessi tipo
direzione
(0, 1) (1, 1)
impiegato (1, N)
(0, 1) dipartimento
(0, N) afferenza
partecipazione (1, 1)
(1, N)
composizione
progetto (1, N)
sede
Tavola dei volumi
Concetto Tipo Volume
Sede E 10
Dipartimento E 80
Impiegato E 2000
Progetto E 500
Composizione R 80
Afferenza R 1900
Direzione R 80
Partecipazione R 6000
Operazioni
Assegna un impiegato ad un progetto
Trova i dati di un impiegato, del dipartimento nel
quale lavora e dei progetti ai quali partecipa
Trova i dati di tutti gli impiegati di un certo
dipartimento
Per ogni sede, trova i suoi dipartimenti con il
cognome del direttore e l’elenco degli impiegati
del dipartimento
Tavola delle operazioni
Operazione Tipo Frequenza
Op.1 I 50 al giorno
Op. 3 I 10 al giorno
Op. 4 B 2 a settimana
Schema di operazione (rif. Op. 2)
impiegato (1, N)
(0, 1) dipartimento
(0, N) afferenza
partecipazione
(1, N)
progetto
Tavola degli accessi (rif. Op. 2)
Concetto Costrutto Accessi Tipo
Impiegato E 1 L
Afferenza R 1 L
Dipartimento E 1 L
Partecipazione R 3 L
Progetto E 3 L
Attributi derivabili
Da attributi della stessa entità / associazione
Da attributi di altre entità / associazioni
Da operazioni di conteggio
Da associazioni in presenza di cicli
Tavole di analisi
Tavola dei volumi
Città E 200
Persona E 1ML persona
Resid. R 1ML
(1, 1)
Op1: memorizza una nuova persona con la relativa città di
residenza
residenza
Op2: stampa tutti i dati di una città
Tavola delle operazioni (1, N)
Op.1 I 500/day
Op.2 I 2/day città
“Numero di abitanti”
Mem(num_abit) ≅ 4 byte → dato ridondante
≅ 800 byte (≅1kbyte)
Un accesso in scrittura ha un costo doppio
rispetto ad un accesso in lettura
Tavole degli accessi
Operazione 1 Operazione 2
Persona E 1 S Città E 1 L
Resid. R 1 S
Città E 1 L
Città E 1 S
1(#abitanti/città – medio)
A01 A02
E0 R1 E3
A11 A21
E1 E2 (X, Y)
R2 E4
(a) Accorpamento delle figlie della
generalizzazione nel padre
Atipo
A01 A02
A21
A11
(0, 1) E0 (01)
R1 E3
(0, Y)
R2 E4
(b) Accorpamento del padre della
generalizzazione nelle figlie
R11
R12 E3
E0 R1 E3
(0, 1)
(0, 1)
RG1 RG2
(1, 1)
A11 (1, 1) A21
E1 E2 R2 E4
Partizionamento di entità
Decomposizione verticale
Decomposizione orizzontale
(1, 1) (1, 1)
E1 R1 E2
Decomposizione orizzontale
Agisce sulle occorrenze delle entità
La struttura rimane invariata
Occorre duplicare tutte le associazioni a cui
l’entità originaria partecipava
Attributi multivalori
Il modello relazionale non consente questa
rappresentazione
Occorre normalizzare
A01 A02
A03
E0 (1, N)
(1, 1) (1, N)
E1 R1 E0
Accorpamenti di entità
Accorpamento dei concetti operando sulla
struttura
È conveniente quando le operazioni accedono a
dati presenti su entrambe le entità
Si effettua generalmente su associazioni di tipo
1:1
Presenza di valori nulli
Identificatori
Scelta della chiave primaria per la
costruzione degli indici
Criteri generali:
Escludere attributi con valori nulli
Numero minimo di attributi