In questa guida introduttiva ai
database vedremo un pochino della teoria che è alla base dei
database, ed in particolare ci occuperemo dei database
relazionali.
Introduzione Vediamo innanzitutto le definizioni dei due concetti
fondamentali, cioè database e DBMS.
Una base di dati (database o DB) è una collezione organizzata
di dati utilizzati per rappresentare le informazioni di
interesse ed è gestita da un DBMS.
Un DBMS (DataBase Management System) è un sistema in
grado di gestire collezioni di dati che siano grandi,
condivise e persistenti, assicurando la loro affidabilità e
privatezza.
Andiamo ad esaminare il significato dei vari termini.
Grandi vuol dire di dimensioni (molto) maggiori della memoria
centrale dei sistemi di calcolo utilizzati.
Persistenti significa con un periodo di vita indipendente
dalle singole esecuzioni dei programmi che le utilizzano.
Condivise, nel senso che vengono utilizzate da applicazioni
diverse.
Le caratteristiche di affidabilità e privatezza si definiscono
invece come:
Affidabilità - resistenza a malfunzionamenti HW o SW
Privatezza - con una disciplina di controllo degli accessi
Un DBMS è un insieme di programmi che permettono di sfruttare
le capacità di un calcolatore di memorizzare ed organizzare
dati.
In particolare è un sistema di "facilities" che consentono di
effettuare tre operazioni fondamentali sui dati, cioè:
la ricerca
l'aggiornamento
la cancellazione
Perché conviene usare un DBMS?
controllare in modo centralizzato i dati
ridurre la ridondanza dei dati
evitare che siano presenti dati inconsistenti
permettere la condivisione dei dati tra gli utenti
consentire la definizione di standard per la
rappresentazione dei dati e per le modalità di accesso ai
dati
definire delle restrizioni sull'accesso ai dati per
garantirne la sicurezza
mantenere l'integrità dei dati per mezzo di procedure di
validazione
Alcuni DBMS in commercio sono: MS Access,
MS SQL Server, Oracle, DB2, Informix, Sybase, Ingres.
Database ne esitono di diversi tipi, ma attualmente sono quasi
tutti di tipo relazionale, basati cioè sul modello relazionale
proposto da E. F. Codd nel 1970 per favorire l’indipendenza
dei dati. Database commerciali basati su questo modello sono
incominciati a comparire all'inizio degli anni 80.
I database relazionali sono basati sul concetto di relazione.
Una relazione è sostanzialmente un insieme di record omogenei,
cioè definiti sugli stessi campi.
Ad ogni dominio all’interno della relazione viene associato un
nome, chiamato attributo, che ne descrive il ruolo (nelle
tabelle diventerà poi il nome della colonna).
Una tabella rappresenta una relazione se: i valori di ogni
colonna sono fra loro omogenei, le righe sono diverse fra loro
e le intestazioni delle colonne sono diverse tra loro. Ogni
riga di una tabella viene chiamata record.
Una chiave è un attributo (o un insieme di attributi) che
identificano le righe di una relazione.
Progettazione
La progettazione di un database è generalmente articolata in
tre fasi:
progettazione concettuale (traduce la realtà in esame in
uno schema facile da capire concettualmente, senza occuparsi
di come sarà costruito il DB)
progettazione logica (traduce lo schema concettuale in
termini delle strutture di rappresentazione del sistema di
gestione delle basi di dati)
progettazione fisica (traduce lo schema logico in
termini delle tabelle e relazioni che andranno a costituire
la struttura fisica vera e propria del database)
Uno dei modelli più utilizzati in
progettazione concettuale è quello E-R (Entity - Relationship,
Entità - Relazioni).
La progettazione non viene qui trattata oltre, in quanto si
trova già molto, anche su internet (ad es.
qui).
Nella prossime guida ci occuperemo del linguaggio SQL e di
come utilizzare alcuni DBMS, come Access SQL Server o MySQL
con le pagine ASP.