Lo schema ER (Entity-Relationship) è uno strumento fondamentale nell’ambito della progettazione dei database. Consiste in una rappresentazione grafica delle entità all’interno del sistema e delle relazioni che intercorrono tra di esse.

Elementi Fondamentali

Lo schema ER fornisce una rappresentazione grafica dei concetti chiave all’interno del dominio del problema. Questi concetti includono entità, attributi e relazioni.

Entità: Un’entità rappresenta un oggetto o un concetto del mondo reale che deve essere memorizzato nel database. Ad esempio, in un database di una libreria, potremmo avere entità come Libro, Autore e Utente.

Attributi: Gli attributi sono le caratteristiche o le proprietà che descrivono un’entità. Ad esempio, un’entità “Libro” potrebbe avere attributi come Titolo, Autore e Anno di pubblicazione.

Relazioni: Le relazioni indicano come le entità sono connesse tra loro. Ad esempio, un libro può essere scritto da uno o più autori, e un autore può aver scritto uno o più libri. Queste connessioni sono rappresentate dalle relazioni nel diagramma ER.

Entità

Un’entità rappresenta un tipo di oggetto o concetto del mondo reale che è identificabile e distintivo. In termini di database, un’entità è una classe di oggetti con caratteristiche comuni, ciascuno dei quali può essere identificato univocamente (in sostanza il concetto di insieme). Le entità sono solitamente rappresentate come tabelle nel modello relazionale dei database. Nel contesto di un database esempi di entità potrebbero essere “Libro”, “Studente”, “Automobile” ecc.

Le entità nello schema di rappresentano con la figura geometrica del rettangolo:

Istanza

Un’istanza è un esempio specifico di un’entità. È un’occasione concreta di un oggetto appartenente a una certa classe o entità. Ogni istanza ha un identificativo univoco che la distingue da tutte le altre istanze della stessa entità.

Nel nostro esempio della libreria, un’istanza di libro potrebbe essere “Il Signore degli Anelli” scritto da J.R.R. Tolkien e pubblicato nel 1954. Questo rappresenta un’istanza specifica dell’entità “Libro”, con i suoi attributi particolari.

Attributi

Un attributo è una caratteristica o una proprietà che descrive un’entità all’interno di un sistema. Ogni entità può avere uno o più attributi che rappresentano le informazioni pertinenti a quella specifica entità.

Gli attributi forniscono dettagli specifici e vengono utilizzati per descriverla in modo univoco all’interno di un database. Ad esempio, se consideriamo un’entità “Persona”, alcuni attributi potrebbero essere “Nome”, “Cognome”, “Data di nascita” e “Indirizzo”. Questi attributi descrivono in modo univoco ogni persona all’interno del database. Gli attributi si rappresentano con dei pallini vuoti collegati all’entità:

Tipi di attributi

Gli attributi possono essere di diversi tipi, tra cui:

Attributi semplici: Rappresentano dati atomici che non possono essere ulteriormente suddivisi. Ad esempio, “Nome” e “Cognome” sono attributi semplici della nostra “Persona”.

Attributi composti: Sono formati da più sotto-attributi che insieme rappresentano un concetto complesso. Ad esempio, un attributo “Indirizzo” potrebbe essere composto da sotto-attributi come “Via”, “Numero civico”, “Città” e “CAP”.

Attributi derivati: Sono attributi il cui valore può essere calcolato da altri attributi. Ad esempio, un attributo “Età” potrebbe essere derivato dalla data di nascita di una persona.

Cardinalità degli attributi

La “cardinalità degli attributi” si riferisce al numero di valori che un attributo può assumere per un’istanza specifica all’interno di un database. Questo concetto è particolarmente importante nell’ambito della progettazione dei database, poiché influenza la struttura e le relazioni.

Le cardinalità si indicano con la coppia (x,y) dove x rappresenta la cardinalità minima e y la cardinalità massima.

Secondo la precedente definizione il seguente schema afferma che una particolare istanza di persona potrebbe avere uno o più numeri di telefono:

Un attributo si dice opzionale se potrebbe anche non assumere un valore e quando può accettare valori nulli (altrimenti viene detto obbligatorio). La cardinalità minima di un attributo opzionale è pari a 0:

Chiave Primaria

La chiave primaria è un concetto fondamentale nella progettazione dei database relazionali. Essa rappresenta un attributo o un insieme di attributi all’interno di una tabella di un database che consente di identificare univocamente ogni riga o record all’interno di quella tabella. La chiave primaria è indicata con un attributo in nero:

Ecco alcune caratteristiche principali della chiave primaria:

  1. Unicità: Ogni valore della chiave primaria deve essere unico all’interno della tabella. Questo significa che nessun’altra riga nella tabella può avere lo stesso valore per la chiave primaria.
  2. Non nullità: La chiave primaria non può contenere valori nulli. Ogni riga della tabella deve avere un valore valido per la chiave primaria.
  3. Stabilità: La chiave primaria dovrebbe essere stabile nel tempo, cioè non dovrebbe cambiare il suo valore una volta assegnato a una riga della tabella.
  4. Minimalità: La chiave primaria dovrebbe essere definita utilizzando il minor numero possibile di attributi che garantiscono l’unicità e l’identificazione di ogni riga nella tabella.

La chiave primaria viene utilizzata per stabilire relazioni tra le tabelle in un database relazionale. Ad esempio, in una tabella degli ordini, il numero dell’ordine potrebbe essere la chiave primaria. Se esiste una relazione tra la tabella degli ordini e la tabella dei clienti, la chiave primaria della tabella dei clienti (ad esempio, il numero di cliente) sarà utilizzata come chiave esterna nella tabella degli ordini per indicare a quale cliente appartiene quell’ordine.

Torna a basi dati

Lascia un commento

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