DATABASE
Cos'è un database?
● Quando si usa?
● Differenze con i fogli elettronici
● Le tabelle: record, campi, tipi di dati
● Chiavi e indici
● Database relazionali (R-DBMS)
● Relazioni uno-a-uno
● Relazioni uno-a-molti
● Relazioni molti-a-molti
● Query e linguaggio SQL
● Esempi di implementazioni:
● MS Access
● MySQL
● Esercizio: progettare un DB relazionale
●
www.andreavai.it
www.andreavai.it
Andrea Vai
DATABASE
Cos'è un database?
●
Insieme di informazioni strutturate,
rappresentate digitalmente su un sistema di
memorizzazione
www.andreavai.it
●
●
I dati sono organizzati in record (righe) e
campi (colonne)
Normalmente, il termine database si
riferisce ai dati. Il software che li gestisce
prende il nome di DBMS (DataBase
Management System)
www.andreavai.it
Andrea Vai
DATABASE
Quando si usa?
●
Sistemi che richiedono la gestione di grosse quantità
di dati (migliaia, milioni di record), per esempio:
- Anagrafi
www.andreavai.it
- Biblioteche
- Clienti, ordini, utenti, ecc…
NB: a differenza di un foglio elettronico (es. Excel), un
DB ottimizza la memorizzazione dei dati in forma
strutturata (non in un'unica tabella), e permette
ricerche più efficienti e veloci, soprattutto con molti
record
www.andreavai.it
Andrea Vai
DATABASE
Le tabelle: record, campi, tipi di dati
●
In un database, i dati sono strutturati in tabelle. In ogni tabella
sono memorizzati i dati che descrivono una certa entità (per
esempio: tabella Libri, tabella Persone, tabella Ordini, ...)
www.andreavai.it
●
●
●
Ciascuno degli oggetti descritto in una tabella viene
rappresentato attraverso un record, cioè una riga della tabella
Ciascuna caratteristica di un oggetto è chiamata campo, ed è
rappresentata una colonna della tabella
Ogni campo è definito attraverso un tipo di dati (e, quasi
sempre, una sua specificazione), che ne descrive la
rappresentazione digitale (es. Testo (di un certo numero di
caratteri), Numerico (intero o decimale), Booleano, ecc...)
www.andreavai.it
Andrea Vai
DATABASE
Chiavi e indici
●
Alcuni campi (di solito, uno per ogni tabella) sono utilizzati
per identificare univocamente ciascun record all'interno di
una tabella, e prendono il nome di campi chiave (spesso,
chiave primaria)
www.andreavai.it
●
●
Quando una tabella è particolarmente complessa, spesso
viene generata (di solito automaticamente) una tabella,
chiamata indice, che contiene solo la chiave primaria e
alcuni altri campi della tabella stessa, ed è quindi più
semplice da gestire
Attraverso le chiavi primarie e gli indici, un DBMS può
effettuare ricerche e ordinamenti sui dati in maniera più
efficiente
www.andreavai.it
Andrea Vai
DATABASE
Database relazionali (R-DBMS)
●
Quando le entità descritte nelle varie
tabelle di un database sono correlate tra
loro, si parla di database relazionali
www.andreavai.it
●
I collegamenti tra le tabelle sono detti
relazioni e possono essere:
–
Relazioni uno-a-uno
–
Relazioni uno-a-molti o molti-a-uno
–
Relazioni molti-a-molti
www.andreavai.it
Andrea Vai
DATABASE
Query e linguaggio SQL
●
Una ricerca effettuata su un database si
dice query
www.andreavai.it
●
●
Le query vengono spesso definite
attraverso il linguaggio SQL (Structured
Query Language)
Esempio di query SQL:
SELECT * FROM Dipendenti WHERE Nome=”Giulio”;
Mostra tutti i record della tabella Dipendenti in cui il contenuto
del campo Nome è “Giulio”
www.andreavai.it
Andrea Vai
DATABASE
Esempi di implementazioni
●
Le implementazioni software più comuni di
DMBS sono relazionali e usano il linguaggio
SQL. In particolare, per esempio:
www.andreavai.it
–
Microsoft Access: è semplice da usare
(soprattutto per gli inesperti), ma poco flessibile
e scalabile. E' software commerciale a
pagamento, solo per Windows;
–
mySQL: è più affidabile, soprattutto su larga
scala; è utilizzabile gratuitamente e
multipiattaforma, ma meno facile da imparare.
www.andreavai.it
Andrea Vai
DATABASE
Esercizio: progettare un DB relazionale
●
Esempio (account utente di un sistema informatico)
www.andreavai.it
www.andreavai.it
Andrea Vai