Database Parte 2

25 02 2008

Modello Entità Relazioni

Uno dei modelli concettuali più importanti nella realizzazione delle basi di dati è il modello Entità Relazioni. Esso si basa sull’associazione fra grandezze informative. Un’entià è un contenuto informativo su un oggetto o un soggetto.Attraverso un’entità è possibile fornire un’informazione completa sulla grandezza informativa che si sta gestendo. Fra entità differenti si possoni instaurare anche legami associativi. Ad esempio cliente posside conto corrente che può eseguire movimenti. In questo esempio vi è un’associazione fra il cliente di una banca e il suo conto corrente. E’ un’associazione obbligatoria poichè ogni conto corrente deve avere un intestatario. Nella seconda parte invece l’assiciazioe è opzionale infatti i conti correnti possono eseguire movimenti ma non è obbligatorio. Il modello E-R non fa altro che definire le associazioni fra le entità per gestire al meglio la base di dati. Ogni entià è caratterizzata dal possedere atributi. Gli attributi sono le caratteristiche delle informazioni che si stanno gestendo. Un attributo è detto semplice se il dominio è semplice (ovvero l’insieme di appartenenza del dato è semplice intero, reale, stringa,ecc), composto se l’attributo è una struttura dati omognea, complessa se è costituita da sottoattributi. Ogni associazione possiede una cardinalità o grado di molteplicità.
Esistono associazioni uno a uno, uno a molti, e molti a molti. Nel primo caso ad ogni elemento del primo insieme corrisponde un elemento del secondo e viceversa. Nella relazione 1 a M ad ogni elemento del primo insieme corrispondono più elementi del secondo insieme, ma non il contrario. Per finire nella relazione M a N ad ogni elemento del primo insieme corrispondono più elementi del secondo insieme e viceversa.
Esempi di relazioni uno a uno Marito – Moglie, Conto Corrente – Saldo. Esempi di associazioni uno a molti Conto Corrente – Movimenti. Associazioni Molti a molti possono essere fra cugini di una famiglia, fra alunni e docenti. Per poter gestire le associazioni si devono introdurre il concetto di chiave primaria come l’insieme di uno o più attributi che identificano in modo univoco dei valori nell’entità (istanza).
Si definisce chiave esterna uno o più attributi che nell’enetità di partenza sono chiave primaria mentre in quella di arrivo identificano una n-pla di istanze. Nella associazione molti a molti si semplifica creando un’entità di passaggio che permetta di decomporre l’associazione in due 1-M.

Vediamo come esempio la gestione dei conti di una banca. L’entità come sopra citato sono tre Cliente, Conto, Movimenti. Esprimendo il modello concettuale E-R sh ha:

Modello E-R

Come si nota Codice_conto è chiave primaria per le entità Clienti, Conti, mentre è chiave esterna per l’entità Movimenti.
Modello Logico

La fase successiva è la creazione e il dimensionamento delle tabelle corrispondenti alle entità, La progettazione del modello logico consiste nella definizione delle strutture dati idonee al problema posto mettendo in evidenza legami fra le entità. Se adoperiamo l’esempio espsoto avremo tre tabelle così composte e definite:

Nome Attributo Tipo Note
Codice Conto 10 caratteri Chiave Primaria
Codice Fiscale 16 caratteri  
Cognome 20 caratteri  
Nome 20 caratteri  

questo per la tabella clienti. Analogamente per l’entità conti e movimenti si hanno le seguenti tabelle:

Nome Tipo Note
Codice Conto 10 caratteri Chiave Primaria
Saldo Reale 2 cifre decimali e 15 intere
In_rosso Logico Vale Si se saldo negativo

mentre per l’entità Movimenti si ottiene:

Nome Tipo Note
Codice_Movimento Intero auto incrementato Chiave Primaria
Codice_conto 10 caratteri Chiave Esterna
Data Data in gg/mm/aaaa  
Importo Reale 2 cifre decimali e 15 intere
Tipo_Movimento 20 caratteri

Alle tabelle create è possibile aggiungere una colonna con le descrizioni dettagliate.


Azioni

Information

Lascia un commento

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...




%d blogger cliccano Mi Piace per questo: