Modello concettuale E/R – Entità

Entità e attributi

Nel progettare un database si inizia dal livello più alto (e cioè più lontano dalla macchina e più vicino al problema reale) e si lascia per ultima la realizzazione fisica del progetto (scrittura del codice …).

Si possono distinguere tre livelli di progettazione:

  1. Modello concettuale: è il livello più generale della base dati; indipendente dal DBMS in cui sarà implementato, individua tutti i dati, le associazioni tra dati, i vincoli. Lo strumento più usato per la progettazione concettuale è il Diagramma E/R (Entità-Associazioni).
  2. Modello logico: a questo livello s’individuano le strutture dati necessarie per realizzare il progetto; e dipende dal tipo di dbms che si utilizzerà per implementare i dati.
  3. Livello fisico: è il livello più vicino alla macchina ovvero al software utilizzato e deve tenere conto delle sue caratteristiche.

Modello Entità-relazione (Diagramma E/R)

Questa immagine ha l'attributo alt vuoto; il nome del file è exception-2020-05-03-alle-16.17.03.png

Obiettivo della fase di progettazione concettuale è la rappresentazione completa della realtà d’interesse, in maniera indipendente da qualsiasi specifico DBMS e quindi senza tenere conto degli aspetti implementativi. Tale rappresentazione, detta schema concettuale, e si basa su:

Entità

Attributi

Associazioni

L’entità è un oggetto (persone, auto, ecc…) che può essere identificato in modo chiaro nella realtà analizzata, e che ha significato anche se viene considerato in modo isolato. Ogni entità caratterizzata da un nome si rappresenta con un rettangolo etichettato con il nome dell’entità e l’elenco delle sue proprietà (o attributi).

Rappresentano un insieme di persone e un insieme di auto.

Istanze e Attributi

Gli attributi permettono di descrivere le caratteristiche dell’entità (alcune volte anche delle associazioni); per esempio: ogni persona avrà un nome e un cognome.

Questa immagine ha l'attributo alt vuoto; il nome del file è exception-2020-05-03-alle-16.21.27.png

Un’istanza (o occorrenza) di un’entità rappresenta uno specifico oggetto dell’insieme: la persona X, l’automobile Y, mentre tutte le istanze della stessa entità (o associazione) hanno gli stessi attributi.

Nome

Cognome

Ugo

Fantozzi

Pina

Fantozzi

Anna

Silvani

Renzo

Filini

Gli attributi dell’entità Auto sono:

Modello, Marca, Cilindrata, Potenza, PrezzoListino.

 
Questa immagine ha l'attributo alt vuoto; il nome del file è exception-2020-05-03-alle-16.22.33.png
 
 

Un attributo non ha esistenza autonoma ma è associato a un’entità o a un’associazione. Un attributo può essere:

Semplice: può avere un solo valore nell’istanza, Ad esempio, attributi semplici possono essere nome, indirizzo di posta elettronica e pagina web.

Multivalore: può avere, per ogni istanza dell’entità associata, più valori. Ad esempio, telefono per il quale possono essere noti più numeri: TelCasa, TelUfficio. Cell, oppure lingua parlata.

Composto: è formato da più attributi correlati. Ad esempio indirizzo: formato dagli attributi via, numero, e città.

Calcolato: è un attributo il cui valore è ottenuto calcolandolo dai valori di altri attributi. Ad esempio l’età di una persona si ottiene dalla differenza tra l’anno corrente e l’anno di nascita. Una regola importante richiede di definire solo gli attributi elementari e quindi di non definire gli attributi che si ottengono tramite calcoli (attributi derivati)

Un attributo può essere inoltre obbligatorio o opzionale. Un attributo obbligatorio deve sempre avere un valore valido. Un attributo opzionale può non avere un valore a causa di uno dei seguenti motivi:

Il valore dell’attributo non esiste. Ad esempio, nel caso di un attributo email per una persona, la persona non possiede un indirizzo di posta elettronica.

Il valore dell’attributo esiste ma non è noto. Quindi, la persona ha un indirizzo di posta elettronica ma non ci è noto quale sia;

Non è noto se il valore dell’attributo esista. Quindi, non sappiamo se la persona abbia un indirizzo di posta elettronica.

Identificatori

Per ciascuna entità si definisce un attributo (o un insieme di attributi) che identifica univocamente ciascuna istanza dell’entità. L’identificatore viene rappresentato con un pallino pieno, oppure sottolineandolo.

Attributi identificatori composti

Se non si riesce a trovare un attributo che soddisfi il requisito di unicità, si possono usare più attributi per  identificare un’istanza (attributo composto).

Identificatore multiplo

Se non esistesse la matricola dello studente, potremmo usare, per identificarlo, il suo nome e il suo cognome e la data di nascita, nell’ipotesi semplificativa che non esistano mai due studenti omonimi nati lo stesso giorno in tale istituto.

Non sono consentiti valori nulli e valori duplicati per la chiave((integrità sull’entità  o vincolo di chiave).

Identificatori artificiali

In alcune situazioni si ricorre a un identificatore artificiale:

Si tratta di un attributo numerico che assume valori progressivi assegnati dal sistema garantendo in tale modo l’unicità. La scelta d’introdurlo viene effettuata quando:

Nessun attributo ha tutte le proprietà di un identificatore;

Gli identificatori  sono tanti

Ci sono problemi d’identificazione

Dominio di un attributo

Il Dominio di un attributo rappresenta l’insieme dei valori assunti dall’attributo:

Per l’attributo nome dello Studente, il Dominio può essere l’insieme delle stringhe di lunghezza 20 caratteri.

Per la matricola, può essere l’insieme di tutti i numeri interi positivi.

 

 

Please follow and like us:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Commenti recenti

Working Hours

  • Monday9am - 6pm
  • Tuesday9am - 6pm
  • Wednesday9am - 6pm
  • Thursday9am - 6pm
  • Friday9am - 6pm
  • SaturdayClosed
  • SundayClosed
Latest Posts

Teachers

Facebook
Twitter
LinkedIn
Contatti

Commenti recenti

Wordpress Social Share Plugin powered by Ultimatelysocial
error

Enjoy this blog? Please spread the word :)

%d blogger hanno fatto clic su Mi Piace per questo: