Indipendenza dei dati dello schema del database [chiuso]

1

Attualmente sto leggendo degli schemi di database su come funziona l'architettura ANSI-SPARC a tre livelli e sono un po 'confuso riguardo a un concetto di cui sta parlando.

La mia domanda è cosa succederebbe se fosse stata modificata un'applicazione in modo che potesse archiviare i dati per una colonna non definita nello schema logico?

Il libro di cui sto parlando parla di:

... the addition or removal of new entities, attributes or relationships should be possible without having to change existing external schemas or having to rewrite application programs." - Database Systems: A practical Approach to Design, Implementation and Management. Page: 40 (Part: 2.1.5)

  • In che modo lo schema logico gestisce input (colonne) da applicazioni per le quali non è definito nello schema logico?

Architettura ANSI-SPARC: link

    
posta Crizly 29.03.2014 - 16:00
fonte

1 risposta

2

Per coloro che non hanno questo riferimento a portata di mano, l'articolo di Wikipedia su ANSI-SPARC fornisce un panoramica.

How does the logical schema handle input (columns) from applications for which it is not defined in the logical schema?

La risposta breve è che lo schema logico non può gestire (memorizzare) l'input se non ha colonne definite per esso.

La risposta lunga è che penso che il problema è che hai il reticolo di riferimento all'indietro.

Lo schema interno o logico deve avere una rappresentazione per tutti i dati che possono presentare tutte le applicazioni (schemi esterni). Ma gli schemi esterni non devono conoscere tutte le potenzialità possibili all'interno dello schema logico.

Ciò su cui questa citazione si concentra è l'aggiunta di una nuova vista esterna al database esistente. Ciò richiederà probabilmente l'estensione dello schema logico per gestire i nuovi bit di dati che la nuova vista richiederà. Ma le modifiche richieste per questa nuova vista esterna non avranno alcun impatto sulle viste esterne esistenti e sulla loro percezione di come sia lo schema del database.

Per usare un esempio concreto ...

Dire che ho un'applicazione che tiene traccia delle vendite dei biglietti. Ho tutti i tipi di schemi meravigliosi costruiti intorno a prezzi, storia, posti a sedere, venditori e acquirenti. Quindi la mia app di vendita dei biglietti ha una visione di ciò che percepisce lo schema del database.

Più avanti, sto parlando con un altro socio in affari e mi rendo conto che con una piccola modifica al database e una nuova vista esterna, posso facilmente monitorare i risultati delle aste. La premessa di questa citazione è che dovrei essere in grado di apportare modifiche allo schema logico (il mio database) per supportare la mia nuova applicazione di risultati dell'asta senza che deve apportare modifiche alla mia applicazione per il monitoraggio delle vendite di biglietti.

    
risposta data 29.03.2014 - 21:15
fonte

Leggi altre domande sui tag