Schemi DBMS: interni, concettuali, esterni
⚡ Riepilogo intelligente
Gli schemi DBMS organizzano un database in tre assolutitraclivelli di zione in modo che utenti, progettisti e amministratori lavorino ciascuno al livello di profondità appropriato. Gli schemi interni, concettuali ed esterni insieme formano l'architettura a tre livelli ANSI-SPARC che garantisce l'indipendenza dei dati.
Che cos'è Data Abs?traczione nel DBMS?
I sistemi di database sono costruiti su strutture dati complesse. Per rendere il sistema efficiente per il recupero dei dati e per ridurre la complessità per gli utenti, gli sviluppatori utilizzano il metodo di assorbimento dei datitraczione. Dati assolutitracLa funzione nasconde i dettagli relativi alle modalità di archiviazione e gestione dei dati, mostrando solo ciò che ogni tipo di utente deve effettivamente visualizzare.
Esistono principalmente tre livelli di datitraczione:
- Livello interno: La struttura fisica effettiva di archiviazione e i percorsi di accesso.
- Livello concettuale o logico: Struttura e vincoli per l'intero database.
- Livello esterno o di visuale: Descrive le diverse visualizzazioni utente.
Questi tre livelli sono descritti da tre schemi corrispondenti, noti collettivamente come architettura a tre livelli ANSI-SPARC. Uno schema rappresenta la progettazione o la descrizione del database a un determinato livello; i dati stessi sono chiamati istanze. Il diagramma seguente mostra come i livelli si sovrappongono.
Analizziamo nel dettaglio ciascun livello, partendo dal livello di archiviazione e risalendo fino al livello utente.
Livello interno / Schema
Lo schema interno definisce la struttura fisica di archiviazione del database. Lo schema interno è una rappresentazione di livello molto basso dell'intero database. Contiene più occorrenze di più tipi di record interni. In termini ANSI, viene anche chiamato "record memorizzato".
Informazioni sullo schema interno:
- Lo schema interno è il livello più basso di astrazione dei datitraczione.
- Conserva informazioni sulla rappresentazione effettiva dell'intero database, come ad esempio la memorizzazione effettiva dei dati su disco sotto forma di record.
- La vista interna ci mostra quali dati sono memorizzati nel database e come.
- Non si occupa mai direttamente dei dispositivi fisici. Piuttosto, lo schema interno considera un dispositivo fisico come una raccolta di pagine fisiche.
Una volta definito il livello di archiviazione, la progettazione logica che si trova al di sopra di esso viene descritta dallo schema concettuale.
Schema concettuale / Livello
Lo schema concettuale descrive la struttura dell'intero database per la comunità di utenti. Questo schema nasconde le informazioni relative alle strutture di archiviazione fisiche e si concentra sulla descrizione dei tipi di dati, delle entità, delle relazioni e così via.
Questo livello logico si colloca tra il livello utente e la vista della memoria fisica. Esiste un'unica vista concettuale di un singolo database.
Informazioni sugli schemi concettuali:
- Definisce tutte le entità del database, i loro attributi e le loro relazioni.
- Contiene informazioni relative alla sicurezza e all'integrità dei dati.
- A livello concettuale, i dati a disposizione dell'utente devono essere contenuti nel livello fisico o derivabili da esso.
Il design concettuale si adatta naturalmente a un modello di dati relazionalidove le entità diventano tabelle e le relazioni diventano chiavi. Al di sopra del livello concettuale, i singoli utenti vedono solo la porzione di dati a loro rilevante, descritta dallo schema esterno.
Schema/livello esterno
Uno schema esterno descrive la parte del database di interesse per un utente specifico. Nasconde all'utente i dettagli del database non pertinenti. Per ogni database possono esserci "n" viste esterne.
Ogni vista esterna è definita utilizzando uno schema esterno, che consiste nelle definizioni di vari tipi di record esterni per quella specifica vista.
Una vista esterna è semplicemente il contenuto del database visto da un utente specifico. Ad esempio, un utente del reparto vendite visualizzerà solo i dati relativi alle vendite.
Fatti sullo schema esterno:
- Il livello esterno si riferisce esclusivamente ai dati visualizzati da specifici utenti finali.
- Questo livello include uno o più schemi esterni.
- Il livello dello schema esterno è il più vicino all'utente.
- Lo schema esterno descrive il segmento del database necessario per un determinato gruppo di utenti e nasconde i dettagli rimanenti a tale gruppo.
Schema a tre livelli Archistruttura a confronto
I tre livelli sono più facili da ricordare se considerati uno accanto all'altro. Ognuno risponde a una domanda diversa, si rivolge a un pubblico diverso e varia per ragioni diverse.
| Aspetto | Schema interno | Schema concettuale | Schema esterno |
|---|---|---|---|
| Chiamato anche | Livello fisico | Livello logico | Livello di vista |
| descrive | Come vengono memorizzati i dati su disco | Quali dati e relazioni esistono? | Cosa vede un gruppo di utenti |
| Pubblico | Amministratore del database | Progettista di database | Utente |
| Quanti | Un | Un | Molti |
| Nasconde | Niente al di sotto | Conservazione fisica | Dati non correlati |
I livelli non funzionano in modo isolato. Sono collegati tramite mappa.pings, che sono il meccanismo che garantisce l'indipendenza dei dati.
Mappapings Tra i livelli dello schema
Una cartinaping è la corrispondenza che il DBMS mantiene tra due livelli adiacenti, in modo che una richiesta a un livello superiore possa essere tradotta in un'azione a un livello inferiore. L'architettura a tre livelli utilizza due mappepings:
- Mappa concettuale/internaping: collega la progettazione logica alla memoria fisica. Definisce come le entità e gli attributi nello schema concettuale corrispondono ai record e ai file memorizzati nello schema interno. Quando la memoria cambia, solo questa mappaping è aggiornato.
- Mappa esterna/concettualeping: collega ogni vista utente alla progettazione logica complessiva. Definisce come i campi visualizzati dall'utente si relazionano alle entità nello schema concettuale. Quando la progettazione logica cresce, solo la mappa interessatapingvengono aggiornati.
Perché queste mappepings assorbe il cambiamento, lo storage può essere riorganizzato senza riscrivere i programmi utente, che è esattamente il indipendenza dei dati l'architettura è progettata per fornire.
Obiettivo dello schema a 3 livelli Architectura
Ecco alcuni obiettivi dell'utilizzo dell'architettura a tre schemi:
- Ogni utente dovrebbe poter accedere agli stessi dati, ma visualizzarli in una forma personalizzata.
- L'utente non dovrebbe dover gestire direttamente i dettagli relativi all'archiviazione fisica del database.
- L'amministratore del database dovrebbe essere in grado di modificare la struttura di archiviazione del database senza interrompere la visualizzazione da parte degli utenti.
- La struttura interna del database non dovrebbe subire variazioni in seguito a modifiche apportate agli aspetti fisici dell'archiviazione.
Vantaggi di uno schema di database
- È possibile gestire i dati indipendentemente dalla memoria fisica.
- Migrazione più rapida verso nuovi ambienti grafici.
- Migliori Architettura del DBMS Consente di apportare modifiche a livello di presentazione senza influire sugli altri due livelli.
- Poiché ogni livello è separato, è possibile utilizzare diversi team di sviluppatori.
- È più sicuro, poiché il client non ha accesso diretto alla logica di business del database.
- Se un livello si guasta, non si verifica alcuna perdita di dati, perché la sicurezza è sempre garantita dall'accesso all'altro livello.
Svantaggi di uno schema di database
- Lo schema completo di un database è una struttura complessa, difficile da comprendere per chiunque.
- È difficile da installare e da mantenere.
- La separazione fisica dei livelli può influire sulle prestazioni del database.


