Introduzione ai Database e Sistemi di Gestione DBMS
Classificato in Informatica
Scritto il in
italiano con una dimensione di 6,97 KB
Obiettivi e Definizione del Database (BD)
Lo scopo del BD (Database) è risolvere i problemi di archiviazione e di gestione dei dati che presentano i sistemi di gestione dei file (File Management Systems). Un sistema di gestione dei file presenta diversi problemi di gestione e archiviazione delle informazioni, tra cui:
- Ridondanza e inconsistenza dei dati.
- Rigidità nella ricerca dei dati.
- Dipendenza dei dati dai programmi.
- Problemi di sicurezza.
Un BD è costituito da un insieme di file che controlla la memorizzazione dei dati riducendo la ridondanza; i dati sono indipendenti dai programmi e possono essere visualizzati in modi diversi.
Un DBMS (Database Management System) deve soddisfare i seguenti requisiti:
- Consentire l'accesso simultaneo a più utenti.
- Garantire il controllo degli accessi (definire a quali dati ogni utente può accedere).
- Evitare l'archiviazione ridondante dei dati.
- Supportare differenti metodi di accesso.
- Fornire meccanismi di recupero dei dati.
Concetti Fondamentali
- Entità: è un oggetto reale o astratto che possiede un insieme di caratteristiche che lo distinguono da altri oggetti e le cui informazioni sono memorizzate nel BD.
- Attributi: caratteristiche comuni che descrivono un'entità.
- Registrazione (Record): una struttura del BD utilizzata per memorizzare le informazioni su una specifica istanza.
- Dato/Valore (Match): informazione memorizzata nel database per ciascun attributo di un'entità.
- Superchiave: è l'attributo o l'insieme di attributi che identifica univocamente un'istanza (occorrenza) di un'entità.
- Chiave candidata: una superchiave minimale, ovvero che non contiene alcun sottoinsieme di attributi che sia a sua volta una superchiave.
- Chiave primaria: la chiave candidata selezionata dal progettista del database per identificare univocamente le occorrenze di un'entità.
- Chiave alternativa: le chiavi candidate che non sono state scelte come chiave primaria.
- Chiave esterna (Foreign Key): un attributo che è chiave primaria in un'altra entità, utilizzato per stabilire relazioni.
Relazioni (Ratio)
- Relazione 1:1 (Uno a uno): ogni occorrenza di un'entità corrisponde a non più di un'occorrenza dell'altra.
- Relazione 1:N (Uno a molti): ogni occorrenza della prima entità può corrispondere a più occorrenze della seconda.
- Relazione N:M (Molti a molti): ogni occorrenza della prima entità può corrispondere a più occorrenze della seconda, e viceversa.
Astrazione dei Dati
Per rendere gestibile il sistema, i dati devono essere organizzati in modo efficiente. Questa esigenza ha fatto sì che la progettazione del BD parta dalla costruzione di strutture di dati complesse per la rappresentazione delle informazioni nel database. Poiché molti utenti di questi sistemi non sono esperti di informatica, la complessità di tali strutture viene nascosta attraverso vari livelli di astrazione per semplificare l'uso del sistema:
- Livello Fisico (Physical Layer): è il livello più basso di astrazione, in cui si descrive come i dati sono effettivamente memorizzati.
- Livello Concettuale: un livello di astrazione più elevato, che definisce quali dati sono memorizzati nel BD e le relazioni esistenti tra di essi.
- Livello di Vista (Visione): è il livello più alto di astrazione, che mostra solo una parte dell'intero database a seconda dell'utente.
Tipi di Database (Modello Relazionale)
Esistono diversi tipi di BD. I tre modelli di database più ampiamente accettati sono il modello relazionale, gerarchico e a rete. Il modello relazionale è il più utilizzato, mentre i modelli a rete e gerarchico sono stati i primi a essere impiegati e sono tuttora utilizzati in sistemi legacy (storici).
Nel modello relazionale, i dati e le relazioni sono rappresentati da diverse tabelle. In ogni tabella vengono memorizzate le informazioni relative alle entità del BD, in modo che ogni riga della tabella rappresenti un record (o tupla) e ogni colonna rappresenti un campo (o attributo).
Una tabella deve soddisfare i seguenti requisiti:
- Tutti i record devono essere dello stesso tipo.
- Ogni colonna deve essere identificata da un nome univoco (non possono esserci due colonne con lo stesso nome nella stessa tabella).
- Non possono esserci record duplicati.
- Ogni tabella deve avere una chiave primaria.
Il modello relazionale rimane uno dei più utilizzati nella progettazione e gestione dei database.
Gli Utenti del Database (BD)
A un DBMS accede un gran numero di utenti, ognuno dei quali può avere esigenze diverse o diversi livelli di autorizzazione. Gli utenti del BD si dividono in:
- Amministratore del Database (DBA / BD-Manager): la persona responsabile del controllo centralizzato dei dati e dei programmi che accedono al database. I suoi compiti includono: definire lo schema del DB, definire la struttura di memorizzazione, modificare lo schema, ecc.
- Sviluppatore di Applicazioni (Application Developer): responsabile della scrittura dei programmi applicativi per gli utenti che utilizzano il database. Questi programmi sono progettati per supportare l'utente finale.
- Utente Finale: l'utente che accede al database attraverso un linguaggio di query (DML) o tramite un'applicazione, effettuando richieste che vengono eseguite dal DBMS per suo conto.
Sistemi di Gestione del Database (DBMS)
Un Sistema di Gestione di Database (DBMS) è l'insieme di software destinati alla creazione, gestione, controllo e manipolazione delle informazioni all'interno di un database. Lo scopo principale di un DBMS è semplificare e facilitare l'accesso ai dati, offrendo una visione ad alto livello degli stessi.
Un DBMS deve consentire:
- La definizione dello schema del database.
- L'accesso alle informazioni tramite un linguaggio di manipolazione dei dati (DML). Le istruzioni DML possono essere incluse in programmi scritti in linguaggi di programmazione di alto livello o utilizzate in modo interattivo (conversazionale) per accedere ai dati.
- La gestione dei file fisici.