Il modello Entity-Relationship: elementi di base



Похожие документы
Basi di dati. Le funzionalità del sistema non vanno però ignorate

Informatica (Basi di Dati)

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

MODELLO RELAZIONALE. Introduzione

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

PROGETTAZIONE CONCETTUALE

MODELLO E/R. Modellazione dei dati

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

database: modello entityrelationship

Elena Baralis 2013 Politecnico di Torino 1

Alessandra Raffaetà. Basi di Dati

1. PRIME PROPRIETÀ 2

La progettazione concettuale: il modello ER. 17/12/2007 Unità di Apprendimento A2 1

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

Vincoli di integrità

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Dalla progettazione concettuale alla modellazione di dominio

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

PROGETTAZIONE CONCETTUALE

Progettazione di un DB....in breve

Progettazione di Basi di Dati

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Rappresentazione grafica di entità e attributi

Il modello Entity-Relationship: pattern di progettazione

Progettazione base dati relazionale

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Il modello relazionale dei dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati 9 febbraio 2010 Compito A

Progettazione di Database. Un Esempio

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

LE ASSOCIAZIONI (parte 1) le associazioni parte 1 1

Concetti preliminari teorici per il corso di Access Avanzato - Sc.Elem Falcone - PON Prof. M. Simone

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

Il Modello Relazionale

BASE DI DATI: sicurezza. Informatica febbraio ASA

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA CONCETTUALE LE ASSOCIAZIONI

PROGETTAZIONE DI UN DATABASE

Progettazione del Software, Laurea in Ingegneria Gestionale Progettazione del Software Laurea in Ing. Gestionale

Modulo 2 Data Base 2

BASI DI DATI - : I modelli di database

Lezione 2. Il modello entità relazione

Progettaz. e sviluppo Data Base

Informatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi

Il Modello Relazionale

Corrispondenze e funzioni

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

Introduzione alla teoria dei database relazionali. Come progettare un database

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

I database. Cosa sono e a cosa servono i Database

Esercitazione di Basi di Dati

DIPARTIMENTO IMPIEGATO PROGETTO SEDE. (0,1) (1,1) DIREZIONE Cognome. Codice. Telefono (0,1) (1,N) AFFERENZA. Stipendio (0,N) Nome (1,1) Età

Gestione Voti Scolastici

Progettazione di una base di dati Ufficio della Motorizzazione

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Soluzione dell esercizio del 2 Febbraio 2004

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

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

Identificatori delle entità

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

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap

Database 1 biblioteca universitaria. Testo del quesito

Segreteria da campo. Database Relazionali

Database. Si ringrazia Marco Bertini per le slides

Data Base Relazionali

LABORATORIO di INFORMATICA

Progettazione logica: regole di traduzione

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)

Lezione 4. Modello EER

Informatica (Basi di Dati)

Corso di Basi di Dati A.A. 2014/2015

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

14. LA PROGETTAZIONE CONCETTUALE: IL DIAGRAMMA ER

Progettazione logica relazionale (1/2)

DOMANDE Come si è organizzato l Ateneo di Perugia per la rilevazione delle opinioni degli studenti?

Giovanna Rosone 04/03/ /03/2010 SQL, Istruzioni per la modifica dello schema

RELAZIONI BINARIE. Proprietà delle relazioni Data una relazione R, definita in un insieme non vuoto U, si hanno le seguenti proprietà :

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Organizzazione degli archivi

DATABASE. A cura di Massimiliano Buschi

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

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

Modellazione dei dati in UML

Corso di Informatica (Basi di Dati)

Транскрипт:

Il modello Entity-Relationship: elementi di base Sistemi Informativi T Versione elettronica: 06.1.ER.base.pdf I modelli concettuali dei dati Vogliamo pervenire a uno schema che rappresenti la realtà di interesse in modo indipendente dal DBMS Cerchiamo quindi un livello di astrazione intermedio tra sistema e utenti, che sia al tempo stesso: Flessibile Intuitivo Espressivo tutte caratteristiche che mancano ai modelli logici Realtà percepita Schema I modelli concettuali prevedono tipicamente una rappresentazione grafica, che risulta utile anche come strumento di documentazione e comunicazione Modello ER: base Sistemi Informativi T 2 1

Modello Entity-Relationship Uno standard de facto per la progettazione concettuale Ha una rappresentazione grafica Esistono molti dialetti E/R, che spesso si differenziano solo per la notazione grafica adottata Concetti di base: Entità (entity) Associazione (relationship) Attributo e inoltre: Vincolo di cardinalità Identificatore e altro che vedremo nella seconda parte Introduciamo i concetti di base parlando dei meccanismi di astrazione da cui hanno origine ER: base Sistemi Informativi T 3 Meccanismi di astrazione Quando ragioniamo su un problema usiamo sempre, in funzione del tipo di problema da risolvere, dei procedimentali mentali di un certo tipo per arrivare alla soluzione, ovvero astraiamo dal caso specifico per ricondurci aun pattern più generale che conosciamo Astrazione: procedimento mentale che si adotta quando si concentra l attenzione su alcune caratteristiche, trascurando le altre giudicate non rilevanti Nel nostro caso i meccanismi fondamentali di astrazione sono: classificazione: identifica classi di oggetti del mondo reale aventi proprietà comuni aggregazione: definisce un nuovo concetto a partire da concetti componenti generalizzazione: definisce una classe astraendo dalle differenze esistenti tra due o più classi ER: base Sistemi Informativi T 4 2

Astrazione di classificazione Definizione di una classe a partire da un insieme di oggetti aventi proprietà (caratteristiche) comuni Mesi Mobili Gennaio Febbraio Dicembre Febbraio è un istanza (elemento) della classe Mesi In generale, dato un insieme di oggetti, le classi definibili non sono univocamente determinate, dipende da ciò che interessa modellare! ER: base Sistemi Informativi T 5 Modello E/R: Entità Insieme (classe) di oggetti della realtà di interesse che possiedono caratteristiche comuni (es. persone, automobili, ) e che hanno esistenza autonoma L istanza (elemento) di un entità è uno specifico oggetto appartenente a quella entità (es. io, la mia auto, ) Graficamente un entità si rappresenta con un rettangolo: Persone Automobili Impiegati ER: base Sistemi Informativi T 6 3

Entità e relazioni Data un entità, in prima approssimazione possiamo considerarla equivalente a una relazione, di cui però non sappiamo ancora definire lo schema ER: base Sistemi Informativi T 7 Astrazione di aggregazione Definizione di un concetto (classe) a partire da un insieme di concetti componenti Studente Matricola Cognome Email La Matricola è una parte (part of) dello Studente Èla tipica astrazione che viene utilizzata quando si definiscono dei record (tuple) ER: base Sistemi Informativi T 8 4

Aggregazione di classi Un caso particolarmente interessante è quando i concetti che vengono aggregati sono delle classi che rappresentiamo come delle entità Esami Lezioni Aule Orari ER: base Sistemi Informativi T 9 Modello E/R: Associazione Rappresenta un legame logico tra entità, rilevante nella realtà che si sta considerando Istanza di associazione: combinazione (aggregazione) di istanze delle entità che prendono parte all associazione Graficamente un associazione si rappresenta con un rombo: Persone Risiedono Città Se p è un istanza di Persone e c è un istanza di Città, la coppia (p, c) è un istanza dell associazione Risiedono ER: base Sistemi Informativi T 10 5

A livello di istanze entità E1 istanza di E1 E2 associazione A tra E1 ed E2 istanza di A ER: base Sistemi Informativi T 11 Associazioni e relazioni Data un associazione, in prima approssimazione possiamo considerarla ancora equivalente a una relazione, di cui però non sappiamo ancora definire lo schema Sappiamo solo che dobbiamo in qualche modo mantenere le giuste corrispondenze (istanze dell associazione) tra le entità coinvolte Esami Esami ER: base Sistemi Informativi T 12 6

Istanze di associazioni: una precisazione Per definizione l insieme delle istanze di un'associazione èun sottoinsieme del prodotto Cartesiano degli insiemi delle istanze di entità che partecipano all associazione Ne segue che non ci possono essere istanze ripetute nell associazione Esami Se s è uno studente e c un corso, la coppia (s,c) può comparire un unica volta nell'insieme delle istanze di Esami Vedremo in seguito come si può rappresentare la possibilità di sostenere più volte lo stesso esame ER: base Sistemi Informativi T 13 Grado delle associazioni È il numero di istanze di entità che sono coinvolte in un istanza dell associazione (= numero di rami dell asociazione) associazione binaria: grado = 2 Persone Lavorano Città associazione ternaria: grado = 3 Impiegati Assegnati Progetti Sedi ER: base Sistemi Informativi T 14 7

Più associazioni tra le stesse entità È possibile stabilire più associazioni, di diverso significato, tra le stesse entità Risiedono Persone Lavorano Città ER: base Sistemi Informativi T 15 Associazioni ad anello (1) Un associazione ad anello coinvolge più volte la stessa entità, e quindi mette in relazione tra loro le istanze di una stessa entità Impiegati Collega Un associazione ad anello può essere o meno: Simmetrica: (a,b) A (b,a) A Riflessiva: (a,a) A Transitiva: (a,b) A, (b,c) A (a,c) A L associazione Collega è simmetrica, irriflessiva e transitiva ER: base Sistemi Informativi T 16 8

Associazioni ad anello (2) Nelle associazioni ad anello non simmetriche è necessario specificare, per ogni ramo dell associazione, il relativo ruolo dirige Dipendenti Dirige diretto L importanza dei ruoli diventerà evidente appena introdurremo i vincoli di cardinalità ER: base Sistemi Informativi T 17 Associazioni ad anello (3) È possibile avere anelli anche in relazioni n arie generiche (n > 2) dirige Dipendenti Dirige Progetti diretto Il significato di un istanza (d1,d2,p) è: il dipendente d1 dirige il dipendente d2 all interno del progetto p ER: base Sistemi Informativi T 18 9

Un semplice schema E/R (incompleto!) base esami avanz propedeutici seguono commissioni docenti iscritti Vale la pena osservare che lavorando direttamente con le relazioni a questo punto avremmo solo dei nomi di relazione, SENZA NESSUN LEGAME tra loro!! Professori dilaurea offrono ER: base Sistemi Informativi T 19 Attributi Un atttributo è una proprietà elementare di un entità o di un associazione Graficamente: nome cognome cod_fiscale Persone nome, cognome, cod_fiscale sono tutti attributi di Persone Ogni attributo è definito su un dominio di valori Quindi un attributo associa ad ogni istanza di entità o associazione un valore del corrispondente dominio ER: base Sistemi Informativi T 20 10

Entità con attributi e relazioni Ancora in modo approssimato, un entità con attributi possiamo considerarla equivalente a una relazione, di cui ora possiamo definire lo schema cognome nome data nascita matricola email Matricola Cognome Nome DataNascita Email 29323 Bianchi Giorgio 21/06/1978 gbianchi@alma.unibo.it 35467 Rossi Anna 13/04/1978 anna.rossi@yahoo.it 39654 Verdi Marco 20/09/1979 mverdi@mv.com 42132 Neri Lucia 15/02/1978 lucia78@cs.ucsd.edu ER: base Sistemi Informativi T 21 Attributi: dell entità o dell associazione? È importante fare attenzione a dove si specificano gli attributi! voto data Esami data e voto non sono proprietà né di uno studente né di un corso, ma del legame che si crea in occasione di un esame ER: base Sistemi Informativi T 22 11

Associazioni con attributi e relazioni Data un associazione con attributi, in prima approssimazione possiamo considerarla ancora equivalente a una relazione, di cui possiamo definire lo schema solo parzialmente dobbiamo ancora trovare il modo di mantenere le giuste corrispondenze tra le entità coinvolte voto data Esami Esami Voto Data 28 12/06/2003 30 15/07/2003 26 12/06/2003 30 20/09/2004 ER: base Sistemi Informativi T 23 Rappresentare un associazione (1) Consideriamo il seguente schema, completo di attributi cognome nome data nascita codcorso titolo docente voto data matricola email Esami anno Sappiamo che un istanza dell associazione èla combinazione (aggregazione) di istanze delle entità che vengono associate Quindi, ad esempio: Lo studente Giorgio Bianchi, nato il 21 Giugno 1978, con numero di matricola 29323 ed email gbianchi@alma.unibo.it, ha superato con voto 28 il 12 Giugno 2003 l esame del corso di Analisi, codice 483, tenuto dal Prof. Biondi al primo anno ER: base Sistemi Informativi T 24 12

Rappresentare un associazione (2) Anticipiamo qualcosa Osserviamo che CodCorso è la sola chiave di, e quindi anche chiave primaria, e che Matricola èla chiave primaria di Possiamo pertanto dire, senza perdita di informazioni, la stessa cosa in modo più compatto: Lo studente con numero di matricola 29323 ha superato con voto 28 il 12 Giugno 2003 l esame del corso con codice 483 e quindi per l associazione di fatto dobbiamo rappresentare solo: matricola voto data codcorso Esami ER: base Sistemi Informativi T 25 Rappresentare un associazione (3) matricola voto data codcorso Esami Esami Matricola 29323 39654 29323 35467 Voto 28 30 26 30 Data 12/06/2003 15/07/2003 12/06/2003 20/09/2004 CodCorso 483 729 913 913 ER: base Sistemi Informativi T 26 13

Identificatori Un identificatore permette l individuazione univoca delle istanze di un entità; deve valere anche la minimalità: nessun sottoinsieme proprio dell identificatore deve a sua volta essere un identificatore Corrisponde al concetto di chiave del modello relazionale Per definire un identificatore per un entità E si hanno due possibilità: Identificatore interno: si usano uno o più attributi di E Identificatore esterno: trattati nella seconda parte Se il numero di elementi (attributi o entità) che costituiscono l identificatore è pari a 1 si parla di identificatore semplice, altrimenti l identificatore è composto Ogni entità deve avere almeno un identificatore, in generale può averne più di uno ER: base Sistemi Informativi T 27 Identificatori: esempi Persone CF 1 identificatore, interno e semplice cognome turno_lab 1 identificatore, interno e composto PC turno_lab PC matricola CF matricola 2 identificatori, 1 interno e composto 1 interno e semplice 2 identificatori, entrambi interni e semplici ER: base Sistemi Informativi T 28 14

Differenze con il modello relazionale (1) Nel modello relazionale abbiamo, per ogni relazione, una chiave primaria ed eventuali altre chiavi La chiave primaria viene esportata, definendo così delle foreign keys Quindi: per definire una foreign key dobbiamo aver prima definito qual èla chiave primaria della relazione che vogliamo referenziare Matricola 29323 35467 39654 42132 CodiceFiscale BNCGRG78F21A RSSNNA78D13A VRDMRC79I20A VRDMRC79I20B Cognome Bianchi Nome Marco DataNascita 20/09/1979 Se in Esami vogliamo referenziare la primary key di dobbiamo prima scegliere se èmatricola o CodiceFiscale! Si noti che il problema si pone anche in SQL, in cui si possono definire foreign keys che referenziano anche chiavi non primarie Rossi Verdi Verdi Giorgio Anna Marco 21/06/1978 13/04/1978 20/09/1979 ER: base Sistemi Informativi T 29 Differenze con il modello relazionale (2) Nel modello E/R il riferimento di un associazione a un entità è esplicito nello schema, anche quando non è stato ancora definito alcun identificatore! Esami Lo schema dice già, senza ambiguità, che ogni istanza di Esami referenzia una specifica istanza di Come? A questo livello di dettaglio non è necessario saperlo, lo si può stabilire in seguito! ER: base Sistemi Informativi T 30 15

Uno schema E/R (ancora incompleto!) nome telefono codice ciclo nome data matricola esami voto base avanz propedeutici seguono commissioni docenti Professori nome cognome datan offrono iscritti nome dilaurea ER: base Sistemi Informativi T 31 Vincoli nel modello Entity-Relationship In ogni schema E/R sono presenti dei vincoli Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello: ogni istanza di associazione deve riferirsi ad istanze di entità istanze diverse della stessa associazione devono riferirsi a differenti combinazioni di istanze delle entità partecipanti all'associazione ed altri che vedremo Altri vincoli sono espliciti, e vengono definiti da chi progetta lo schema E/R sulla base della conoscenza della realtà che si sta modellando vincoli di identificazione vincoli di cardinalità (per associazioni e attributi) ER: base Sistemi Informativi T 32 16

Associazioni: vincoli di cardinalità Sono coppie di valori (min card,max card) associati a ogni entità che partecipa a un associazione, che specificano il numero minimo e massimo di istanze dell associazione a cui un istanza dell entità può partecipare Ad esempio, se i vincoli di cardinalità per un entità E relativamente a un associazione A sono (1,n) questo significa: ogni istanza di E partecipa almeno ad una istanza di A: min-card = 1 ogni istanza di E può partecipare a più istanze di A (senza limiti): max-card = n (1,n) Graficamente: E A ER: base Sistemi Informativi T 33 Vincoli di cardinalità: un esempio (0,1) Persone Proprietà Automobili min-card(automobili,proprietà) = 0: esistono automobili non possedute da alcuna persona max-card(automobili,proprietà) = 1: ogni automobile può avere al più un proprietario min-card(persone,proprietà) = 0: esistono persone che non posseggono alcuna automobile max-card(persone,proprietà) = n: ogni persona può essere proprietaria di un numero arbitrario di automobili ER: base Sistemi Informativi T 34 17

Vincoli di cardinalità: commenti (1) I vincoli di cardinalità si possono stabilire correttamente solo se èben chiaro cosa rappresentano le diverse entità (analisi della realtà!) Ad esempio: (?,n) (0,1) Persone Proprietà Automobili Se Persone rappresenta, ad es., il personale di un azienda, allora è ragionevole il vincolo min-card(persone,proprietà) = 0 Ma se, viceversa, abbiamo a che fare con il DB del Pubblico Registro Automobolistico (PRA) e Persone rappresenta l insieme dei proprietari di auto italiane, allora min-card(persone,proprietà) = 1 ER: base Sistemi Informativi T 35 Vincoli di cardinalità: commenti (2) In molti casi i vincoli di cardinalità corretti si ricavano ragionando sulla tempistica di creazione delle istanze Ad esempio: (?,n) (1,1) dilaurea Iscritti Sembrerebbe ovvio il vincolo min-card(dilaurea,iscritti) = 1 Ma che succede se si crea un nuovo Corso di Laurea? Non si può inserirlo nel DB, in quanto violerebbe il vincolo, quindi min-card(dilaurea,iscritti) = 0 ER: base Sistemi Informativi T 36 18

Vincoli di cardinalità: commenti (3) L analisi delle regole che valgono nel mondo reale è sempre fondamentale (non c è nulla di automatico!) Ad esempio: (?,n) (1,1) Dipartimenti Afferenti Docenti Per quanto appena visto min-card(dipartimenti,afferenti) = 0 Ma ogni Ateneo ha come regola che, per costituire un nuovo Dipartimento, è necessario un numero minimo (ad es. 5) di Docenti proponenti che, in caso di approvazione della domanda, afferiscono automaticamente a tale Dipartimento Dunque min-card(dipartimenti,afferenti) = 5 ER: base Sistemi Informativi T 37 Perché i vincoli di cardinalità sono importanti? codice fiscale data acquisto targa (0,1) Persone Proprietà Automobili Anticipiamo qualcosa, traducendo Proprietà Proprietà CF DataAcquisto Targa BLGSTR71B22 12/08/2004 CT 001 MJ BLGSTR71B22 15/07/2003 CM 415 EF FDLNNR66M45 12/06/2003 CL 217 HK Un automobile ha al massimo un proprietario Quindi non esistono valori ripetuti di Targa in Proprietà Quindi Targa è chiave di Proprietà! ER: base Sistemi Informativi T 38 19

Tipi di associazione: terminologia Nel caso di un associazione binaria A tra due entità E1 ed E2 (non necessariamente distinte), si dice che: Aèuno a uno se le cardinalità massime di entrambe le entità rispetto ad A sono 1 Aèuno a molti se max -card(e1,a) = 1 e max-card(e2,a) = n, o viceversa A è molti a molti se max-card(e1,a) = n e max-card(e2,a) = n Si dice inoltre che: La partecipazione di E1 in A è opzionale se min-card(e1,a) = 0 La partecipazione di E1 in A è obbligatoria (o totale) se se min-card(e1,a) = 1 ER: base Sistemi Informativi T 39 Tipi di associazione: esempi (1,1) (1,n) Persone Risiedono Città (1,1) Risiedono Città Persone Lavorano Città Esami Corso (0,1) Professori Insegnano Corso ER: base Sistemi Informativi T 40 20

Associazione n-arie Quanto visto si estende naturalmente al caso di associazioni di grado > 2 Orari Aule (1,n) Lezioni (1,3) Ogni aula ospita da 1 a n lezioni settimanali Ogni corso ha da 1 a 3 lezioni settimanali In ogni ora si tengono da 0 a n lezioni settimanali Ogni istanza di Lezioni èuna tripla (a,c,o): i vincoli di cardinalità per l entità Aule relativamente all associazione Lezioni specificano in quante triple può comparire una data aula (idem per le altre entità) ER: base Sistemi Informativi T 41 Associazione n-arie: attenzione! Nel caso di associazioni di grado > 2 ragionare sui vincoli èperò in generale meno immediato che nel caso binario Ogni corso si tiene in non più di 2 aule Non riguarda gli Orari, quindi non riguarda Lezioni! C è bisogno di un associazione specifica tra e Aule Orari Aule (1,n) Lezioni (1,3) SvoltiIn (1,2) ER: base Sistemi Informativi T 42 21

Esempio con vincoli di cardinalità (1,1) (1,n) Risiedono telefono n.patente cod_fiscale data_nascita Persone Lavorano Città nome regione nome cognome ER: base Sistemi Informativi T 43 Uno schema E/R completo! nome telefono data matricola seguono esami voto codice ciclo nome (3,5) commissioni (1,n) Professori base (1,1) avanz docenti (1,n) nome cognome datan propedeutici (1,1) offrono (1,1) iscritti nome (1,n) dilaurea ER: base Sistemi Informativi T 44 22