DOCUMENTAZIONE DI SCHEMI E/R Esempio - DBGroup
DOCUMENTAZIONE DI SCHEMI E/R Esempio - DBGroup
DOCUMENTAZIONE DI SCHEMI E/R Esempio - DBGroup
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