Modello E-R: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Rb
Riga 7:
Nell'ambito della [[progettazione]] ingegneristica delle basi di dati si distinguono tre livelli indipendenti e consecutivi di progettazione: progettazione concettuale, progettazione logica, progettazione fisica. Propriamente, il modello E-R è la tecnica-principe per la fase di progettazione concettuale, il modello relazionale per quella di progettazione logica. Solamente nell'ultima fase di progettazione fisica, si prendono in considerazione i ''software'' e ''hardware'' applicativi, proprietari e non, esistenti sul mercato.
 
==Generalità==
== Altri costrutti del modello giacomino jack==
Il modello E-R si basa su un insieme di concetti molto vicini alla [[realtà di interesse]]: quindi facilmente intuibili dai progettisti (e in genere considerati sufficientemente comprensibili e significativi anche per i non-tecnici), ma non implementabili sugli [[computer|elaboratori]]. Infatti, pur essendo orientato alla progettazione di basi di dati, il modello [[Astrazione (informatica)|prescinde]] dai criteri specifici di organizzazione fisica dei dati persistenti nei [[sistema informatico|sistemi informatici]]. Esistono tecniche per la traduzione dei concetti ad alto livello (meglio comprensibili per gli umani) in concetti di più basso livello tipici dei vari modelli logici (ad esempio il [[modello relazionale]]) implementati nei diversi [[DBMS]] esistenti.
 
Il modello E-R ha rappresentato per lungo tempo (e forse ancora oggi) uno degli approcci più solidi per la modellazione di [[dominio applicativo|domini applicativi]] in ambito informatico; per questo motivo, è stato spesso usato anche al di fuori del contesto della progettazione di database, ed è stato utilizzato come modello di riferimento per numerose altre notazioni per la modellazione. Al modello E-R era ispirata, tra l'altro, la notazione [[Object Modeling Technicque|OMT]] poi confluita in [[Unified Modeling Language|UML]].
 
Tramite una superchiave identificativa (campi: ID_codice padre, ID_codice figlio), lo schema Entità-Associazione rappresenta un [[Albero (grafo)|grafo ad albero]] su un numero di livelli a piacere (in particolare anche una [[distinta base]]), assai diffusa nel mondo informatico. La ''Sunburst Chart'' consente una agevole e diffusa rappresentazione grafica di dati gerarchici.
 
== I costrutti principali del modello ==
Analisi dei principali costrutti del modello E-R: entità, associazioni e attributi.
=== Entità ===
Rappresentano classi di oggetti (fatti, cose, persone, ...) che hanno proprietà comuni ed esistenza autonoma ai fini dell'applicazione di interesse. Un'occorrenza di un'entità è un oggetto o istanza della classe che l'entità rappresenta. Non si parla qui del valore che identifica l'oggetto ma dell'oggetto stesso. Un'interessante conseguenza di questo fatto è che un'occorrenza di entità ha un'esistenza indipendente dalle proprietà ad essa associate. In questo, il modello E-R presenta una marcata differenza rispetto al modello relazionale nel quale non possiamo rappresentare un oggetto senza conoscere alcune sue proprietà.
 
In uno schema, ogni entità ha un nome che la identifica univocamente, e viene rappresentata graficamente tramite un rettangolo con il nome dell'entità al suo interno.
 
=== Associazione ===
Le associazioni (dette anche ''relazioni,'' con terminologia desueta) rappresentano un legame tra due o più entità.
Il numero di entità legate è indicato dal grado dell'associazione: un buono schema E-R è caratterizzato da una prevalenza di associazioni con grado due.
È possibile legare un'entità con se stessa (attraverso un'associazione ad anello), nonché legare le stesse entità con più associazioni.
 
Di norma viene rappresentata graficamente da un rombo contenente il nome dell'associazione. Il nome può essere un verbo in modo da fornire una direzione di lettura, oppure può essere un sostantivo in modo da non dare una direzione di lettura. L'orientamento accademico e professionale più recente propende per l'utilizzo del sostantivo proprio per evitare di dare un verso all'associazione.
 
=== Attributi ===
Le entità e le associazioni possono essere descritte usando una serie di attributi. Tutti gli oggetti della stessa classe entità (o associazione) hanno gli stessi attributi: questo è ciò che si intende quando si parla di oggetti simili.
La scelta degli attributi riflette il livello di dettaglio con il quale vogliamo rappresentare le informazioni sulle entità e sulle relazioni.
Per ciascuna classe entità o associazione si definisce una chiave. La chiave è un insieme minimale di attributi che identifica univocamente un'istanza di entità o associazione.
L'attributo si rappresenta con un'ellisse al cui interno viene specificato il nome dell'attributo o anche semplicemente, nel caso di diagrammi complessi, indicandone solo il nome, eventualmente in corrispondenza. In caso di chiave primaria, il nome dell'attributo viene sottolineato o cerchiato.
 
== Altri costrutti del modello giacomino jack==
=== Cardinalità delle associazioni ===
Vengono specificate per ciascuna entità che partecipa a una associazione e indicano quante volte, in una associazione tra entità, un'occorrenza di una di queste entità può essere legata ad occorrenze delle altre entità coinvolte nell'associazione (indica il minimo e il massimo delle occorrenze).