La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Uno schema E/R non è quasi mai sufficiente da solo a rappresentare tutti gli aspetti e vincoli di un dominio applicativo, per varie ragioni: 1.in uno.

Presentazioni simili


Presentazione sul tema: "1 Uno schema E/R non è quasi mai sufficiente da solo a rappresentare tutti gli aspetti e vincoli di un dominio applicativo, per varie ragioni: 1.in uno."— Transcript della presentazione:

1 1 Uno schema E/R non è quasi mai sufficiente da solo a rappresentare tutti gli aspetti e vincoli di un dominio applicativo, per varie ragioni: 1.in uno schema E/R compaiono solo i nomi dei vari concetti ma questo può essere insufficiente per comprenderne il significato. 2.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 e attributo) dello schema E-R (Dizionario dei dati) –Un Vincolo di integrità, sia esso la documentazione di un vincolo dello schema E/R o la descrizione di un vincolo non esprimibile in E/R –Una Derivazione ovvero un concetto che può essere derivato calcolo da altri concetti dello schema (Dato Derivato) DOCUMENTAZIONE DI SCHEMI E/R

2 2 Esempio: Dizionario dei dati EntitàDescrizioneAttributiIdentificatore FACOLTAFacoltà UniversitariaCodFac, NumStudentiCodFac STUDENTEStudente UniversitarioMatrMatr, Facoltà AssociazioneDescrizioneEntità CoinvolteAttributi RAPPRESAssocia ad una Facoltà i propri rappresentanti STUDENTE (0,1) FACOLTA (3,3) Data ISCRAssocia ad una Facoltà i propri iscritti STUDENTE (1,1) FACOLTA (1,N)

3 3 Regole Aziendali, non incluse (non esprimibili) nello schema E/R: A.Il numero di studenti NUMSTUDENTI di una facolt à è pari al numero di studenti iscritti alla facolt à (associati tramite ISCR) [REGOLE DI DERIVAZIONE] B.I rappresentanti di una facolt à devono essere studenti di quella facolt à [VINCOLO DI INTEGRITA] Regole Aziendali espresse nello schema E/R: 1.Uno studente può essere rappresentante di una sola facoltà 2.La matricola di uno studente è univoca all interno della sua facolt à 3.Una facolt à ha esattamente tre rappresentanti 4.Una facolt à ha almeno uno studente iscritto Esempio: Vincoli di Integrità e di Derivazione

4 4 Quando si produce lo schema logico e quindi il codice SQL, tutte le regole aziendali - sia quelle già espresse in E/R che quelle non espresse, devono essere opportunamente implementate. Attraverso la progettazione logica solo alcuni vincoli di integrità espressi nello schema E/R, tra i quali in particolare 1.Identificatori (Vincoli di chiave) 2.Partecipazione con molteplicità unitaria ad una associazione vengono riportati nello schema logico e quindi in SQL! IMPLEMENTAZIONE REGOLE AZIENDALI FACOLTÀ(CODFAC,NUMSTUDENTI) STUDENTE(MATR,CODFAC) FK : CODFAC REFERENCES FACOLTÀ RAPPRES(MATR,CODFAC,CODFAC_RAPPRESENTATA,DATA) FK : MATR,CODFAC REFERENCES STUDENTE FK : CODFAC_RAPPRESENTATA REFERENCES FACOLTÀ NOT NULL Esempio: Traduzione in relazionale dello schema E/R:

5 5 Per le regole aziendali 1.Espresse in E/R ma non sono esprimibili nello schema logico: cardinalità con un valore preciso, proprietà di copertura, … 2.Non esprimibili in E/R, in particolare regole di derivazione si hanno diverse modalità di implementazione: 1.Soluzione lato server: Nel DBMS, ovvero direttamente sul DB, attraverso elementi avanzati del linguaggio SQL, quali trigger e CHECK complessi nella CREATE TABLE Queste regole non potranno mai essere violate! 2.Soluzione lato client: Nelle applicazioni che accedono al DB, attraverso la definizione di opportune procedure in un linguaggio di programmazione o nelle interfacce per accedere al DB (ad esempio: maschere in ACCESS) Queste regole possono essere violate dalle altre applicazioni! IMPLEMENTAZIONE REGOLE AZIENDALI

6 6 ESEMPIO: SOLUZIONE LATO SERVER Soluzioni particolari: La regola (B.) non espressa in E/R equivale a dire che in RAPPRES gli attributi CODFAC e CODFAC_RAPPRESENTATA sono uguali: si può mettere un unico attributo RAPPRES(MATR,CODFAC,DATA) FK : MATR,CODFAC REFERENCES STUDENTE Trigger o Regole Attive (SQL-99) : Programmi attivati automaticamente dal DBMS al vericarsi di determinate condizioni e operazioni sulle tabelle. In un trigger vengono specicati tre elementi (EVENT- CONDITION- ACTION ): al seguito della modica specicata in EVENT se è vera la condizione CONDITION vengono specicate le azioni di ACTION Esempio: trigger per assicurare che max-card(FACOLTA,RAPPRES)=3 1.EVENT : inserimento in RAPPRES di una tupla (-,-,CODF2,-) 2.CONDITION : RAPPRES contiene 3 tuple con (-,-,CODF2,-) 3.ACTION: abort (linserimento non viene effettuato)

7 7 ESEMPIO: SOLUZIONE LATO CLIENT Esempio: Nella maschera per linserimento delle facoltà si inseriscono esattamente tre box per ottenere card(FACOLTA,RAPPRES)=(3,3) Se i dati sono inseriti senza usare la maschera ma direttamente nella tabella RAPPRES il vincolo viene violato!

8 8 INCONSISTENZA: lo schema con vincoli di integrità non ammette alcuna istanza ovvero non è possibile soddisfare i vincoli di integrità presenti nello schema INCONSISTENZA di uno schema con vincoli CONTROLLO DI CONSISTENZA : algoritmi per decidere se uno schema è consistente o meno Esempio di schema E/R inconsistente


Scaricare ppt "1 Uno schema E/R non è quasi mai sufficiente da solo a rappresentare tutti gli aspetti e vincoli di un dominio applicativo, per varie ragioni: 1.in uno."

Presentazioni simili


Annunci Google