indipendenza logica e fisica dei database

INDIPENDENZA LOGICA E FISICA DEI DATABASE
Nell' organizzazione dei database possiamo dunque evidenziare tre livelli di astrazione:
LIVELLO INTERNO(->SCHEMA INTERNO) : rappresenta la descrizione fisica delle strutture degli archivi,
orientato a valutazione di carattere tecnico ed economico, tecnologia hardware e software.
LIVELLO LOGICO/CONCETTUALE(->SCHEMA LOGICO/CONCETTUALE): a cui fanno riferimento l'
analisi concettuale e quella logica dei dati.
LIVELLO ESTERNO(->SOTTOSCHEMI o VISTE) : è detto anche livello applicativo e descrive come i dati
sono visti dalle applicazioni e degli utenti,differenti utenti possono avere differenti visioni a seconda dell'
uso e delle autorizzazioni.
Proprio in virtù di questa suddivisione progettuale i DATABASE, con particolare riferimento ai db
relazionali,godono di due potentissime proprietà
Indipendenza fisica dei dati significa che l'amministratore del database può modificare lo schema fisico
del database senza alterare lo schema logico o le viste. L'unica dichiarazione che può essere modificata è
quella relativa alle corrispondenze esistenti tra il livello fisico ed il livello logico. L'organizzazione fisica di un
database è di norma modificata in modo da migliorare l'efficienza dei programmi applicativi; l'indipendenza
fisica dei dati permette di modificare lo schema fisico senza riscrivere i programmi applicativi, in quanto
questi fanno riferimento allo schema logico del database, essa consente quindi di eseguire i programmi
applicativi come se niente fosse cambiato.
L'Indipendenza logica dei dati consiste nella possibilità di cambiare lo schema logico senza modificare le
viste degli utenti. L'indipendenza logica dei dati permette di effettuare, in gran parte dei casi, delle
modifiche nello schema logico del database senza richiedere alcun cambiamento nelle viste interessate.
L'unico caso di cambiamento dello schema che richieda anche modifiche nella vista di utente consiste nella
cancellazione di informazioni che corrispondano ad informazioni presenti nella vista. Si osservi che,
necessariamente, ogni modifica fatta a livello logico comporterà delle modifiche a livello fisico.
LIVELLO ESTERNO
(utenti e programmi)
DML DCL DDL esterno
LIVELLO
LOGICO/CONCETTUALE
DDL
Indipendenza logica
Indipendenza fisica
LIVELLO FISICO
DMCL
DML ... Data Definition Language
DCL ... Data Control Language
DML ... Data Manipulation Language
DMCL ... Device Media Control Language, linguaggio per la gestione dei dati su disco. Definisce la corrispondenza
tra lo schema e le strutture fisiche di memorizzazione. Può essere un sottoinsieme del DDL.
DCL:
Fornisce e revoca agli utenti i permessi necessari per poter usare i comandi DDL e DML.
Es.: Create user, Drop User, Set Password, Grant ( per fornire uno o più permessi ad un utente su un
oggetto- es. tabella- del DB), Revoke(per revocare uno o più permessi ad un determinato utente).
DDL:
Create Database, Alter Database (non esiste standard sql), Drop Database, Create Table, Drop Table,
Create Index, Drop Index
Alter table + add
+ modify
+ drop
DDL esterno: Definisce i sottoschemi o viste.
DML:
Select
Insert, Update, Delete, Begin Transition, Commit, Rollback
Transazione: blocco di istruzioni strettamente correlate tra loro. Se si verifica un errore non verrà
annullata solo l' ultima istruzione, ma l' intera transazione. In tal modo l' integrità dei dati sarà garantita.