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

  1. Creazione ed eliminazione di file di dati (segnano la vita di un file).
  2. Modifica della progettazione o della struttura del database.
  3. Modifica dei record.
  4. Inserimento e cancellazione di record.
  5. Recupero delle informazioni (query).
  6. 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:
    1. Indipendente dalla struttura fisica.
    2. Descrive entità, attributi, relazioni e restrizioni.
    3. È 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.

Voci correlate: