Il modello Entity-Relationship: elementi avanzati

Documenti analoghi
I database. Introduzione alla teoria delle basi di dati

Traduzione dello schema E-R in modello logico relazionale

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Ingegneria del Software

Progettazione logica

CAPITOLO V. DATABASE: Il modello relazionale

Il modello Entity-Relationship: elementi di base

Normalizzazione. Definizione

Modulo 2 Data Base - Modello Relazionale

Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica

Alessandra Raffaetà. Schemi a oggetti -> Schemi relazionali

Esercitazioni di statistica

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

BASI DATI INFORMATICA

1 IL LINGUAGGIO MATEMATICO

INTEGRAZIONE DI SCHEMI E/R

Progettazione logica: regole di traduzione

Esercizi su Modello Entità-Relazioni

Analisi e diagrammi di struttura: esercizi

Università degli Studi di Milano. Esercizi Corso SIT. Basi di dati

Basi di dati. Le funzionalità del sistema non vanno però ignorate

Il linguaggio SQL: query innestate

Progettazione base dati relazionale

La codifica. dell informazione

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 28 Giugno 05 Nome: Cognome: Matricola: Esercizio 1

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n

PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

Derivate delle funzioni di una variabile.

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Progettazione di basi di dati. Progettazione di basi di dati. Ciclo di vita dei sistemi informativi. Fasi del ciclo di vita [1]

Gli asintoti di una funzione sono rette, quindi possono essere: rette verticali o rette orizzontali o rette oblique.

Il Bollino GRIN: coordinamento nazionale per le lauree di informatica

Algebra di Boole Algebra di Boole

Lezione 3 Progettazione di siti

Informatica Grafica. Un introduzione

TEORIA RELAZIONALE: INTRODUZIONE

GLI STRUMENTI PER IL DISEGNO

Introduzione alla progettazione. Metodologie e modelli per la progettazione di basi di dati. Il ciclo di vita dei sistemi informativi

PROGETTAZIONE DI UN DATABASE

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE

PROGETTAZIONE CONCETTUALE

LE TEORIE DELL ASSISTENZA INFERMIERISTICA

Comunicazione Digitale

Introduzione alle macchine a stati (non definitivo)

descrivere le caratteristiche della sfera utilizzare le formule inerenti. Introduzione

Riconoscere e formalizzare le dipendenze funzionali

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività

Sistemi di equazioni lineari

Analisi della varianza

valore di a: verso l alto (ordinate crescenti) se a>0, verso il basso (ordinate decrescenti) se a<0;

Le sue caratteristiche:

INDIRIZZI IP SUBNETTING

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

ONTOLOGIA, SEMANTICA E RILEVANZA DELL'INFORMAZIONE NEGLI ARCHIVI DELLA BIBLIOTHECA IURIS ANTIQUI (BIA)

Corso di Informatica

Lezione 12 Argomenti

INFORMAZIONI E CONTENUTO FATTURA ELETTRONICA DECRETO MINISTERIALE n. 55/2013

0.1 Esercizi calcolo combinatorio

Informatica per l'impresa. Sistemi per la gestione di basi di Dati

Questionario di Ammissione

Sistemi Web per il turismo - lezione 3 -

INDICAZIONI PER LA RICERCA DEGLI ASINTOTI VERTICALI

La in verifica forma teoria normale della normalizzazione fornisce comunque uno strumento di già

Alessandra Raffaetà. Basi di Dati

Opzione manutentore impianti elettrici e automazione

Le frazioni algebriche

Scenario-based Design

SISTEMA INFORMATIVO E SISTEMA INFORMATICO. Sistema informativo e sistema informatico

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

SCUOLA PRIMARIA - MORI

Introduzione al corso di Programmazione e Laboratorio

Elettroencefalogramma

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

NORMALIZZAZIONE. Fino ad ora. Dipendenze funzionali e Normalizzazione per basi di dati relazionali

Capitolo 9. Esercizio 9.1. Esercizio 9.2

QUOTATURA. Affinché un qualsiasi oggetto disegnato possa essere esattamente realizzato deve essere perfettamente individuato in forma e dimensioni

Tecnica e metodologia delle attività motorie adattate

Il calcolatore. Architettura di un calcolatore (Hardware)

Progetto DSA: Guida al metodo di studio

Si considerino le seguenti specifiche per la realizzazione di un sito web per la gestione di abbonamenti a riviste di vario genere..

Procedura operativa per la gestione della funzione di formazione classi prime

Università degli Studi di Udine. DLGS 196/03 Gestione delle credenziali di autenticazione informatica

Metodi per la risoluzione di sistemi lineari

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

PROTEZIONE CONTRO I FULMINI (CEI 81-10) RELATORE: Dr. Nicola CARRIERO Dr. Carmineraffaele ROSELLI

Parte 6 Esercitazione sull accesso ai file

Files in C++ Fondamenti di Informatica. R. Basili. a.a

Studio di funzione. Tutti i diritti sono riservati. E vietata la riproduzione, anche parziale, senza il consenso dell autore. Funzioni elementari 2

Perché il P.L.C.? Introduzione di base al P.L.C. (Programmable Logic Controller) SAVE Veronafiere Ottobre 2007

Autodesk Map parte I digitalizzazione e importazione dati

Corso di Informatica. Software di produttività personale e database. Ing Pasquale Rota

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

La V di Gowin A cura di Lucilla Ruffilli e Daniela Berardi Laboratorio Epistemologico Pensare per storie

PROFESSIONISTI ANTINCENDIO

L organizzazione dei documenti nei sistemi multimediali

PROGRAMMAZIONE DIDATTICA DI MATEMATICA

Reti locali Mauro Nanni

CONSEGNA EFFICIENTE DEL SOFTWARE 6 PROBLEMI DEGLI STAKEHOLDER CHE SI POSSONO FACILMENTE RISOLVERE CON ATLAS

Transcript:

Il modello Entity-Relationship: elementi avanzati Sistemi Informativi T Versione elettronica: 06.2.ER.avanzato.pdf

Identificatori esterni Oltre a poter identificare un entità E mediante uno o più attributi (identificatore interno), nel modello E/R èprevista la possibilità di identificare E mediante altre (una o più) entità, collegate a E da associazioni, più eventuali attributi di E Si parla in questo caso di identificatore esterno Talvolta quando l identificatore usa sia altre entità che attributi propri si dice anche che èunidentificatore misto Gli identificatori esterni servono a modellare quelle situazioni, molto comuni nella realtà, in cui un istanza di E ha valori che sono univoci, ma solo all interno di un dato contesto, definito dalle istanze delle entità che vengono usate per l identificazione ER: avanzato Sistemi Informativi T 2

Identificatori esterni: esempio matricola Studenti Iscritti Università indirizzo cog Un valore di matricola identifica univocamente uno studente, ma solo nel contesto della propria Università Quindi, per identificare uno studente bisogna specificare qual è l Università cui èiscrittoe il suo numero di matricola ER: avanzato Sistemi Informativi T 3

Identificatori esterni: commento matricola Università Studenti Iscritti Università indirizzo cog Apparentemente si potrebbe evitare l uso dell identificatore esterno, come nello schema in figura Ma ciò non è corretto! I motivi sono: lo schema non dice esplicitamente che l attributo Università di Studenti e di Università significano la stessa cosa non vale più il vincolo (implicito nella semantica delle associazioni E/R) che ogni istanza di associazione deve riferirsi ad istanze di entità (intuizione relazionale : si perde l equivalente di un vincolo di FK) ER: avanzato Sistemi Informativi T 4

Vincoli di cardinalità e identificatori esterni Se E è identificata esternamente attraverso l associazione A, allora si ha sempre max card(e,a) =1 matricola (_,1) Studenti Iscritti Università indirizzo cog Se fosse max-card(studenti,iscritti) >1 allora uno studente sarebbe identificato dall insieme di università cui è iscritto, ma ciò non è possibile! NB: se min-card(e,a) = 0 parte dell identificatore non è definito (possibile, ma raro nella pratica) Se basta E1, tramite A, a identificare E, allora max card(e1,a) =1; in caso contrario max card(e1,a) = n ER: avanzato Sistemi Informativi T 5

Attributi composti Sono attributi che si ottengono aggregando altri (sotto )attributi, i quali presentano una forte affinità nel loro uso e significato Es.: via, n. civico, città e CAP formano l attributo composto indirizzo Persone indirizzo via n.civico città CAP Si noti che se A è composto dagli attributi A1, A2,, An con rispettivi domini D1, D2,, Dn, allora il dominio di A èil prodotto Cartesiano D = D1 D2 Dn Un attributo non composto viene anche detto semplice ER: avanzato Sistemi Informativi T 6

Attributi: vincoli di cardinalità Anche per gli attributi è possibile specificare il numero minimo e massimo di valori dell attributo che possono essere associati ad un istanza della corrispondente associazione o entità Graficamente si può indicare la coppia (min card,max card) sulla linea che congiunge l attributo all'associazione/entità, o affianco al dell attributo se non si indica niente il valore di default è (1,1) Si parla di attributi: opzionali: se la cardinalità minima è 0 (es. n. patente) monovalore: se la cardinalità massima è 1 (es. cod_fiscale) multivalore (o ripetuti): se la cardinalità massima è n (es. telefono) telefono n.patente cod_fiscale (0,1) Persone ER: avanzato Sistemi Informativi T 7

Esempio con vincoli di cardinalità (1,1) (1,n) Risiedono telefono n.patente cod_fiscale data_nascita (0,1) Persone Lavorano Città (1,n) CAP regione cog ER: avanzato Sistemi Informativi T 8

Attributi ripetuti e composti Nel caso di presenza di più attributi multivalore, la creazione di un attributo composto può rendersi necessaria per evitare ambiguità Ad esempio, se una persona ha più indirizzi Persone (1,n) indirizzo via n.civico città CAP non si può rappresentarlo così! Persone via (1,n) n.civico (1,n) città (1,n) CAP (1,n) ER: avanzato Sistemi Informativi T 9

Astrazione di generalizzazione Definisce una classe (superclasse) a partire da più classi (sottoclassi) Veicoli Mobili Automobili Autobus Biciclette MobiliUfficio MobiliCasa Le istanze di Automobili sono un sottoinsieme delle istanze di Veicoli, ovvero, ogni automobile è un(is a) veicolo Ciò che caratterizza un veicolo caratterizza anche ogni suo sottoinsieme, ovvero ogni sottoclasse eredita dalla superclasse ma può anche avere caratteristiche proprie La specializzazione èil processo inverso ER: avanzato Sistemi Informativi T 10

Modello E-R: gerarchie di generalizzazione Un entità E è una generalizzazione di un gruppo di entità E1, E2,..., En se ogni istanza di E1, E2,..., En è anche un istanza di E Le entità E1, E2,... En sono dette specializzazioni di E Graficamente: E E1 E2 En Le proprietà di E sono ereditate da E1, E2,..., En: ogni Ei ha gli attributi di E e partecipa alle associazioni definite per E (non vanno quindi replicati nello schema, sarebbe un errore!) Per le gerarchie di generalizzazione va anche specificato il tipo di copertura ER: avanzato Sistemi Informativi T 11

Ereditarietà delle proprietà Gli attributi vanno riferiti all entità più generica in cui sono presenti obbligatoriamente; analogamente per le associazioni Quindi così non va bene: CdL Iscritte (0,1) Persone matricola (0,1) dipartimento (0,1) Studenti Professori CdL Iscritti Persone Così sì! (1,1) matricola Studenti Professori dipartimento ER: avanzato Sistemi Informativi T 12

Copertura delle generalizzazioni Le generalizzazioni si caratterizzano per due dimensioni indipendenti Confronto fra unione delle specializzazioni e classe generalizzata totale se la classe generalizzata è l unione delle specializzazioni parziale se la classe generalizzata contiene l unione delle specializzazioni Confronto fra le classi specializzate esclusiva se le specializzazioni sono fra loro disgiunte sovrapposta (overlapped) se può esistere una intersezione non vuota fra le specializzazioni Sono ovviamente possibili le quattro combinazioni (t,e) (p,e) (t,o) (p,o) ER: avanzato Sistemi Informativi T 13

Proprietà di copertura - esempi persone persone veicoli veicoli uomini donne (t,e) auto moto (p,e) uomini donne auto moto Totale esclusiva Parziale esclusiva uomini laureati donne laureati laureati laureati ingegneri (t,o) ingegneri medici (p,o) ingegneri donne uomini ingegneri medici Totale sovrapposta Parziale sovrapposta ER: avanzato Sistemi Informativi T 14

Subset Èun caso particolare di gerarchia in cui si evidenzia una sola classe specializzata Studenti eredita le proprietà di Persone e in più ha la matricola Non ha ovviamente senso parlare di tipo di copertura Persone Studenti data_nascita matricola ER: avanzato Sistemi Informativi T 15

Uno schema E/R con gerarchie Studenti indirizzo via (1,1) città iscritti telefono Laureandi matricola data esami seguono voto (1,1) relatore titolo_tesi ciclo commissioni Corsi (3,5) (1,n) Professori (1,1) (1,n) base avanz docenti cog datan propedeutici (1,1) CorsidiLaurea offrono (1,n) ER: avanzato Sistemi Informativi T 16

Riflessività del modello E/R I concetti sinora introdotti per il modello E/R possono essere modellati disegnando uno schema E/R! Ad esempio: Ogni entità ha almeno un identificatore (interno o esterno) Ogni associazione, in base al suo grado, è collegata a n entità Ogni attributo ha un (univoco all interno dell entità o associazione cui si riferisce) e la stessa cosa si può fare per i concetti del modello relazionale! utile praticamente (ad es. se si deve disegnare un DB che memorizza schemi E/R) e dal punto di vista teorico Si noti che una caratteristica simile è condivisa dai DBMS relazionali, che descrivono mediante relazioni (i cataloghi) lo schema di un DB ER: avanzato Sistemi Informativi T 17

Le astrazioni nel modello E/R Riassumendo quanto visto, nel modello E/R i meccanismi di astrazione sono usati come segue: Classificazione: usata per definire entità (a partire dalle istanze) attributi (a partire dai valori) Aggregazione: entità (a partire dagli attributi) associazione (a partire da entità e attributi) attributo composto (a partire da altri attributi) Generalizzazione: gerarchie di generalizzazione ER: avanzato Sistemi Informativi T 18

Riassunto della notazione grafica Entità Associazione Attributo Attributo composto Identificatore Gerarchia di generalizzazione Subset Vincoli di cardinalità (min-card,max-card) ER: avanzato Sistemi Informativi T 19

Utilità del modello E/R Uno schema E/R è più espressivo di uno schema relazionale, inoltre può essere utilizzato con successo per alcuni compiti diversi dalla progettazione, ad esempio: Documentazione: La simbologia grafica del modello E/R può essere facilmente compresa anche dai non addetti ai lavori Reverse engineering: A partire da un DB esistente si può fornirne una descrizione in E/R allo scopo di meglio analizzarlo ed eventualmente reingegnerizzarlo Integrazione di sistemi: Essendo indipendente dal modello logico dei dati, è possibile usare il modello E/R come linguaggio comune in cui rappresentare DB eterogenei, allo scopo di integrarli ER: avanzato Sistemi Informativi T 20

Limiti del modello E/R Per contro, per quanto più espressivo di uno schema relazionale, uno schema E/R non èsempre in grado di rappresentare tutti gli aspetti di interesse I limiti sono essenzialmente di due tipi: i nomi dei vari concetti possono non essere sufficienti per comprenderne il significato non tutti i vincoli di integrità sono esprimibili in uno schema E/R In fase di progettazione bisogna quindi corredare lo schema con una documentazione appropriata e successivamente prendere delle misure per far rispettare tali vincoli ER: avanzato Sistemi Informativi T 21

Vincoli non esprimibili Esempi: per sostenere un esame è necessario avere sostenuto tutti gli esami propedeutici un laureando deve aver sostenuto almeno tutti gli esami dei primi 2 anni Questi vincoli non sono esprimibili nel senso che non è possibile definire, mediante i costrutti del modello E/R, uno schema in cui siano soddisfatti Per contro, con qualche forzatura sul design, altri vincoli possono essere espressi. Ad esempio: i professori di età superiore a 65 anni possono essere titolari di un solo corso Si può introdurre l entità ProfessoriAnziani e partizionare l associazione Docenti, aggiungendo poi il vincolo opportuno di cardinalità (1,1) ma questo comporta che anche Corsi deve essere partizionata, altrimenti si perde il vincolo che ogni corso deve avere un docente! ER: avanzato Sistemi Informativi T 22

Business Rules Le cosiddette business rules, o regole aziendali, sono uno degli strumenti più usati dagli analisti di SI In generale, per regola aziendale si intende qualsiasi asserzione che definisca o vincoli qualche aspetto rilevante del SI La classificazione di tali regole, e come possono essere rappresentate, è: Tipo di Business Rules Descrizione di un concetto Vincolo di integrità Derivazione Rappresentazione Linguaggio naturale (glossario dei termini) <concetto> [non]deve <espressione su concetti> <concetto> si ottiene <operazioni su concetti> Per quanto visto, con il modello E/R: si fornisce una rappresentazione (sintattica) dei concetti descritti, e si catturano parte dei vincoli di integrità ER: avanzato Sistemi Informativi T 23

Riassumiamo: Il modello E/R èun modello concettuale molto utilizzato per la progettazione di basi di dati Esistono molti dialetti E/R, che spesso si differenziano solo per la notazione grafica adottata I costrutti di base del modello sono l entità, l associazione e l attributo, a cui si aggiungono identificatori, vincoli di cardinalità e gerarchie L espressività del modello E/R non ènormalmente sufficiente in fase di progettazione, il che comporta la necessità di documentazione di supporto Va infine ricordato che, come conoscere un linguaggio di programmazione non significa di per sé saper programmare, così conoscere il modello E/R non significa saper progettare basi di dati! ma è comunque un buon punto di partenza : ) ER: avanzato Sistemi Informativi T 24