I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati per il supporto allo svolgimento delle attività di un ente (azienda, ufficio, persona)
Obiettivi di un DBMS Integrazione dei dati Aumentare la possibilità di consultare i dati, ridurre ridondanza e inconsistenza Indipendenza dei dati (logica e fisica) Agevolare lo sviluppo di nuove applicazioni, facilitare la manutenzione delle applicazioni Controllo centralizzato sui dati Garantire qualità, privatezza e sicurezza dei dati
Vantaggi rispetto ai file I DBMS estendono le funzionalità dei file system, fornendo più servizi ed in maniera integrata Nei DBMS, c’è maggiore flessibilità: si può accedere contemporaneamente a record diversi di uno stesso file o addirittura allo stesso record (in lettura) I file system prevedono forme di condivisione, permettendo accessi contemporanei in lettura ed esclusivi in scrittura: se è in corso un’operazione di scrittura su un file, altri non possono accedere affatto al file Nei programmi tradizionali che accedono a file, ogni programma contiene una descrizione della struttura del file stesso, con i conseguenti rischi di incoerenza fra le descrizioni (ripetute in ciascun programma) e i file stessi Nei DBMS, esiste una porzione della base di dati (il catalogo o dizionario) che contiene una descrizione centralizzata dei dati, che può essere utilizzata dai vari programmi
Linguaggi offerti da un DBMS Linguaggio DDL – Data Definition Language Per specificare i dati da memorizzare Linguaggio DML – Data Manipulation Language Per: memorizzare nuovi dati, modificare/cancellare dati esistenti Linguaggio QL – Query Language Per accedere ai dati
Progettazione di un DBMS Progettazione concettuale Per rappresentare la realtà dei dati di interesse e la relazione tra essi, attraverso il modello E/R Progettazione logica Per tradurre il modello concettuale nella struttura logica dei dati (tabelle) Progettazione fisica Per accedere ai dati Nello sviluppo della teoria dei database, dal 1960 in poi, sono emersi diversi tipi di modelli logici: tra questi è diventato predominante il modello relazionale.
Progettazione concettuale (modello E/R) Nella costruzione del modello E/R della realtà di interesse vengono individuati gli oggetti che la compongono (le entità), gli attributi che rappresentano le caratteristiche delle entità individuate, e le relazioni, che individuano le correlazioni logiche tra le entità. I diversi valori assunti degli attributi determinano le diverse istanze di un'entità L'insieme dei possibili valori assunti da un attributo si chiama dominio dell'attributo. La chiave primaria è un insieme minimale di attributi che permettono di distinguere tra le istanze di una stessa entità
Tipi di associazione Un'associazione è un legame che stabilisce un'interazione tra le entità. Le associazioni possono avere attributi La partecipazione di un'entità all'associazione può essere obbligatoria, quando il legame tra le entità deve essere sempre presente, facoltativa quando può essere presente. Una relazione può essere di 3 tipi: 1 a 1: quando ogni istanza della prima entità si associa ad una sola istanza della seconda entità e viceversa 1 a N: quando ogni istanza della prima entità si associa a più istanze della seconda entità, mentre ogni istanza della seconda entità si associa ad una sola istanza della prima entità N a N: quando ogni istanza della prima entità si associa a più istanze della seconda entità ed ogni istanza della seconda entità si associa a più istanze della prima entità
Modello logico (relazionale) I dati vengono rappresentati mediante tabelle, formate da record Requisiti fondamentali: Tutti i record della tabella contengono lo stesso numero di colonne, corrispondenti agli attributi Gli attributi rappresentano informazioni elementari (atomiche) I valori assunti da un attributo sono omogenei tra loro (appartengono al dominio) Ogni record è diverso da tutti gli altri. L'attributo/i che identifica univocamente il record è la chiave primaria I record compaiono in ordine casuale La chiave primaria non può assumere valore nullo.
Regole di derivazione Ogni entità diviene una tabella, formata dagli attributi dell'entità L'identificatore univoco dell'entità diventa la chiave primaria della tabella. L'associazione uno ad uno diventa un'unica tabella, che contiene gli attributi della prima e della seconda entità. L'associazione 1:N porta a due tabelle, nella seconda delle quali è aggiunto l'identificatore univoco della prima entità (chiave esterna) L'associazione N:N porta a creare una terza tabella, composta dagli identificatori univoci delle entità, più eventuali attributi della relazione.