Anteprima
Vedrai una selezione di 7 pagine su 26
Basi di dati Pag. 1 Basi di dati Pag. 2
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 6
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 11
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 16
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 21
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 26
1 su 26
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

MODELLO ER

Uno schema concettuale ha lo scopo di tradurre il risultato dell’analisi dei requisiti in una descrizione formale

indipendentemente dalla tecnologia usata dal DBMS e viene rappresentato per mezzo del modello Entità

Relazioni (ER), il quale fornisce una descrizione sintetica dei dati.

In seguito, la progettazione logica ha lo scopo di tradurre lo schema concettuale in uno schema logico, il quale

è fortemente dipendente dalla tecnologia utilizzata per gestire i

dati che può essere di tipo relazionale, grafi, documentale, key

value (associativo), …

Si può dunque affermare che il modello ER (concettuale) è

diverso dal modello Relazionale (logico); inoltre, strutture dati

differenti possono essere rappresentate dallo stesso modello ER.

Costrutti principali

Nel modello ER possiamo definire alcuni concetti quali quello di entità, attributi (e le loro cardinalità),

identificatori e relazioni.

Entità

Si definisce con il termine di entità una classe di oggetti che hanno proprietà comuni ed esistenza autonoma

ai fini dell’applicazione di interesse; dunque, ogni entità è un insieme di oggetti, ciascuno dei quali prende il

nome di istanza (detta anche occorrenza), i quali presentano caratteristiche comuni.

Nel modello ER viene rappresentata da un rettangolo.

Attributo

Con il termine attributo si intendono le proprietà elementari di entità o di relazioni che sono di interesse ai

fini dell’applicazione. Un attributo associa a ciascuna istanza di entità o di relazione un valore, il quale

appartiene ad un insieme di valori ammissibili per l’attributo (esempio: all’attributo “cognome” non può

essere associato un valore numerico); questo insieme di valori è detto dominio.

Nel modello ER viene rappresentato con —O.

Cardinalità degli attributi

La cardinalità viene definita con il simbolo (min,max), dove min e max rappresentano rispettivamente il

numero minimo e massimo di valori che l’attributo può assumere per ciascuna istanza di entità.

In base alla sua cardinalità un attributo può essere:

- Scalare (o semplice) —> se assume un solo valore per ogni istanza (esempio: entità “esame” e

attributo “voto”; infatti ad ogni esame è associato un solo voto)

—> cardinalità (1,1)

- Multiplo (o multivalore) —> se ammette più valori per ogni istanza dell’entità (esempio: entità

“persona” e attributo “numeroTelefono”; infatti una persona può avere uno o più numeri di telefono)

—> cardinalità (1:N)

La cardinalità, inoltre, può essere utile per specificare che un attributo è opzionale, ovvero, che potrebbe non

assumere nessun valore [esempio: entità “persona” e attributo “secondoNome”; infatti una persona

potrebbe non avere un secondo nome —> cardinalità (0,1); esempio2: entità “città” e attributo “turisti”;

infatti una città può avere n turisti o non averne affatto —> cardinalità (0,N) ].

Attributi composti

Un attributo viene definito composto se è costituito da un insieme di

attributi correlati, permettendo così di unire gli attributi con delle affinità.

Per poter ridurre la complessità degli schemi del modello ER, però, gli

attributi composti vengono utilizzati raramente, prediligendo quelli

atomici (senza attributi correlati); per questo motivo gli attributi

composti vengono spesso “spezzati” nei loro componenti atomici.

Università Milano-Bicocca Colombo Micol SSE - a.a. 2021/2022

Identificatore

Viene definito con l’espressione di identificatore quell’attributo (o insieme di attributi) il cui valore permette

di identificare ciascuna istanza di entità in maniera univoca. Un esempio pratico può essere quello del numero

di matricola (attributo) di uno studente (istanza di entità).

Questi identificatori prendono il nome di chiavi e si indicano con — .

È importante specificare che nel modello ER non vengono specificate le chiavi esterne (foreign key), in quanto

esse costituiscono il meccanismo con cui i database relazionali implementano il collegamento tra tabelle; non

sono quindi necessarie nella rappresentazione dell’ER, considerando che questo modello indica unicamente

l’esistenza di una relazione (sarà compito di chi effettuerà la progettazione logica decidere come

implementare la relazione).

Relazione

Si definisce relazione, detta anche associazione, il legame logico significativo per l’applicazione di interesse

tra due o più entità.

Nel modello ER viene rappresentata con un rombo.

Cardinalità delle relazioni

La cardinalità delle relazioni viene definita con il simbolo (min,max), dove min e max rappresentano

rispettivamente il numero minimo e massimo di volte in cui una data istanza di entità può partecipare

all’associazione. In parole semplici, quindi, la cardinalità non è altro che la numerosità con cui un’entità

partecipa alla relazione a cui si sta facendo riferimento.

Si hanno 3 casi possibili di cardinalità:

- (…,1) : (…,1) —> 1:1

- (…,1) : (…,N) —> 1:N

- (…,N) : (…,N) —> N:N

Esempio N:N : date le entità studente e corso legate tra loro dalla relazione iscrizione, si avrà:

studente —(1,N)— iscrizione —(1,N)— corso

Questo perché uno studente può iscriversi a n corsi e ad un corso possono essere iscritti n studenti.

Esempio 1:N : date le entità persona e città legate tra loro dalla relazione residenza, si avrà:

persona —(1,1)— residenza —(0,N)— città

Questo perché una persona può e deve avere la residenza in una e una sola città, mentre in una città possono

avere residenza da 0 a N persone.

Relazione con 3 o più entità

Tre o più entità coinvolte in una relazione saranno, ognuna di esse, costituite da una

cardinalità che rappresenterà la numerosità con cui ciascuna di queste entità

partecipa alla relazione con le altre entità. ∞,

Considerando una relazione con k entità, dove k può assumere valori da 1 a per

implementare nel modello logico relazionale la tabella ponte è utile ricorrere ad una

chiave esterna (foreign key) per ognuna delle entità coinvolte, così da avere un ente

comune tra queste (la chiave esterna permette di analizzare il collegamento tra le

entità coinvolte nella relazione).

Auto-relazione

Un’auto-relazione non è altro che una relazione tra un’entità e se stessa.

L’implementazione nel modello logico relazionale di questo tipo di relazione consiste

in una tabella dell’entità, raccogliendo tutte le istanze (nel caso dell’esempio raccoglie

tutte le persone di cui si hanno informazioni), e di una tabella ponte che descrive la

relazione tra l’entità e l’entità stessa (nell’esempio: chi ha come vicino chi).

Università Milano-Bicocca Colombo Micol SSE - a.a. 2021/2022

Generalizzazione

Una generalizzazione è un legame logico tra una entità padre E e alcune entità figlie E , E , …, E , dove la

1 2 n

prima è quindi la generalizzazione delle ultime, le quali sono a loro volta specializzazioni della prima. Le entità

figlie ereditano le proprietà (ovvero gli attributi, gli identificatori e le relazioni) dell’entità padre; per questo

motivo ogni istanza di E è anche un’istanza di E, così come quest’ultima può essere un’istanza di E .

i i

Esempio: applicazione della generalizzazione su un modello ER che presenta unità con attributi in comune

Proprietà delle generalizzazioni

Una generalizzazione può essere:

- Totale —> ogni istanza dell’entità padre deve far parte di una delle entità figlie

- Parziale —> le istanze dell’entità padre possono far parte delle entità figlie

Inoltre può essere anche:

- Esclusiva —> ogni istanza dell’entità padre non può far parte di più di una delle entità figlie

- Sovrapposta (overlapping) —> ogni istanza dell’entità padre può far parte di più entità figlie

In base all’esempio precedente:

o Se i dipendenti sono solo operai e impiegati —> generalizzazione totale

o Se fossero dati 3 vari tipi di dipendenti: operai, impiegati e addetti alle pulizie; questi ultimi sono

istanza solo dell’entità “dipendente” —> generalizzazione parziale

o Se un dipendente è solo un operaio o solo un impiegato —> generalizzazione esclusiva

o Se un dipendente è sia operaio sia impiegato —> generalizzazione overlapping)

⬆, ⇑.

La generalizzazione totale si indica con mentre per le altre tipologie si utilizza

Identificatore esterno ed entità deboli (Weak Entities)

Si definisce identificatore esterno un attributo (parte della chiave primaria) che proviene dall’esterno.

Un’entità debole, detta anche weak entity, invece è un’entità che tra i suoi attributi chiave ha uno o più

identificatori esterni. Più semplicemente, un’entità debole è un’entità che “prende in prestito” un attributo

da un’altra entità, detta entità forte.

Nell’esempio che segue “lavoratore” è un’entità debole e “P.IVA” è un identificatore esterno.

Un identificatore esterno può essere eliminato e sostituito aggiungendo una chiave.

Questa soluzione previene su delle possibili complicazioni che si potrebbero avere con un identificatore

esterno ed un’entità debole. Basandoci sull’esempio, infatti, se si volessero cancellare i dati di una

determinata azienda, sarà necessario cancellare anche i lavoratori che fanno riferimento alla partita iva

dell’azienda che si vuole eliminare. Da quanto affermato si può dedurre dunque che l’esistenza dell’entità

debole dipende dai dati presenti in un’altra entità.

Università Milano-Bicocca Colombo Micol SSE - a.a. 2021/2022

Traduzione dal modello ER al modello (logico) Relazionale

Traduzione relazione N:N

Con relazione N:N si intende che le due entità hanno entrambe una cardinalità 1:N rispetto alla relazione.

Per tradurre questo modello ER si crea una tabella per og

Dettagli
Publisher
A.A. 2021-2022
26 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher mimi.col di informazioni apprese con la frequenza delle lezioni di Basi di dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Milano - Bicocca o del prof Cesarini Mirko.