Introduzione
Una vista è un'estrapolazione di dati, atta a mostrare all'utente finale dati di suo interesse. Per esempio:
| Corso | Docente | Aula |
|---|---|---|
| Basi di dati | Rossi | DS3 |
| Sistemi | Neri | N3 |
| Reti | Bruni | N3 |
| Controlli | Bruni | G |
| Aula | Nome | Edificio | Piano |
|---|---|---|---|
| DS1 | OMI | Terra | |
| N3 | OMI | Terra | |
| G | Pincherle | Primo |
| Corso | Aula | Edificio | Piano |
|---|---|---|---|
| Sistemi | N3 | OMI | Terra |
| Reti | N3 | OMI | Terra |
| Controlli | G | Pincherle | Primo |
Osservazione. Nel mondo dell'architettura si potrebbero fare le seguenti distinzioni tra modello, schemi e istanze:
- Modello: Definisce gli elementi architettonici; Per esempio: tetto, muro, finestra, porta etc.
- Schema: L'insieme delle regole che definiscono concetti a partire dagli elementi del modello; Per esempio: una casa è costituita da muri adiacenti, almeno una porta, può avere finestre, ha un tetto posto sui muri etc.
- Istanze: Tutte le possibili istanziazioni fisiche, reali dello schema.
Un modello dei dati rappresenta in effetti un mezzo per rappresentare la realtà.
Introduzione
Una vista è un'estrapolazione di dati, atta a mostrare all'utente finale dati di suo interesse. Per esempio:
| Corsi | Aule | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
| CorsiSedi | |||
|---|---|---|---|
| Corso | Aula | Edificio | Piano |
| Sistemi | N3 | OMI | Terra |
| Reti | N3 | OMI | Terra |
| Controlli | G | Pincherle | Primo |
Osservazione. Nel mondo dell'architettura si potrebbero fare le seguenti distinzioni tra modello, schemi e istanze:
- Modello: Definisce gli elementi architettonici; Per esempio: tetto, muro, finestra, porta etc.
- Schema: L'insieme delle regole che definiscono concetti a partire dagli elementi del modello; Per esempio: una casa è costituita da muri adiacenti, almeno una porta, può avere finestre, ha un tetto posto sui muri etc.
- Istanze: Tutte le possibili istanziazioni fisiche, reali dello schema.
Un modello dei dati rappresenta in effetti un mezzo per rappresentare la realtà.
1.2.5 Indipendenza dei dati
L'indipendenza dei dati è la principale proprietà dei DBMS ed è conseguenza della loro articolazione in livelli d'astrazione.
Utenti e programmi accedono ai dati al più alto livello d'astrazione (livello esterno, che può coincidere col livello logico) trascurando i dettagli di più basso livello.
Tale indipendenza ha due forme:
- Indipendenza fisica: Il livello logico e quello esterno sono indipendenti da quello fisico:
- Una tabella è usata nello stesso modo qualunque sia la sua realizzazione fisica (organizzazione e allocazione dei file).
- La realizzazione fisica può cambiare senza che debbano essere modificati i programmi.
- Indipendenza logica: Il livello esterno è indipendente da quello logico;
- Aggiunte o modifiche alle viste non richiedono modifiche al livello logico;
- Modifiche allo schema logico che lascino inalterato lo schema esterno sono trasparenti.
1.2.6 Transazioni
Una transazione è un insieme di operazioni da considerare:
- Indivisibile (atomico): La sequenza di operazioni sulla base di dati viene eseguita per intero o per niente.
- Per esempio: il trasferimento di fondi da un conto A a un conto B deve essere tale per cui o si fanno il prelevamento da A e il versamento su B o nessuno dei due.
- Corretto anche in presenza di concorrenza:
- L’effetto di transizioni concorrenti dev’essere coerente (e.g. equivalente all’esecuzione separata).
Per esempio, se due assegni emessi sullo stesso conto corrente vengono incassati contemporaneamente si deve evitare di trascurarne uno.
Con effetti definitivi - i risultati sono permanenti:
La conclusione positiva di una transazione corrisponde a un impegno (commit) a mantenere traccia del risultato in modo definitivo, anche in presenza di guasti e di esecuzione concorrente.
Vi sono due accezioni di transazione:
Per l’utente
- Programma a disposizione, da eseguire per realizzare una funzione d’interesse;
- Programmi che realizzano attività frequenti e predefinite, con poche eccezioni, previste a priori;
- Le transazioni sono di solito realizzate in linguaggio ospite (tradizionale o ad hoc)2;
Esempi:
- Versamento presso uno sportello bancario;
- Emissione di certificato anagrafico;
- Dichiarazione presso l’ufficio di stato civile;
- Prenotazione aerea.
Per il sistema
Sequenza indivisibile di azioni.
1.2.7 Caratteristiche dei DBMS
1.2.7.1 Privatezza
Si possono definire meccanismi di autorizzazione. Nell’esempio visto, per esempio, 2 cfr. p. 17.
1.2 Basi di dati e DBMS
- L'utente A è autorizzato a leggere tutti i dati e a modificare quelli sul ricevimento;
- L'utente B è autorizzato a leggere l'orario di ricevimento e a modificare l'orario di lezione.
1.2.7.2 Affidabilità
Una base di dati è affidabile se è resistente a malfunzionamenti hardware e software. La tecnica fondamentale è la gestione delle transazioni.
1.2.7.3 Efficienza
- Si cerca di usare al meglio le risorse di spazio di memoria e di tempo;
- I DBMS, con tante funzioni, rischiano l'inefficienza e per questo ci sono grandi investimenti e competizione;
- L'efficienza è anche il risultato della qualità delle applicazioni.
1.2.7.4 Efficacia
- Si cerca di rendere produttive le attività dei loro utilizzatori, offrendo funzionalità articolate, potenti e flessibili;
- Questo corso è in buona parte dedicato a illustrare come i DBMS perseguono l'efficacia.
Linguaggi per basi di dati
Un altro contributo all'efficacia è dato dalla disponibilità di vari linguaggi e interfacce:
- Linguaggi testuali descrittivi (SQL);
- Comandi (SQL) immersi in un linguaggio ospite (Pascal, Java, C etc.);
-
Appunti Basi di dati e sistemi informativi
-
Appunti di Sistemi informativi
-
Appunti Basi di dati e sistemi informativi
-
Appunti Basi di dati e sistemi informativi