progettazione di basi di dati - venus.unive.itvenus.unive.it/borg/modellidb.pdf · progettazione di...

25
Entità-Relazione Progettazione di Basi di Dati Prof. Nicoletta D’Alpaos & Prof. Andrea Borghesan

Upload: vuliem

Post on 14-Feb-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Entità-Relazione

Progettazione di Basi di Dati

Prof. Nicoletta D’Alpaos & Prof. Andrea Borghesan

Progettazione Logica

2

Progettazione concettuale

Progettazione logica

Progettazione fisica

Schema concettuale

Schema logico

Schema fisico

E’ il modo attraverso il quale

i dati sono rappresentati :

fa riferimento al modello logico dei

dati prescelto;

si usano criteri di ottimizzazione

delle

operazioni da fare sui dati;

qualità dello schema verificata

mediante tecniche formali

(normalizzazione);

Modello Logico

3

La scelta del modello del database influisce i passi

successivi della progettazione:

Spesso, specialmente negli anni passati, è stata

una scelta obbligata;

Il modello relazionale è, al momento attuale, il più

usato;

Scelte

4

modello gerarchico

modello reticolare

modello relazionale

modello orientato ad oggetti

modello relazionale ad oggetti

Modello Gerarchico

5

I dati e le corrispondenze sono rappresentateper mezzo di una struttura ad albero:corrispondenza uno a molti

Esempio: “pezzi – fornitori – forniture”

Cod.pezzo

p1

Descrizione

bullone

Colore

verde

Costo

0.01

Cod.fornitore

100

Nome

pinco

Quantita

1000200 tizio 2000

120 pallino 500

Modello Gerarchico

6

Nel modello gerarchico ogni occorrenza di un dato

record ha un suo significato ben preciso solo se vista

nel suo contesto;

Questo significa che un’occorrenza di un record

dipendente non può esistere se non esiste una

occorrenza di un record superiore;

Nell’esempio un fornitore non può essere descritto se

non ha già fornito almeno un pezzo;

Modello Reticolare

7

I dati sono rappresentati da record e le

corrispondenze sono rappresentate da legami

(records connettori)

Ogni record può avere un numero qualunque di

records superiori e un numero qualunque di records

inferiori

Non ha il limite di un solo record superiore:

corrispondenza molti a molti

Modello Reticolare

8

p1 bullone verde 0.01 p2 dado blu 0.02

100 caio 120 pallino 200 tizio

1000 6/5/2006

500 15/5/2006

2000 7/6/2006

2000 7/6/2006 2000 7/6/2006

Modello Relazionale

9

Tutte le informazioni, sia dati che corrispondenze, sono

trattate in forma di relazioni

Cod.art

.

Descrizion

e

Costo

P1 Bullone 0,01

P2 Dado 0,02

Cod.for

n.

Nome

100 Caio

120 Pallino

200 Tizio

Cod.ar

t

Cod.for

n

quantit

à

dat

a

p1 100 1000 …

p1 120 500 …

p2 100 350 ….

articolo

fornitura

fornitore

Modello Relazionale

10

La relazione viene comunemente rappresentata come

una tabella bidimensionale composta da righe e

colonne.

Ciascuna riga (tupla) rappresenta un‘istanza.

Le caratteristiche di ciascuna entita' (attributi) sono

definite dalle colonne delle relazioni.

Entita' con caratteristiche comuni, cioe' descritti dallo

stesso insieme di attributi, fanno parte della stessa

relazione.

Modello Object-Oriented

11

Gli oggetti memorizzati nel database contengono

sia i dati che le operazioni possibili su tali dati.

Lo schema e' rappresentato da un insieme di

classi, che definiscono le caratteristiche ed il

comportamento degli oggetti che popoleranno il

database.

Modello Relazionale

12

Modello Relazionale

13

Si basa sui concetti di:

Relazione

Tabella

…riconducibili uno all‟altro

Modello Relazionale

14

Relazione:

a1 a2 ….. an

A1 A2 An…… domini

tupla

card

inalit

à

grado

Modello Relazionale

15

Dal punto di vista matematico, dati n insiemi A1, A2,…, An, si dice

relazione un sottoinsieme dell’insieme di tutte le n-uple a1, a2,…,

an, che si possono costruire prendendo nell’ordine un elemento a1

dal primo insieme A1, a2 da A2, e così via;

Il numero n si chiama grado della relazione;

Gli insiemi Ai si chiamano domini della relazione

Il numero delle n-uple (tuple) si chiama cardinalità della relazione;

Modello RelazionaleVincoli

16

Non è vero che qualsiasi insieme di tuple sullo

schema rappresenta un’informazione corretta per

l’applicazione;

Vincoli di integrità :

Vincoli di dominio

Vincoli di tupla

Vincoli di chiave

Vincoli di chiave esterna o di integrità referenziale

Modello RelazionaleVincoli di dominio

17

Vincolo intrarelazionale;

A ciascuna occorrenza di dominio è

associato un nome (attributo);

Gli attributi sono utilizzati come

intestazioni delle colonne;

Ogni dominio deve essere definito;

La colonna “costo” contiene

un numero con 2 posizioni

decimali

Modello Relazionale

Vincoli di tupla

18

Vincolo intrarelazionale;

Tramite espressioni booleane più o menocomplesse si condizionano i valori di ciascunatupla, indipendentemente dalle altre tuple;

Matricola Corso Voto Lode

53421 A10 20

54791 B05 27

44853 A10 30 Si

53567 B04 30

Esempi:

Voto>=18 AND Voto <= 30

Voto = 30 OR NOT (Lode=„Si‟)

Modello Relazionalechiave

19

La chiave della relazione è un attributo o una

combinazione di attributi che identificano in modo

univoco le n-uple all’interno della relazione, cioè

ogni riga della tabella possiede valori diversi per

l’attributo (o gli attributi) chiave;

Esempio: il codice articolo

identifica l‟articolo

Modello RelazionaleVincoli di chiave

20

Un vincolo di chiave è l’imposizione che un

certo sottoinsieme minimale di campi di una

relazione sia un identificatore unico per una tupla;

Un insieme di campi che identificano

univocamente una tupla secondo un vincolo di

chiave si chiama una chiave candidata per la

relazione;

Modello Relazionale

Vincoli di chiave

21

Una relazione può avere più di una chiavecandidata;

Tra tutte le chiavi candidate se ne sceglie una comechiave primaria effettiva, le altre sono dette chiaviprimarie alternative;

Una relazione ha sempre almeno una chiaveprimaria;

La chiave primaria non può assumere valori nulli

Modello Relazionale

Integrità referenziale

22

Vincolo interrelazionale;

Si applica quando le informazioni memorizzate inuna relazione sono collegate alle informazionimemorizzate in un’altra tabella;

Matricola Corso Voto Lode

53421 C10 20

54791 B05 27

44853 B04 30 Si

53567 B04 30

Corso Descrizione

A01 Informatica

A10 Base dati I

B04 Analisi I

B05 Analisi II

errore

DBMS

23

Progettazione fisica

24

Progettazione concettuale

Progettazione logica

Progettazione fisica

Schema concettuale

Schema logico

Schema fisico

Specifica dei parametri fisici di

memorizzazione dei dati :

organizzazione dei files e degli indici;

dipende dallo specifico sistema di

gestione scelto;

DBMS

25

Data Base Management System è un sistema software in grado di gestire collezioni di dati aventi le seguenti caratteristiche

Grandi• dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo

utilizzati

• il limite deve essere solo quello fisico dei dispositivi

Condivise

utilizzabili cioè da utenti diversi, con esigenze, interessi, priorità diversi, che possono accedere solo a parte delle informazioni e potrebbero essere in concorrenza fra loro

Persistenti

hanno un tempo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano

assicurando la loro

affidabilità i dati sono integrati riducendo al minimo la ridondanza (informazioni ripetute) e

massimizzando la consistenza (versioni diverse non devono coesistere);

e privatezza