|
|
DATABASE RELAZIONALI
DESIGNAZIONE:
Rappresenta una relazione tra due entità di tipo 1ad M.
Esempio tipico è :
REPARTO IMPIEGATO
(designata) (designante)
Viene rappresentata inserendo, nella tabella dell'entità designante, una chiave esterna che corrisponde alla chiave primaria della tabella della entità designata.
CARATTERISTICA:
Questa relazione ha lo scopo di "caratterizzare" un'entità tramite un'altra entità.
Tra le entità correlate esiste un rapporto di dipendenza-esistenza tra l'entità che caratterizza e l'entità caratterizzata, dove esiste un rapporto di di 949g69j pendenza-esistenza
Viene rappresentata inserendo nella tabella dell'entità designante una chiave esterna, sempre significativa, che corrisponde alla chiave primaria della tabella designata.
Esempio tipico è:
FATTURA MOVIMENTO
(designata) (designante)
NOTA:
La differenza tra i due tipi di relazione è che nella caratteristica non si possono avere valori nulli nella chiave esterna.
Lo scopo principale di un DBMS è quello di servire delle TRANSAZIONI.
i comandi di commit e rollback sono comandi di sincronizzazione.
Un programma quindi può essere visto come una sequenza di transazioni
Il DBMS gestisce un archivio dove vengono memorizzate tutte le variazioni sui dati del DB ( dove sono registrate tutte le operazioni di modifica dei dati, cioè i valori vecchi e nuovi);
viene chiamato file di LOG.
Per consistenza si intende la congruenza, la correttezza e la validità dei valori presenti in un database ( cioè i dati devono essere significativi)
Impedire che una operazione dolosa provochi un aggiornamento non valido dei dati rientra nel problema della sicurezza.
Le regole o vincoli sono:
Qualora i record fossero dipendenti da un altro record, non si possa annullare il record padre se vi sono dei figli.
INTEGRITA' REFERENZIALE
E' uno degli aspetti più importanti del modello relazionale.
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 che possono derivare da una operazione di inserimento o di aggiornamento di una chiave esterna possono essere:
se il valore della chiave esterna non è presente come chiave primaria nella tabella correlata non sarà permessa
se il valore della chiave esterna è nullo allora sarà possibile effettuarla ( da non usare nel caso di caratteristica )
ESEMPIO IN DB2: quando si crea la tabella
.......PRIMARY KEY (...)
FOREIGN KEY(...)
ON DELETE
Oppure ON UPDATE ......
Oppure ON INSERT .......
DELETE: nel caso di cancellazione di chiavi primarie, le chiavi ad esse riferite possono essre soggette ad uno degli effetti Cascata, restrizione, annullamento.
INSERT: nel caso di inserimento su tabelle contenenti chiavi esterne, i valori che queste possono assumere o sono già presenti come chiavi primarie, nelle tabelle riferite, oppure devono essere NULL
UPDATE: si devono distinguere due casi:
se viene aggiornata una chiave esterna, questo aggiornamento deve soddisfare gli stessi vincoli della regola INSERT
se viene aggiornata una chiave primaria, le chiavi esterne ad essa riferite possono essere soggette ad uno degli effetti Cascata, Restrizione, Annullamento
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
La progettazione può essere distinta in due fasi:
progettazione logica= disegno della struttura logica del DB, come modello della realtà
progettazione fisica= scelta e messa a punto del tipo di archiviazione fisica dei dati
Vi sono due fasi:
1) disegno dello schema concettuale(modello entità-relazioni)
2) disegno delle schema logico (definizione delle tabelle, attributi, chiavi, domini delle entità e delle relazioni individuate nella fase precedente)
PROGETTAZIONE DELLO SCHEMA CONCETTUALE
La definizione delle schema concettuale può essere realizzata analizzando la realtà che si
vuole schematizzare secondo due approcci:
APPROCCIO SINTETICO ; TOP-DOWN
APPROCCIO ANALITICO; BOTTOM-UP
I passi :
individuazione delle entità di base
individuazione delle associazioni (N:M)
individuazione delle designazioni (1:M)
individuazione delle caratteristiche (1:M)
individuazione delle proprietà( attributi, domini, chiavi, ..ecc)
iterazione sui passi precedenti fino ad ultimazione del disegno.
Il passaggio dallo schema concettuale allo schema logico verrà effettuato come già visto per il passaggio dallo schema concettuale al disegno degli archivi nella programmazione tradizionale.
Questo tipo di approccio, proposto da Codd, parte da un'analisi dei dati elementari e attraverso un processo di aggregazione, arriva alla formulazione delle tabelle che rappresentano le entità e le possibili correlazioni.
Attraverso il meccanismo della NORMALIZZAZIONE si potrà passare dai dati elementari alle tabelle.
METODOLOGIA MISTA
Proposta da Date, prevede due fasi:
progettazione TOP-DOWN per il disegno dello schema concettuale
verifica del disegno concettuale attraverso il processo di Normalizzazione(BOTTOM-UP)
Documentazione della progettazione:
Una forma standard di documentazione di ciò che si progetta è fondamentale e deve soddisfare le seguenti esigenze:
evidenziare in dettaglio i risultati della progettazione
contenere un ridotto numero di forme di evidenziazione
essere molto vicina al formalismo della progettazione fisica
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