• Non ci sono risultati.

PROGETTAZIONE DI BASI DI DATI: METODOLOGIE E MODELLI

N/A
N/A
Protected

Academic year: 2021

Condividi "PROGETTAZIONE DI BASI DI DATI: METODOLOGIE E MODELLI"

Copied!
30
0
0

Testo completo

(1)

METODOLOGIE E MODELLI

Basi di dati | Modello E-R 5{0

Progettazione di basi di dati

 e una delle attivita del processo di sviluppo dei sistemi informatici

 va quindi inquadrata in un contesto piu generale:

il ciclo di vita dei sistemi informatici:

{

Insieme e sequenzializzazione delle attivita svolte da analisti, progettisti, utenti, nello sviluppo e nell'utilizzazione dei

sistemi informatici.

{

Si tratta di una attivita iterativa (percio \ciclo")

Basi di dati | Modello E-R 5{1

(2)

Fasi del ciclo di vita

una possibile articolazione

 Attivita preliminari

 Analisi

 Progettazione

 Realizzazione

 Installazione, transizione, gestione, manutenzione

Al termine (e non solo) di ciascuna fase, deve essere svolta una attivita di veri ca (validazione) della qualita dei prodotti.

Anche in caso di adamento all'esterno delle attivita di sviluppo, buona parte delle fasi del ciclo di vita rimangono di interesse.

Basi di dati | Modello E-R 5{2

Analisi

Attivita volta alla individuazione dei requisiti dell'applicazione, in tutti i dettagli signi cativi. Le informazioni vengono acquisite attraverso

 interazione con gli utenti (a diversi livelli)

 studio delle realizzazioni esistenti

 studio della normativa

Basi di dati | Modello E-R 5{3

(3)

Progettazione

Attivita volta alla individuazione delle modalita secondo cui l'applicazione rispondera ai requisiti. In questa fase vengono de niti

 i dati di ingresso e uscita e la loro organizzazione

 l'architettura hardware e software

 la organizzazione dei moduli software

Basi di dati | Modello E-R 5{4

Analisi e progettazione Analisi

de nizione di un problema;

\che cosa"

esame delle procedure aziendali

scopo dell'analisi e la

modellazione

, la costruzione di un modello preciso, ma astratto rispetto alle realizzazioni

Progettazione

risoluzione di un problema;

\come"

automatizzazione delle procedure

Basi di dati | Modello E-R 5{5

(4)

 prodotti fondamentali della fase di analisi sono le

rappresentazioni del sistema secondo opportuni formalismi

 poiche in un sistema abbiamo processi (funzioni) e dati, l'analisi deve riguardare entrambi gli aspetti

{

analisi dei dati

{

analisi delle funzioni

 l'analisi delle funzioni puo apparire piu \naturale" perche fa riferimento alle attivita che vengono svolte

 l'analisi dei dati e pero essenziale per studiare i ussi

informativi (soprattutto interprocesso) ed e per certi aspetti piu semplice perche i dati sono piu stabili e piu facilmente analizzabili in dettaglio

Basi di dati | Modello E-R 5{6

 lo studio di metodologie complete per lo sviluppo di sistemi informativi (e informatici) e oltre gli obiettivi di un corso di basi di dati

 il ruolo centrale dei dati (e quindi delle basi di dati) giusti ca uno studio autonomo della progettazione di basi di dati

Basi di dati | Modello E-R 5{7

(5)

Metodologia

 articolazione delle attivita in fasi, con input e prodotti

 strategie per i vari passi e criteri di scelta

 modelli per la rappresentazione dei prodotti delle varie fasi Proprieta:

 generalita (rispetto alle applicazioni e ai sistemi)

 qualita del prodotto (correttezza, completezza, ecienza, ...)

 facilita d'uso

Basi di dati | Modello E-R 5{8

Fasi del processo

di progettazione di basi di dati Analisi dei requisiti e progettazione concettuale

:

raccolta ed esame delle speci che;

costruzione di uno

schema concettuale

(descrizione dei dati in un modello astratto) e di un glossario

Progettazione logica

: de nizione dello

schema logico

della base di dati (descrizione utilizzata dagli utenti e dai programmi)

Progettazione sica

: de nizione dei parametri realizzativi di livello piu basso

La progettazione di basi di dati segue l'articolazione in livelli dei sistemi, aggiungendo anzi un livello piu astratto

Basi di dati | Modello E-R 5{9

(6)

 il prodotto fondamentale della prima fase (analisi e

progettazione concettuale) e lo

schema concettuale

(con la documentazione associata), cioe uno schema dei dati secondo un modello

concettuale

 i modelli concettuali vengono spesso utilizzati n dall'inizio dell'ativita di analisi e sono molto utili anche per la

comunicazione fra specialisti e non specialisti (analisti e committenti)

 vediamo in dettaglio un modello concettuale

Basi di dati | Modello E-R 5{10

Modello dei dati

 costrutti utilizzati per organizzare i dati di interesse

 componente fondamentale:

meccanismi di strutturazione

(o

costruttori di tipo

)

 ad esempio, il modello relazionale prevede il costruttore

relazione

, che permette di de nire insiemi di record omogenei

Basi di dati | Modello E-R 5{11

(7)

Le relazioni possono essere rappresentate per mezzo di tabelle docenza Corso Docente

Basi di dati Rossi Impianti Neri Linguaggi Verdi

::: :::

manifesto CdL Materia Anno II Basi di dati 5

II Impianti 5

II Linguaggi 4

IE Linguaggi 5

IE Impianti 5

::: ::: :::

Basi di dati | Modello E-R 5{12

In ogni base di dati esistono:

 lo

schema

, sostanzialmente invariante nel tempo, che ne descrive la struttura (aspetto

intensionale

);

nell'esempio, le intestazioni delle tabelle

 l'

istanza

, costituita dai valori attuali, che possono cambiare molto e molto rapidamente (aspetto

estensionale

);

Basi di dati | Modello E-R 5{13

(8)

Due tipi (principali) di modelli:



modelli logici

: utilizzati nei DBMS esistenti per l'organizzazione dei dati; ad essi fanno riferimento i programmi; sono indipendenti dalle strutture siche;



modelli concettuali

: peremettono di rappresentare i dati in modo indipendente da ogni sistema, cercando di descrivere i concetti del mondo reale; sono utilizzati nelle fasi preliminari di progettazione;

il piu noto e il modello

Entity-Relationship

Basi di dati | Modello E-R 5{14

 i modelli concettuali vengono spesso utilizzati n dall'inizio dell'attivita di analisi e sono molto utili anche per la

comunicazione fra specialisti e non specialisti (analisti e committenti)

 i modelli concettuali sono stati introdotti per ovviare al limitato potere espressivo e alla \rigidita" dei modelli logici

Basi di dati | Modello E-R 5{15

(9)

 in un modello concettuale (come in ogni modello dei dati), i dati possono essere descritti a due livelli:

estensionale

, relativo ai dati veri e propri, fortemente variabile nel tempo

intensionale

, o dello

schema

relativo alla struttura dei dati, molto piu stabile

 in sede di progettazione, interessa (solo) lo schema, in quanto astrazione del livello estensionale

Basi di dati | Modello E-R 5{16

 lo schema concettuale e una rappresentazione delle classi dei dati di interesse e delle loro correlazioni, in modo indipendente da ogni aspetto realizzativo (poi, la realizzazione sara basata sullo schema concettuale, ma non viceversa)

 si utilizzano rappresentazioni gra che degli schemi concettuali (che hanno un signi cato ben preciso, non solo \scatole e frecce")

Basi di dati | Modello E-R 5{17

(10)

Il modello E-R (Entity-Relationship)

 il piu di uso modello concettuale

 attenzione: ne esistono molte versioni, (piu o meno) diverse l'una dall'altra

Basi di dati | Modello E-R 5{18

I costrutti del modello E-R

 entita

 relationship

 attributi

 identi catori

 generalizzazioni e sottoinsiemi

Basi di dati | Modello E-R 5{19

(11)

entita

: classe di oggetti (fatti, persone) del frammento di interesse del mondo reale, con proprieta omogenee e con esistenza

\autonoma"; es. persone, citta, aziende, fatture, ordini

relationship

: legame logico fra due o piu entita, di interesse per l'applicazione; classe di fatti di interesse

Basi di dati | Modello E-R 5{20

entita

: la classe di oggetti omogenei (e il loro tipo)

occorrenza

(o

istanza

)

di entita

: ciascun elemento della classe

 nello schema concettuale rappresentiamo le entita, non le singole istanze (\astrazione")

Basi di dati | Modello E-R 5{21

(12)

 ogni entita ha un

nome

che la identi ca univocamente nello schema

{

nomi espressivi

{

opportune convenzioni (ad esempio, sempre singolare)

Basi di dati | Modello E-R 5{22

Entita: rappresentazione gra ca

Impiegato

Citta

Regione

Azienda

Basi di dati | Modello E-R 5{23

(13)

relationship

legame logico fra due o piu entita, di interesse per l'applicazione; classe di fatti di interesse

 spesso non tradotto per evitare la confusione con relazione (traduzione di relation)

 anche tradotto con

correlazione

o

associazione

Basi di dati | Modello E-R 5{24

occorrenza

(o

istanza

)

di relationship

:

n-upla (coppia, terna, ...) di istanze di entita, una per ciascuna entita coinvolta

relationship

: insieme di n-uple omogenee per

 tipo (entita di provenienza)

 signi cato (rispetto all'applicazione)

Basi di dati | Modello E-R 5{25

(14)

Relationship:

rappresentazione gra ca

Studente Esame

H

H

H

H

H

H











 H H H H H

H Corso

Persona Residenza

H

H

H

H

H

H











 H H H H H

H Citta

Basi di dati | Modello E-R 5{26

 due entita possono essere coinvolte in piu relationship

Persona Residenza

H

H

H

H

H

H











 H H H H H

H Citta

Nascita











H

H

H

H

H

H











 H H H H H H

Basi di dati | Modello E-R 5{27

(15)

un dettaglio formale:

 le istanze di una relationship formano un

insieme

: non ci possono essere elementi ripetuti

 si tratta di una

relazione

nel senso matematico del termine:

(sottoinsieme del prodotto cartesiano degli insiemi di istanze coinvolte)

Paziente Visita

H

H

H

H

H

H











 H H H H H

H Medico

?

Basi di dati | Modello E-R 5{28

 le relationship possono coinvolgere piu di due entita

Dipartimento Fornitura



H

H

H

H

H

H

H













 H H H H H H

H Prodotto

Venditore

A fornisce stampanti al Dip Personale B \ fotocopiatrici \ \ Personale

A \ calcolatori \ \ Ricerca

C \ calcolatori \ \ Personale

Basi di dati | Modello E-R 5{29

(16)

 una relationship puo coinvolgere \due volte" la stessa entita (relationship

ricorsiva

)

 puo essere necessario distinguere \ruoli"

Persona

Conoscenza











H

H

H

H

H

H











 H H H H H H

Sovrano

Successione











H

H

H

H

H

H











 H H H H H H

Successore Predecessore

Basi di dati | Modello E-R 5{30

 possono esistere relationship ternarie ricorsive

Tennista

Confronto











H

H

H

H

H

H











 H H H H H H

Migliore Peggiore

Super cie

Migliore Peggiore Super cie Sanchez Navratilova Terra Navratilova Sanchez Erba

Graf Sanchez Erba

Basi di dati | Modello E-R 5{31

(17)

attributo

: proprieta elementare di un'entita o una relationship, di interesse ai ni dell'applicazione

 un attributo associa un valore a ciascuna occorrenza dell'entita (o relationship) su cui e de nito

Studente Esame





H

H

H

H

H

H

H













 H H H H H H

H Corso eCodice

eDenominazione

eProfessore

e

Voto

Matricola e

Nome e

Basi di dati | Modello E-R 5{32

Uno schema E-R

IMPIEGATO AFFERENZA

DIREZIO NE

DIPARTIMENTO

PROGETTO

PARTECIPAZIONE

SEDE COM PO SIZIONE

Età Cognome

Stipendio

Data consegna Nome Budget

Nome Telefono

Città Data inizio

Data afferenza

Indirizzo Via Numero civico

CAP Codice

Basi di dati | Modello E-R 5{33

(18)

Altri costrutti e dettagli del modello:

 cardinalita delle relationship

 identi catori

 gerarchie

Basi di dati | Modello E-R 5{34

Cardinalita delle relationship

 permettono di speci care il numero minimo e massimo di occorrenze della relationship cui ciascuna occorrenza di una entita deve/puo partecipare

 per semplicita usiamo:

{

0 e 1 per la cardinalita minima:

0 = \e opzionale"; 1 = \e obbligatoria"

{

1 e \N" per la massima:

\N" non pone alcun limite

 con riferimento alle cardinalita massime, abbiamo relationship:

uno a uno, uno a molti, molti a molti

Basi di dati | Modello E-R 5{35

(19)

 le cardinalita vanno speci cate per ciascuna entita che partecipa alla relationship

E1  R



H

H

H

H

H

H

H













 H H H H H H

H E2

(m, M) (p,P)

 ogni occorrenza di E1 partecipa ad almeno m e al piu M occorrenze di R

 ogni occorrenza di E2 partecipa ad almeno p e al piu P occorrenze di R

Basi di dati | Modello E-R 5{36

Relationship \molti a molti"

Persona Amicizia



H

H

H

H

H

H











 H H H H H

H Animale

(0,N) (0,N)

Montagna Scalata

H

H

H

H

H

H











 H H H H H

H Alpinista

(0,N) (1,N)

Macchinista Abilitazione



H

H

H

H

H

H











 H H H H H

H Locomotore

(1,N) (1,N)

Basi di dati | Modello E-R 5{37

(20)

Relationship \uno a molti"

Persona Impiego

H

H

H

H

H

H











 H H H H H

H Societa

(0,1) (0,N)

Cinema Ubicazione



H

H

H

H

H

H











 H H H H H

H Localita

(0,1) (1,N)

Comune Ubicazione

H

H

H

H

H

H











 H H H H H

H Provincia

(1,1) (1,N)

Basi di dati | Modello E-R 5{38

Relationship \uno a uno"

Professore Titolarita



H

H

H

H

H

H











 H H H H H

H Cattedra

(0,1) (0,1)

Professore

di ruolo Titolarita



H

H

H

H

H

H











 H H H H H

H Cattedra

(1,1) (0,1)

Professore

di ruolo Titolarita



H

H

H

H

H

H











 H H H H H H

Cattedra coperta (1,1) (1,1)

Basi di dati | Modello E-R 5{39

(21)

Due avvertenze:

 attenzione al \verso" nelle relationship uno a molti

 le relationship obbligatorie-obbligatorie spesso hanno poco senso

Basi di dati | Modello E-R 5{40

Cardinalita di attributi

Possono essere usate per:

 indicare opzionalita (molto utili, corrispondono ai valori nulli)

 per indicare attributi multivalore (non sempre utilizzati)

PERSONA Nome

Numero patente Targa automobile

(0,N)

(0,1)

Basi di dati | Modello E-R 5{41

(22)

Identi catore di una entita

 \strumento" per l'identi cazione univoca delle occorrenze

 e costituito da

{

attributi (uno o piu) dell'entita:

identi catore

interno

{

(da attributi e) entita esterne (attraverso relationship):

identi catore

esterno

 ogni entita deve avere (almeno) un identi catore

Basi di dati | Modello E-R 5{42

Identi catori interni

AUTOMOBILE

Colore Modello Targa

PERSONA

Data di nascita

Nome Cognome

Indirizzo

Basi di dati | Modello E-R 5{43

(23)

Identi catore esterno

STUDENTE ISCRIZIONE UNIVERSITÀ

Nome Città Indirizzo Matricola

Cognome Anno Iscrizione

(1,1) (1,N)

Basi di dati | Modello E-R 5{44

 perche non parliamo degli identi catori delle relationship?

Basi di dati | Modello E-R 5{45

(24)

Uno schema con attributi e identi catori

IMPIEGATO AFFERENZA

DIREZIO NE

DIPARTIMENTO

PROGETTO PARTECIPAZIO N E

SEDE

COM POSIZIONE

Età Cognome

Stipendio

Data consegna Nome Budget

Nome Telefono

Città Data inizio

Data afferenza

Indirizzo Via Numero civico

CAP Codice

(0,1) (1,N)

(0,1) (1,1)

(1,1)

(1,N) (0,N)

(1,N)

(1,N)

(0,1)

Basi di dati | Modello E-R 5{46

Generalizzazione

 uomo e donna sono i due casi particolari di persona

 dipendente e un concetto che generalizza i concetti di funzionario, impiegato, dirigente

Basi di dati | Modello E-R 5{47

(25)

Generalizzazione

 mette in relazione una o piu entita

E

1,

E

2, :::,

E

n con un'altra entita

E

, di esse piu generale, nel senso che le comprende

come caso particolare

 ogni proprieta di

E

e signi cativa per

E

1,

E

2, :::,

E

n

 ogni occorrenza di

E

i e occorrenza anche di

E

 ogni occorrenza di

E

e occorrenza di al piu una

E

i

Basi di dati | Modello E-R 5{48



E

1,

E

2, :::,

E

n sono

specializzazioni

(

sottotipi

,

sottoinsiemi

) di

E

 le proprieta (attributi, relationship, altre generalizzazioni) di

E

vengono

ereditate

da

E

1,

E

2, :::,

E

n (e non rappresentate esplicitamente)

Basi di dati | Modello E-R 5{49

(26)

Dipendente

Impiegato Funzionario Dirigente

,

,

@

@

Basi di dati | Modello E-R 5{50

Citta NascitaHHHHHH





 H H H H H

H Persona ddCognomeNome

Professore

Dipartimentod Studente

dCognome

dNome

, ,@

@

 ogni professore e una persona

 ogni studente e una persona

 nessun professore e studente e viceversa

 esistono persone che non sono ne studenti ne professori

 ogni studente ha nome, cognome e citta di nascita (ereditati)

Basi di dati | Modello E-R 5{51

(27)

 una generalizzazione e

completa

se ogni occorrenza del

\genitore" e occorrenza di uno dei gli

Persona eCodice Fiscale

eCognome

eNome

Uomo

Pos Militaree

Donna

,

,

@

@

Basi di dati | Modello E-R 5{52

 nel caso di generalizzazione con un solo glio si parla di

sottoinsieme

(o

gerarchia is-a

)

 ovviamente, non si puo avere completezza

Persona

Studente

,

,

@

@

Basi di dati | Modello E-R 5{53

(28)

 possono esistere gerarchie a piu livelli e multiple gerarchie allo stesso livello

 un'entita puo essere inclusa in piu gerarchie, come genitore e/o come glio

 alcune con gurazioni non hanno senso

 il genitore di una gerarchia completa puo non avere identi catore (purche ce l'abbiano tutte le entita glie)

Basi di dati | Modello E-R 5{54

UOMO DONNA

PERSONA

SEGRETARIO PROGETTISTA

Età

Codice Fiscale

Situazione militare Cognome

DIRETTORE

RESPONSABILE DI PROGETTO

IMPIEGATO STUDENTE Matricola Stipendio

Orario

Basi di dati | Modello E-R 5{55

(29)

Documentazione associata

 dizionario dei dati (entita, relationship, attributi, gerarchie)

 vincoli non esprimibili

Basi di dati | Modello E-R 5{56

Entita Descrizione Attributi Identi catore

Impiegato Impiegato che lavoranella azienda Codice, Cognome,Stipendio, Eta Codice Progetto Progetti ai quali lavo-

rano gli impiegati della azienda

Nome, Budget,

Data consegna Nome Dipartimento Dipartimenti delle sedi

della azienda Telefono, Nome Nome, Sede Sede Sede della azienda in

una certa citta Citta, Indirizzo Citta

Basi di dati | Modello E-R 5{57

(30)

Relationship Descrizione Entita Coinvolte Attributi

Direzione Associa un dipartimento

al suo direttore Impiegato, Dipartimento A erenza Associa un impiegato al suo

dipartimento Impiegato,

Dipartimento Data a erenza Partecipazione Associa agli impiegati

i progetti sui quali lavorano Impiegato, Progetto Data inizio Composizione Associa una sede

ai dipartimenti di cui e composta

Dipartimento, Sede

Basi di dati | Modello E-R 5{58

Vincoli di integrita sui dati

(1) Un impiegato puo essere direttore solo del dipartimento a cui a erisce.

(2) Un impiegato non puo avere uno stipendio maggiore del direttore del dipartimento al quale a erisce.

(3) Un impiegato non puo partecipare a un progetto se non a erisce a nessun dipartimento.

(4) Il budget di un progetto deve essere superiore alla somma degli stipendi degli impiegati che vi partecipano.

Basi di dati | Modello E-R 5{59

Riferimenti

Documenti correlati

•  "tradurre" lo schema concettuale in uno schema logico che rappresenti.. gli stessi dati in maniera corretta

Professore(Matricola, Nome, Cognome) Università(NomeUniversità, Città, Matricola, DataElezione ).

accorpamento delle entità figlie nell’entità padre accorpamento dell’entità padre nelle entità figlie sostituzione della gerarchia con relazioni... DB M G 12 Accorpamento

Esame(CodE, Descrizione, DescrizioneDieta*, Tipo, CodFisc* ) Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo)

Prenotazione(CodTes, CodE, Data, Ora, Costo, Urgente) RuolodelMedico(CodFisc, DataInizio, DataFine*, Ruolo). Traduzione della relazione

Ridondanza e Anomalie In tutte le righe in cui compare uno studente è ripetuta la sua

Una decomposizione conserva le dipendenze se ciascuna delle dipendenze funzionali dello. schema originario è presente in una delle

Prima forma normale (1NF), basata sulla definizione di relazione Seconda forma normale (2NF), terza forma normale (3NF) e. forma normale di Boyce-Codd (BCNF), tutte basate sulla