24
Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1 , E 2 , …, E n (entità figlie) che sono comprese in E come caso particolare. E è una generalizzazione per E 1 , E 2 , …, E n E 1 , E 2 , …, E n sono specializzazioni di E Proprietà: • Ogni occorrenza di un’entità figlia è anche un’occorrenza dell’entità padre • Ogni proprietà dell’entità padre è anche una proprietà dell’entità figlia (ereditarietà)

Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Embed Size (px)

Citation preview

Page 1: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Modello E-R

GeneralizzazioniRappresentano legami logici fra una entità E (entità padre) e una o più entità E1, E2, …, En (entità figlie) che sono comprese in E come caso particolare.

E è una generalizzazione per E1, E2, …, En

E1, E2, …, En sono specializzazioni di E

Proprietà:• Ogni occorrenza di un’entità figlia è anche un’occorrenza dell’entità padre• Ogni proprietà dell’entità padre è anche una proprietà dell’entità figlia (ereditarietà)

Page 2: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Generalizzazioni: Rappresentazione grafica

Dipendente

Impiegato Funzionario Dirigente

Page 3: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Modello E-R

Una generalizzazione è detta totale se ogni occorrenza dell’entità padre è anche un’occorrenza di almeno una delle figlie, altrimenti è detta parziale.

E’ detta esclusiva se ogni occorrenza dell’entità padre è al più una occorrenza di una delle figlie, altrimenti è detta sovrapposta.

Una generalizzazione può sempre essere resa esclusiva attraverso una opportuna definizione di una entità che rappresenti la ‘intersezione’ fra le entità sovrapposte.

Ci possono essere più livelli di generalizzazioni (gerarchie).

Se una entità padre ha solo una entità figlia si parla di sottoinsieme.

Page 4: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Esempio

• Le persone (entità padre) hanno CF, cognome ed età;– gli uomini anche la posizione militare;– gli impiegati hanno lo stipendio e possono

essere segretari, direttori o progettisti (un progettista può essere anche responsabile di progetto);

– gli studenti (che non possono essere impiegati) un numero di matricola;

– esistono persone che non sono né impiegati né studenti (ma i dettagli non ci interessano)

Page 5: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Segretario Direttore Progettista

Responsabile

PersonaCF

CognomeEtà

Uomo Donna

Militare

Impiegato Studente

Stipendio Matr.

Page 6: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Modello E-RApplicazioni del modello E-R per attività diverse dalla progettazione:

• Gli schemi E-R possono essere utilizzati a scopo di documentazione per la loro interpretazione intuitiva

• Possono essere usati per descrivere sistemi informativi preesistenti nel caso in cui si debba procedere ad una loro integrazione.

• Possono essere usati per comprendere su quali parti di un sistema si debba intervenire, e quali modifiche apportare, in caso di modifica dei requisiti di una applicazione.

Page 7: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Documentazione di schemi E-R

Il modello E-R è utile per descrivere dati ma è meno espressivo se si devono esprimere vincoli fra dati o descrizioni qualitative più precise del solo nome che appare nella descrizione. Può anche essere di difficile lettura nel caso di schemi molto complessi.

Si utilizzano quindi strumenti non formali atti ad integrare l’informazione fornita dal modello E-R con le altre informazioni necessarie per descrivere completamente un problema.

Una delle tecniche utilizzate allo scopo è quella delle cosiddette regole aziendali o business rules

Page 8: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Documentazione di schemi E-R

Le regole aziendali esprimono delle regole che riguardano il dominio di interesse come, ad esempio:

• una descrizione particolareggiata di un concetto rilevante per l’applicazione: si usa di solito linguaggio naturale.

• un vincolo di integrità sui dati dell’applicazione, sia che sia o che non sia esprimibile attraverso i costrutti del modello E-R: si usano espressioni formali ma non ci sono standard a riguardo.

• una derivazione, cioè una qualche informazione che può essere derivata da altri concetti dello schema, ad esempio attraverso un’espressione matematica

Page 9: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Progettazione concettuale

Il prodotto è uno schema E-R che descriva le specifiche sui dati relative ad una applicazione.

Si può suddividere in due fasi:

• Raccolta e analisi dei requisiti– Individuazione dei problemi da risolvere– Chiarimento ed organizzazione delle specifiche

• Definizione dello schema E-R

Page 10: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Raccolta e analisi dei requisiti

• Il reperimento dei requisiti è un'attività difficile e non standardizzabile

• l'attività di analisi inizia con i primi requisiti raccolti e spesso indirizza verso altre acquisizioni

Page 11: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Raccolta e analisi dei requisiti

Realizzazione di una descrizione del problema in linguaggio naturale che rispetti criteri di completezza e non ambiguità:• corretto livello di astrazione• frasi standardizzate• semplicità delle specifiche (evitare frasi contorte)• eliminazione di sinonimi o omonimi• esplicitazione dei riferimenti fra termini• glossario dei termini

Per i dati, occorre specificare il numero delle occorrenze previste. Per le operazioni, occorre specificare il numero di volte che si prevede che debbano essere eseguite in un certo arco di tempo.

Page 12: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Acquisizione per interviste

• utenti diversi possono fornire informazioni diverse

• utenti a livello più alto hanno spesso una visione più ampia ma meno dettagliata

• le interviste portano spesso ad una acquisizione dei requisiti ‘per raffinamenti successivi’

Page 13: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Interazione con gli utenti

• effettuare spesso verifiche di comprensione e coerenza

• verificare anche per mezzo di esempi (generali e relativi a casi limite)

• richiedere definizioni e classificazioni

• far evidenziare gli aspetti essenziali rispetto a quelli marginali

Page 14: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Base di dati bibliograficaSi vogliono organizzare i dati di interesseper automatizzare la gestione deiriferimenti bibliografici

Raccolta requisiti: un esempio

Page 15: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Base di dati bibliografica Si vogliono organizzare i dati di interesse per automatizzare la gestione dei riferimenti bibliografici, con tutte le informazioni da riportarsi in una bibliografia. Per ogni pubblicazione deve esistere un codice identificativo costituito da sette caratteri, indicanti le iniziali degli autori, l'anno di pubblicazione e un carattere aggiuntivo per la discriminazione delle collisioni.

Page 16: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Base di dati bibliografica Si vogliono organizzare i dati di interesse per automatizzare la gestione dei riferimenti bibliografici, con tutte le informazioni da riportarsi in una bibliografia. Le pubblicazioni sono di due tipi, monografie (per le quali interessano editore, data e luogo di pubblicazione) e articoli su rivista (con nome della rivista, volume, numero, pagine e anno di pubblicazione); per entrambi i tipi si debbono ovviamente riportare i nomi degli autori. Per ogni pubblicazione deve esistere un codice identificativo .....

Page 17: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Società di formazione (1)Si vuole realizzare una base di dati per unasocietà che eroga corsi, di cui vogliamorappresentare i dati dei partecipanti ai corsi e deidocenti. Per gli studenti (circa 5000), identificatida un codice, si vuole memorizzare il codicefiscale, il cognome, l'età, il sesso, il luogo dinascita, il nome dei loro attuali datori di lavoro, iposti dove hanno lavorato in precedenza insiemeal periodo, l'indirizzo e il numero di telefono, icorsi che hanno frequentato (i corsi sono in tuttocirca 200) e il giudizio finale.

Un esempio più articolato

Page 18: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Società di formazione (2)Rappresentiamo anche i seminari che stannoattualmente frequentando e, per ogni giorno, iluoghi e le ore dove sono tenute le lezioni. I corsihanno un codice, un titolo e possono avere varieedizioni con date di inizio e fine e numero dipartecipanti. Se gli studenti sono liberiprofessionisti, vogliamo conoscere l'area diinteresse e, se lo possiedono, il titolo. Per quelliche lavorano alle dipendenze di altri, vogliamoconoscere invece il loro livello e la posizionericoperta.

Page 19: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Società di formazione (3)Per gli insegnanti (circa 300), rappresentiamo ilcognome, l'età, il posto dove sono nati, il nomedel corso che insegnano, quelli che hannoinsegnato nel passato e quelli che possonoinsegnare. Rappresentiamo anche tutti i lororecapiti telefonici. I docenti possono esseredipendenti interni della società o collaboratoriesterni.

Page 20: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Termine Descrizione Sinonimi Collegamenti Partecipante Persona che

partecipa ai corsi Studente Corso,

Società Docente Docente dei corsi.

Può essere esterno Insegnante Corso

Corso Corso organizzato dalla società. Può avere più edizioni.

Seminario Docente, Partecipante

Società Ente presso cui i partecipanti lavorano o hanno lavorato

Posto Partecipante

Glossario dei termini

Page 21: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Frasi di carattere generaleSi vuole realizzare una base di dati peruna società che eroga corsi, di cuivogliamo rappresentare i dati deipartecipanti ai corsi e dei docenti.

Strutturazione dei requisitiin gruppi di frasi omogenee

Page 22: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Frasi relative ai partecipantiPer i partecipanti (circa 5000), identificati daun codice, rappresentiamo il codice fiscale,il cognome, l'età, il sesso, la città di nascita,i nomi dei loro attuali datori di lavoro e diquelli precedenti (insieme alle date di inizioe fine rapporto), le edizioni dei corsi chestanno attualmente frequentando e quelliche hanno frequentato nel passato, con larelativa votazione finale in decimi.

Frasi relative a tipi specifici di partecipantiPer i partecipanti che sono liberiprofessionisti, rappresentiamo l'area diinteresse e, se lo possiedono, il titoloprofessionale. Per i partecipanti che sonodipendenti, rappresentiamo invece il lorolivello e la posizione ricoperta.

Page 23: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Frasi relative ai datori di lavoro Relativamente ai datori di lavoro presenti e passati dei partecipanti, rappresentiamo il nome, l'indirizzo e il numero di telefono.

Frasi relative ai corsiPer i corsi (circa 200), rappresentiamo il titoloe il codice, le varie edizioni con date di inizio efine e, per ogni edizione, rappresentiamo ilnumero di partecipanti e il giorno dellasettimana, le aule e le ore dove sono tenute lelezioni.

Page 24: Modello E-R Generalizzazioni Rappresentano legami logici fra una entità E (entità padre) e una o più entità E 1, E 2, …, E n (entità figlie) che sono comprese

Frasi relative ai docentiPer i docenti (circa 300), rappresentiamo ilcognome, l'età, la città di nascita, tutti inumeri di telefono, il titolo del corso cheinsegnano, di quelli che hanno insegnatonel passato e di quelli che possonoinsegnare. I docenti possono esseredipendenti interni della società diformazione o collaboratori esterni.