Fondamenti di Dati e Database: Architettura, Modelli e Gestione
Classificato in Informatica
Scritto il in italiano con una dimensione di 10,42 KB
Concetti Fondamentali di Dati e File
- Dati: Informazioni che un computer memorizza e registra.
- Campo: Un pezzo discreto di informazione all'interno di un record.
- Record: Informazioni relative a un evento, prodotto o persona. Un file è una serie di record.
- File di Dati: Una raccolta di informazioni correlate, memorizzate come un'unica unità.
- Query: La ricerca di un record specifico o una richiesta per selezionare record che soddisfano una serie di criteri. Esistono query di selezione, cancellazione, creazione di tabelle e aggiornamento.
- Report (o Relazione): Una lista selezionata di record e campi presentata in un formato di facile lettura e ordinato.
Concetto di File
Un file è una raccolta strutturata di informazioni, dove ogni voce è trattata come un'unità di archiviazione. Il suo formato e tipo determinano come interpretare le informazioni contenute, essendo esse stesse solo un insieme di 0 e 1. I file di database contengono record con informazioni omogenee per ogni oggetto nel database. Ogni singola informazione all'interno di un record è chiamata campo.
Tipi di File
File di Archivio Permanente
La loro vita è lunga quanto l'applicazione che li utilizza.
- File Master (o Principali): Contengono lo stato corrente dei dati rilevanti per l'applicazione.
- File di Costanti: I loro dati non cambiano, vengono solo interrogati.
- File Storici: Tengono traccia dei valori dei file che ci interessano.
File Temporanei
Creati e cancellati durante l'esecuzione dell'applicazione.
- File Intermedi: I risultati sono utilizzati da un'altra applicazione o processo salvato.
- File di Lavoro (o di Manovra): Dati memorizzati nella memoria principale che non cambiano.
- File di Output: Dati da inviare a una periferica di output.
Operazioni sui File di Dati
- Creazione ed eliminazione di file di dati (segnano la vita di un file).
- Modifica della progettazione o della struttura del database.
- Modifica dei record.
- Inserimento e cancellazione di record.
- Recupero delle informazioni (query).
- Manutenzione:
- Riparazioni (verifica dei record e correzione degli errori, se possibile).
- Compattazione (elimina gli spazi vuoti nei file prodotti dalla cancellazione di record).
Organizzazione dei File di Dati
Organizzazione Sequenziale
I record sono memorizzati in modo contiguo. Si possono aggiungere solo record alla fine. Le query richiedono la lettura sequenziale. Le operazioni di aggiornamento spesso richiedono la riscrittura dell'intero file.
Organizzazione a Catena (Chained)
Ogni record contiene un puntatore al successivo. L'inserimento avviene alla fine. La modifica non riscrive l'intero file, ma la cancellazione lascia spazi vuoti. La consultazione è ancora sequenziale.
Organizzazione Indice
Un file indice viene elaborato sequenzialmente, e ogni voce dell'indice memorizza l'indirizzo dove sono salvate le informazioni del record. La cancellazione è logica (non libera lo spazio occupato dal record).
Organizzazione Diretta o Casuale
Permette di calcolare la posizione di un record nel file in base al suo indirizzo.
- Routing Diretto: Utilizza una formula numerica per calcolare l'indirizzo.
- Indirizzamento Associativo: Memorizza l'indirizzo del record.
- Funzione Hash: L'indirizzo viene calcolato tramite una funzione hash.
Ordinamento e Ricerca
L'ordinamento e la ricerca in un file possono essere gestiti in modo sequenziale.
Algoritmi di Ordinamento
- Scambio diretto
- Fusione
- Quick Sort
Altri Aspetti da Considerare
- Manutenzione: Aggiornamenti, screening, compattazione. Se c'è molta ridondanza, la manutenzione sarà costosa.
- Privacy e Sicurezza: Protezione delle informazioni da accessi non autorizzati e modifiche indesiderate.
Limiti dei Sistemi di File Tradizionali
- a. Ridondanza dei dati.
- b. Scarso controllo.
- c. Scarsa capacità di gestione dei dati.
- d. Eccessivo sforzo di programmazione.
Caratteristiche dei Dati
- a. Non dovrebbero cambiare nel tempo (non effimeri).
- b. Strutturati, per facilitare l'accesso ai dati necessari.
- c. Operativi e transazionali, utilizzabili dagli operatori per ottenere risultati specifici.
- d. Con un significato specifico (senso semantico).
- e. Completi, ovvero devono esistere nella realtà.
Sistema di Gestione Database (DBMS)
È un insieme coordinato di programmi, linguaggi o procedure che forniscono gli strumenti per descrivere, recuperare e manipolare i dati, mantenendone l'integrità, la riservatezza e la sicurezza.
Struttura del DBMS
Utente <-> Programma Applicativo <-> Gestore del DB <-> Database
Funzioni del DBMS
- Descrizione o Definizione: Specifica la struttura dei dati nel DB e le relazioni tra di essi.
- Manipolazione: Permette di trovare, eliminare o modificare i dati nel database.
- Utilizzo: Fornisce le interfacce necessarie per consentire agli utenti di comunicare con il database.
Caratteristiche di Base di un Database
- Integrità: L'unificazione di diversi file separati in un DB (totalmente o parzialmente) elimina la ridondanza tra di essi.
- Condivisione: I dati di un DB dovrebbero poter essere condivisi tra diversi utenti, mantenendo l'integrità dei dati e rispettando le restrizioni.
- Sicurezza e Riservatezza: Creazione di una gerarchia di accesso per mantenere i dati sicuri, consentendo o vietando agli utenti di eseguire determinate azioni sul database.
- Visualizzazioni Multiple dei Dati: Deve essere possibile recuperare le informazioni desiderate dal database nel formato richiesto (liste, grafici, ecc.).
- Protezione dagli Errori: È necessario controllare l'integrità dei dati in ogni momento e creare copie di backup.
- Interfaccia ad Alto Livello: È necessario poter accedere e modificare i dati tramite linguaggi come SQL.
Vantaggi dei Database
Relativi ai Dati
- Indipendenza dei dati dal trattamento e viceversa.
- Migliore disponibilità dei dati.
- Maggiore efficienza di archiviazione, codifica e inserimento.
Relativi ai Risultati
- Maggiore coerenza.
- Maggiore informatività.
- Miglioramento e standardizzazione della documentazione delle informazioni.
Relativi agli Utenti
- Accesso più veloce e semplice per gli utenti finali.
- Maggiori strutture per la condivisione dei dati tra tutti gli utenti.
- Maggiore flessibilità per soddisfare le richieste mutevoli.
Svantaggi dei Database
Relativi all'Implementazione
- Costosi in termini di software e hardware.
- Assenza di standard (in alcuni casi).
- Implementazione lunga e difficile.
- Redditività a medio termine.
Relativi agli Utenti
- Personale specializzato richiesto.
- Divario tra teoria e pratica.
Architettura dei Database (3 Livelli di Astrazione)
- a. Livello Esterno: Il livello più alto. Contiene schemi esterni che descrivono i set di dati secondo le esigenze dell'utente o del gruppo. Gli stessi dati possono avere visualizzazioni diverse.
- b. Livello Concettuale: Un quadro concettuale che descrive la struttura complessiva del DB con le seguenti caratteristiche:
- Indipendente dalla struttura fisica.
- Descrive entità, attributi, relazioni e restrizioni.
- È definito dal modello di dati logico.
- c. Livello Interno (Fisico): Descrive la struttura di archiviazione fisica del database. Influenza l'efficienza del database.
Modelli di Dati
- a. Modelli Logici Basati su Oggetti: Modelli entità-relazione e object-oriented.
- b. Modelli Logici Basati su Record: I più usati sono il relazionale. Il modello gerarchico e di rete sono in declino. Utilizzati per specificare la struttura logica complessiva del database.
- Modello di Rete: Costituito da collezioni di record correlati con puntatori o archi in grafici senza restrizioni.
- Modello Gerarchico: Simile al modello di rete, ma i record sono organizzati come collezioni ad albero. Non permette relazioni N:M. Un record non può appartenere a due insiemi.
- Modello Relazionale: Le informazioni sono memorizzate in tabelle dove le righe hanno la stessa struttura (campi).
- c. Modelli di Dati Fisici: Basati su vecchi modelli di file. Sono poco utilizzati come modello concettuale del database.
Il Modello Entità-Relazione (ER)
Si basa su una percezione del mondo composta da oggetti, chiamati entità, e dalle relazioni tra di essi. Le entità si distinguono per i loro attributi.
Elementi del Modello ER
- Entità: Un oggetto di cui si desidera memorizzare informazioni nel database e che deve essere caratterizzato.
- Relazione: L'associazione o corrispondenza tra le entità.
- Elementi della Relazione:
- Nome: Identifica la relazione e tramite il quale si fa riferimento.
- Grado: Numero di tipi di entità coinvolte in una relazione.
- Cardinalità Massima/Minima: Definisce il numero di istanze di un'entità che possono essere associate a un'istanza di un'altra entità tramite la relazione.
- Elementi della Relazione: