DOCUMENTAZIONE DI SCHEMI E/R Uno schema E/R non è quasi mai sufficiente da solo a rappresentare tutti gli aspetti e vincoli di un dominio applicativo, per varie ragioni: in uno schema E/R compaiono solo i nomi dei vari concetti ma questo può essere insufficiente per comprenderne il significato. vari vincoli di integrità (proprietà dei dati rappresentati) non possono essere espressi direttamente dai costrutti del modello E/R Documentazione di schemi E-R: uno schema E/R è corredato con una documentazione di supporto che faciliti l'interpretazione dello schema stesso e a descrivere vincoli di integrità non esprimibili in E/R Regole aziendali o business rules Una descrizione di un concetto (entità,associazione attributo) dello schema associazione del modello E-R (Dizionario dei dati) Un Vincolo di integrità, sia esso la documentazione di un vincolo espresso nello schema E/R o la descrizione di un vincolo non esprimibile in E/R Una Derivazione ovvero un concetto che può essere ottenuto attraverso un'inferenza o un calcolo da altri concetti dello schema (Dato Derivato) VEDERE: http://it.wikipedia.org/wiki/Modello_E-R
Esempio Esempio di schema E/R (notare alcune differenze nella notazione grafica):
Dizionario dei Dati Entità Associazioni
Regole di vincolo e di derivazione
INCONSISTENZA di uno schema con vincoli INCONSISTENZA: lo schema con vincoli di integrità non ammette alcuna istanza (finita) ovvero non è possibile soddisfare i vincoli di integrità presenti nello schema Esempio di schema E/R inconsistente CONTROLLO DI CONSISTENZA : algoritmi per decidere se uno schema è consistente o meno Tesine in RAPPRESENTAZIONE DELLA CONOSCENZA (Ing. Modena) http://www.dbgroup.unimo.it/kr/TesinaKRRacer.html Tesi di Laurea
Problema del controllo di INCONSISTENZA CONTROLLO DI CONSISTENZA : per alcuni tipi di vincoli di integrità non esistono algoritmi per decidere - nel caso generale - se uno schema è consistente o meno (problema indecidibile) Descrizione di IMPIEGATO in Logica Descrittiva (con vincolo di integrità): IMPIEGATO = ( salario : INTEGER ) AND ( capo : IMPIEGATO ) (salario <= capo.salario)
Un esempio concreto Regole Aziendali, non incluse (non esprimibili) nello schema E/R: Il numero di studenti NUMSTUDENTI di una facoltà è pari al numero di studenti iscritti alla facoltà (associati tramite ISCR) I rappresentanti di una facoltà devono essere studenti di quella facoltà Regole Aziendali già espresse nello schema E/R: La matricola di uno studente è univoca solo all’interno della sua facoltà Una facoltà ha esattamente tre rappresentanti Una facoltà ha almeno uno studente iscritto …
Un esempio concreto FACOLTÀ(CODFAC,NUMSTUDENTI) STUDENTE(MATR,CODFAC) Traduzione in relazionale dello schema E/R: FACOLTÀ(CODFAC,NUMSTUDENTI) STUDENTE(MATR,CODFAC) FK : CODFAC REFERENCES FACOLTÀ RAPPRES(MATR,CODFAC,CODFAC’,DATA) FK : MATR,CODFAC REFERENCES STUDENTE FK : CODFAC’ REFERENCES FACOLTÀ NOT NULL La regola (B.) non esprimibile in E/R equivale a dire in relazionale che i due attributi CODFAC e CODFAC’ sono uguali, ovvero posso mettere un unico attributo (quindi tale regola è esprimibile in relazionale) : RAPPRES(MATR,CODFAC,DATA) FK : MATR,CODFAC REFERENCES STUDENTE Non sono esprimibili in relazionale le regole (A.), (2.) e (3.). Esse verranno espresse tramite TRIGGER (corso di Basi di Dati)
Annotazione Il Dizionario dei dati si può considerare come un caso particolare di Annotazione (en.wikipedia.org/wiki/Annotation) Annotation is extra information associated with a particular point in a document or other piece of information. MOMIS (Mediator Environment for Multiple Information Sources) is a Data Integration System which performs information extraction and integration from both structured and semi-structured data sources; given a set of data sources related to a domain it is thus possible to synthesize a ''basic domain ontology'', called ''Global Virtual View'' (GVV). (dbgroup.unimo.it) The construction of the GVV is based on the ''Local Source Annotation'', where terms denoting schemas elements in data sources are semantically annotated: the integration designer can manually choose a meaning for each element of a local source schema, according to the WordNet lexical ontology (www.cogsci.princeton.edu/~wn) and/or perform an automatic annotation which associates to each term the first meaning of Wordnet.