il modello logico dei dati - valeria valecchi...dal modello e/r al modello relazionale (1) dal...

17
Il modello logico dei dati A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano Edizioni Atlas

Upload: others

Post on 22-May-2020

10 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

Il modello logico dei dati

A. Lorenzi, E. Cavalli

INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI

Copyright © Istituto Italiano Edizioni Atlas

Page 2: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

2

Modello Concettuale

Livello Fisico

Realtà

Database

Come organizzare i dati

Modello Logico Modello

relazionale

Page 3: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

3

Relazioni e tabelle

Page 4: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

4

Le relazioni

• Il successo del modello relazionale si fonda sulla visione tabellare dei dati

basata sul concetto matematico di relazione

A = {4, 9, 16} , B = {2, 3}

AB = { (4,2), (9,2), (16,2), (4,3), (9,3), (16,3) }

Q = { (4,2), (9,3) } AB

Q è una relazione sui domini A e B

QuadratoDi(4,2)

4 QuadratoDi 2

(4,2)

(9,3)

(4,3)

(9,2)

(16,2)

(16,3)

Q

A x B

Page 5: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

5

Relazioni e tabelle

A1 A2

4 2

4 3

9 2

9 3

16 2

16 3

I due insiemi A1A2 e QuadratoDi possono essere rappresentati con tabelle

A1 A2

4 2

9 3

A1A2 QuadratoDi

• Dati n insiemi S1, S2, S3, ..., Sn si dice relazione

R su questi insiemi l'insieme delle tuple (n-uple):

s1, s2, s3,..., sn

• Gli insiemi Si si chiamano domini della relazione

detta di grado n

• Cardinalità della relazione è il numero di tuple

(righe) che la compongono

Page 6: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

6

Caratteristiche delle relazioni

Cardinalità

Modello Costruttore Segmento Porte Posti

Serie 3 BMW D 4 5

Panda Fiat B 5 5

Giulietta Alfa Romeo C 5 5

Bravo Fiat C 5 5

Punto Fiat B 3 5

C1 Citroen B 3 4

C3 Citroen C 5 5

Delta Lancia C 5 5

Grado Tupla (Riga)

Attributi

(Colonne)

Automobili: relazione di grado 5 e cardinalità 8

Dominio di Porte:

{ 3, 4, 5 }

Page 7: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

7

Relazioni: terminologia (1)

• Chiave di una relazione è un attributo o un insieme minimale di attributi che

identificano univocamente le n-uple della relazione, cioè ogni riga della tabella

possiede valori diversi per l’attributo (o gli attributi) chiave

• Schema di una relazione, per esempio di Automobili, è una scrittura del tipo:

Automobili ( Modello, Costruttore, Segmento, Porte, Posti )

Modello Costruttore, Segmento, Porte, Posti

“Panda” “Fiat”, “C”, 5, 5

• Terminologia usata:

Tabella Colonna Riga

Relazione Attributo Tupla

File Campo Record

Terminologia

molto diffusa

Page 8: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

8

Relazioni: terminologia (2)

Facoltà

Codice Descrizione

eco Economia

ing Ingegneria

lin Lingue

med Medicina

• Un esempio di schema relazionale di database:

Studenti ( Matricola, Nominativo, Indirizzo, CodFac )

Facoltà ( Codice, Descrizione )

Studenti

Matricola Nominativo Indirizzo CodFac

2340 Nino Verdi Milano ing

2370 Lino Bianchi Torino ing

21323 Marzia Rossi Venezia eco

34510 Franco Dini Palermo eco

45678 Silvia Gualeni Salerno lin

53325 Franco Bassetti Foggia eco

Chiave esterna

Page 9: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

9

Il modello relazionale

Caratteristiche di base del modello relazionale sono le seguenti:

• Tutte le righe hanno lo stesso numero di attributi e contengono

informazioni di una (sola) entità

• I valori delle colonne rappresentano informazioni elementari (non ci

sono informazioni di gruppo)

• Tutti i valori in una colonna sono del medesimo tipo

• Non ci possono essere righe duplicate: ci deve essere un attributo o

insieme di attributi con la funzione di chiave primaria

• L’ordine delle colonne non è rilevante (perché le colonne hanno

un’intestazione)

• L’ordine delle righe non è rilevante

Page 10: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

10

Dal modello E/R al modello relazionale

Page 11: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

11

Dal modello E/R al modello relazionale (1)

Dal modello concettuale dei dati è possibile ottenere il modello logico dei

dati usando le seguenti regole di derivazione:

1. Ogni entità diventa una relazione; ogni attributo di un’entità diventa un

attributo della relazione ereditando le caratteristiche dell’attributo

dell’entità da cui deriva

2. L’identificatore univoco di un’entità diventa la chiave primaria della

relazione derivata

3. Per rappresentare le associazioni:

a) Associazione 1:1. Si costruisce un’unica relazione che contiene gli

attributi della prima e della seconda entità (regola con molte

eccezioni). E’ spesso preferibile trattare l’associazione 1:1 come se

fosse 1:N Se nel modello E/R ci sono due entità perché

riunire i fatti dell’una con quelli dell’altra?

Page 12: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

12

Dal modello E/R al modello relazionale (2)

b) Associazione 1:N. Si rappresenta aggiungendo, agli attributi

dell’entità che svolge il ruolo a molti, l’identificatore univoco

dell’entità che svolge il ruolo a uno nell’associazione (chiave

esterna). Gli eventuali attributi dell’associazione vengono inseriti

nella relazione che rappresenta l’entità a molti, assieme alla chiave

esterna

c) L’associazione N:N. Si rappresenta costruendo una nuova tabella

(in aggiunta alle relazioni derivate dalle entità) composta dagli

identificatori univoci delle due entità e dagli eventuali attributi

dell’associazione. La chiave della nuova relazione è formata

dall’insieme di attributi che compongo le chiavi delle due entità, oltre

agli attributi dell’associazione necessari a garantire l’unicità delle

righe nella tabella ottenuta

Page 13: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

13

Modello con associazione 1:1

Dipendenti ( Matricola, Nome, Cognome, DataNascita, LuogoNascita,

Targa, Modello, Costruttore, Cilindrata )

Dipendenti ( Matricola, Nome, Cognome, DataNascita, LuogoNascita )

AutoAziendali ( Targa, Modello, Costruttore, Cilindrata, Matricola )

Dipendenti e auto aziendali: pochi dipendenti hanno l’auto aziendale

Essere Assegnata

1 1 Dipendente

Matricola {PK}

Nome

Cognome

DataNascita

LuogoNascita

AutoAziendale

Targa {PK}

Modello

Costruttore

Cilindrata

Molte righe con

questi campi nulli

Meglio così

Page 14: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

14

Contratti ( Codice, Descrizione, StipendioBase, DataScadenza )

Dipendenti ( Matricola, Cognome, Nome, Indirizzo, Qualifica )

Modello con associazione 1:N (1)

Dipendenti e relativi contratti di lavoro

Contratti ( Codice, Descrizione, StipendioBase, DataScadenza )

Dipendenti ( Matricola, Cognome, Nome, Indirizzo, Qualifica, CodiceContratto )

Applicare

1 N Contratto

Codice {PK}

Descrizione

StipendioBase

DataScadenza

Dipendente

Matricola {PK}

Cognome

Nome

Indirizzo

Qualifica

Page 15: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

15

Persone ( CodiceFiscale, Cognome, Nome, DataNascita, Indirizzo )

Automobili ( Targa, Modello, Produttore, Cilindrata, PrezzoListino,

CodiceFiscale, DataAcquisto, PrezzoAcquisto)

Modello con associazione 1:N (2)

Acquisto di automobili da parte di persone

Acquistare 1 N Persona

CodiceFiscale {PK}

Cognome

Nome

DataNascita

Indirizzo

Automobile

Targa {PK}

Modello

Produttore

Cilindrata

PrezzoListino

DataAcquisto

PrezzoAcquisto

Page 16: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

16

Studenti ( Matricola, Nome, Cognome, Indirizzo, Telefono )

Materie ( CodiceMateria, NomeMateria, NumeroOre )

Esami ( Matricola, CodiceMateria, Data, Voto )

Modello con associazione N:N (1)

Studenti e Materie d’esame

Valutare N N Studente

Matricola {PK}

Cognome

Nome

Indirizzo

Telefono

Materia

CodiceMateria {PK}

NomeMateria

NumeroOre Data

Voto

Esami ( Matricola, CodiceMateria, Data, Voto )

Page 17: Il modello logico dei dati - Valeria Valecchi...Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando

17

Studenti ( Matricola, Nome, Cognome, Indirizzo, Telefono )

Materie ( CodiceMateria, NomeMateria, NumeroOre )

Esami ( Numero, Data, Voto )

Modello con associazione N:N (2)

Studenti e Materie d’esame – approccio con 3 entità

Esami ( Numero, Data, Voto, Matricola, CodiceMateria )

N N Studente

Matricola {PK}

Cognome

Nome

Indirizzo

Telefono

Materia

CodiceMateria {PK}

NomeMateria

NumeroOre

Esame 1 1

Numero {PK}

Data

Voto