![]() | ![]() |
|
|
La PROGETTAZIONE LOGICA RELAZIONALE consiste nella conversione del modello ER in un insieme di tabelle detto schema logico relazionale.
Nel passaggio bisogna tener conto delle CARATTERISTICHE GENERALI DEL MODELLO RELAZIONALE:
Se è stato utilizzato l'approccio TOP-DOWN per la conversione del modello ER si utilizzeranno delle semplici REGOLE DI DERIVAZIONE:
Rappresentazione entità e attributi:
Rappresentazione delle associazioni
Se invece l'approccio utilizzato è stato di tipo BOTTOM-UP si procede alla conversione attraverso la normalizzazione.
NORMALIZZAZIONE: procedimento che consente di verificare se la definizione dello schema corrisponde a dei canoni standard e, in caso necessario, riportare le tabelle in quelle che sono definite le forme normali delle tabelle relazionali.
Una volta definite le tabelle potranno essere effettuate le seguenti operazioni:
OPERAZIONI INSIEMISTICHE
OPERAZIONI RELAZIONALI
L'integrità referenziale viene rispettata quando: per ogni valore non nullo della chiave esterna, deve esistere un valore corrispondente della chiave primaria, nella tabella associata (qualora i record fossero dipendenti da un altro record, non si può annullare il record padre se vi sono dei figli).
Gli effetti che possono derivare da una cancellazione o da un aggiornamento di una chiave primaria , presente come chiave esterna in altre tabelle, possono essere ricondotte a tre tipologie:
Effetto CASCATA: una cancellazione o un aggiornamento della chiave primaria provoca la cancellazione o l'aggiornamento delle occorrenze presenti nelle tabelle referenziate tramite chiave esterna.
Effetto RESTRIZIONE: la cancellazione o l'aggiornamento devono essere inibite se sono presenti occorrenze per il valore prescelto nelle tabelle correlate
Effetto ANNULLAMENTO: la cancellazione o l'aggiornamento di un valore della chiave primaria provoca un annullamento dei corrispondenti valori presenti nelle chiavi esterne delle tabelle correlate. (da non utilizzare nel caso di caratteristica)
Gli effetti si hanno su delete, insert e update.
Nel caso di multiutenza il DBMS deve governare la concorrenza di più accessi da parte di transazioni differenti.
Per garantire una costante integrità del Database in multiutenza, il sottosistema che controlla gli accessi deve realizzare una serializzazione delle transazioni, che riconduce la multiutenza ad una monoutenza. La tecnica è quella di forzare dei blocchi temporali sui record oggetto di aggiornamento (LOCKING). Il blocco (LOCK) quindi determina l'attesa da parte di altre transazioni che vogliono fare aggiornamenti su tali record.
Ci sono due tipi di blocco:
blocco per aggiornamento (EL=exclusive lock)
blocco per sola lettura (SL=Shared lock)
Se durante l'esecuzione di una transazione si verifica un errore (es. errore nella operazione di registrazione) allora verrà mandato un messaggio di errore e verrà applicato il LOG per ripristinare il contenuto del DB.
Con il meccanismo del (TWO-FASE COMMIT), cioè istruzione di commit ad inizio e fine transazione, si possono evitare gli stati non validi nel caso che la transazione non è stata ultimata per errori hardware
Privacy |
Articolo informazione
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2025