05.03.2015 Views

DOCUMENTAZIONE DI SCHEMI E/R Esempio - DBGroup

DOCUMENTAZIONE DI SCHEMI E/R Esempio - DBGroup

DOCUMENTAZIONE DI SCHEMI E/R Esempio - DBGroup

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>DOCUMENTAZIONE</strong> <strong>DI</strong> <strong>SCHEMI</strong> E/R<br />

! Uno schema E/R non è quasi mai sufficiente da solo a rappresentare<br />

tutti gli aspetti e vincoli di un dominio applicativo, per varie ragioni:<br />

1. in uno schema E/R compaiono solo i nomi dei vari concetti ma questo può<br />

essere insufficiente per comprenderne il significato.<br />

2. vari vincoli di integrità (proprietà dei dati rappresentati) non possono essere<br />

espressi direttamente dai costrutti del modello E/R<br />

! Documentazione di schemi E-R: uno schema E/R è corredato con<br />

una documentazione di supporto che faciliti l'interpretazione dello<br />

schema stesso e a descrivere vincoli di integrità non esprimibili in E/R<br />

! Regole aziendali o business rules<br />

– Una descrizione di un concetto (entità,associazione attributo) dello schema<br />

associazione del modello E-R (Dizionario dei dati)<br />

– Un Vincolo di integrità, sia esso la documentazione di un vincolo espresso<br />

nello schema E/R o la descrizione di un vincolo non esprimibile in E/R<br />

– Una Derivazione ovvero un concetto che può essere ottenuto attraverso<br />

un'inferenza o un calcolo da altri concetti dello schema (Dato Derivato)<br />

VEDERE: http://it.wikipedia.org/wiki/Modello_E-R<br />

1<br />

! <strong>Esempio</strong> di schema E/R (notare alcune differenze nella notazione<br />

grafica):<br />

<strong>Esempio</strong><br />

2


Dizionario dei Dati<br />

Entità<br />

Associazioni<br />

3<br />

Regole di vincolo e di derivazione<br />

Regole<br />

di vincolo:<br />

Regole<br />

di derivazione:<br />

4


INCONSISTENZA di uno schema con vincoli<br />

! INCONSISTENZA: lo schema con vincoli di integrità non<br />

ammette alcuna istanza (finita) ovvero non è possibile<br />

soddisfare i vincoli di integrità presenti nello schema<br />

<strong>Esempio</strong><br />

di schema E/R inconsistente<br />

! CONTROLLO <strong>DI</strong> CONSISTENZA : algoritmi per decidere se<br />

uno schema è consistente o meno<br />

! Tesine in RAPPRESENTAZIONE DELLA CONOSCENZA (Ing. Modena)<br />

! http://www.dbgroup.unimo.it/kr/TesinaKRRacer.html<br />

! Tesi di Laurea<br />

5<br />

Problema del controllo di INCONSISTENZA<br />

! CONTROLLO <strong>DI</strong> CONSISTENZA : per alcuni tipi di vincoli di<br />

integrità non esistono algoritmi per decidere - nel caso generale<br />

- se uno schema è consistente o meno (problema indecidibile)<br />

Descrizione di IMPIEGATO<br />

in Logica Descrittiva<br />

(con vincolo di integrità):<br />

IMPIEGATO =<br />

( salario : INTEGER )<br />

AND<br />

( capo : IMPIEGATO )<br />

AND<br />

(salario


Un esempio concreto<br />

! Regole Aziendali, non incluse (non esprimibili) nello schema E/R:<br />

A. Il numero di studenti NUMSTUDENTI di una facoltà è pari al numero di<br />

studenti iscritti alla facoltà (associati tramite ISCR)<br />

B. I rappresentanti di una facoltà devono essere studenti di quella facoltà<br />

! Regole Aziendali già espresse nello schema E/R:<br />

1. La matricola di uno studente è univoca solo all’interno della sua facoltà<br />

2. Una facoltà ha esattamente tre rappresentanti<br />

3. Una facoltà ha almeno uno studente iscritto<br />

4. …<br />

7<br />

! Traduzione in relazionale dello schema E/R:<br />

Un esempio concreto<br />

FACOLTÀ(CODFAC,NUMSTUDENTI)<br />

STUDENTE(MATR,CODFAC)<br />

FK : CODFAC REFERENCES FACOLTÀ<br />

RAPPRES(MATR,CODFAC,CODFAC’,DATA)<br />

FK : MATR,CODFAC REFERENCES STUDENTE<br />

FK : CODFAC’ REFERENCES FACOLTÀ NOT NULL<br />

! La regola (B.) non esprimibile in E/R equivale a dire in relazionale che i<br />

due attributi CODFAC e CODFAC’ sono uguali, ovvero posso mettere un<br />

unico attributo (quindi tale regola è esprimibile in relazionale) :<br />

RAPPRES(MATR,CODFAC,DATA)<br />

FK : MATR,CODFAC REFERENCES STUDENTE<br />

! Non sono esprimibili in relazionale le regole (A.), (2.) e (3.).<br />

Esse verranno espresse tramite TRIGGER (corso di Basi di Dati)<br />

8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!