Modelli Logici di Database: Gerarchico e a Rete
Classified in Informatica
Written at on italiano with a size of 3,77 KB.
Progettazione Logica dei Database
La progettazione logica ha l'obiettivo di tradurre il progetto concettuale (che rappresenta i requisiti) in un disegno logico implementabile su un DBMS (Database Management System).
Modelli Logici di Database
Esistono diverse rappresentazioni per il modello logico del database, tra cui:
- Modello gerarchico
- Modello a rete (o reticolare)
- Modello relazionale
- Modello orientato agli oggetti
Modello Gerarchico
Sviluppo e Concetti Chiave (1960-1980):
- Fine anni '60: Sviluppo di IBM IMS (Information Management System), un esempio di database gerarchico, con definizione di indipendenza dei dati, sicurezza e linguaggio di definizione del database.
- 1975: Creazione e lavoro della commissione ANSI/SPARC sul database, che definisce l'architettura DBMS a 3 livelli.
Caratteristiche Principali:
- Relazione Genitore/Figlio: Gli elementi hanno una relazione genitore/figlio dove un figlio ha un solo genitore, mentre un genitore può avere diversi figli.
- Rappresentazione 1:1 e 1:M: Questo modello rappresenta un insieme di relazioni di tipo 1:1 e 1:M, formando una gerarchia di entità (o albero).
- Struttura ad Albero: Un genitore (record proprietario) può avere molti figli (record subordinati), ma un figlio può avere un solo genitore. L'albero può avere più livelli; un figlio a un certo livello può essere genitore di altri figli a livelli inferiori.
- Puntatori Fisici: I file sono collegati tra loro tramite puntatori fisici (che indicano l'indirizzo fisico dove trovare un record sul disco) o campi aggiunti ai singoli record.
Limitazioni:
- Difficoltà nell'esprimere relazioni in cui un figlio si riferisce a molti genitori.
- Non tutte le relazioni possono essere rappresentate in una struttura gerarchica.
Modello a Rete (Reticolare)
Caratteristiche Principali:
- Rappresentazione a Grafo: Il modello rappresenta i dati come un insieme (set) di tipi di record e associazioni tra questi, utilizzando una struttura dati a grafo.
- Relazioni 1:1, 1:M e M:N: Un tipo di record può avere molte associazioni con altri tipi di record, supportando relazioni di tipo 1:1, 1:M e M:N.
- Maggiore Flessibilità: È più flessibile del modello gerarchico, essendo un'estensione in cui un figlio può avere più di un padre.
- Puntatori Fisici: Anche i sistemi di database a rete utilizzano puntatori fisici.
- Complessità: Lo svantaggio è che questo tipo di modello di struttura dati può diventare molto complesso, con puntatori che vanno in tutte le direzioni ("ragnatela").
Esempi di DBMS a Rete (Primi anni '70):
- CODASYL (modello di database standardizzato)
- ADABAS
- TOTAL
- IMAGE
Gestione delle Relazioni M:N nel Modello a Rete
Nel modello a rete, le relazioni M:N richiedono la trasformazione in due relazioni attraverso un tipo di record di intersezione chiamato "NUB". Questo elimina la ridondanza presente nel modello gerarchico.
Problematiche di Inserimento, Eliminazione e Modifica
Il modello a rete semplifica notevolmente le operazioni di inserimento, eliminazione e modifica rispetto al modello gerarchico. Tuttavia, è necessario prestare attenzione quando si eliminano record coinvolti in relazioni M:N per evitare inconsistenze; è fondamentale eliminare tutti i record di intersezione ("BKN") coinvolti.