Sei sulla pagina 1di 22

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA BASI DI DATI Anno Accademico 2005/06

BASI DI DATI

Anno Accademico 2005/06

BASI DI DATI
BASI DI DATI

Parte Prima Un po’ di teoria su “Basi di dati” (o Database)

Parte Seconda Costruiamo un database con Microsoft Access 2003

BASI DI DATI
BASI DI DATI

Parte Prima Un po’ di teoria su “Basi di dati”

IL DATABASE…
IL DATABASE…

Un database è uno strumento di organizzazione e di analisi delle informazioni. Molto probabilmente tutti voi avete utilizzato dei database senza rendervene conto. Un’agenda, una rubrica sono dei database…

IL DATABASE…
IL DATABASE…

Un database non è solo un contenitore di informazioni Esso consente anche di organizzare e analizzare i dati in vari modi.

IL DATABASE…
IL DATABASE…

Un’importante differenza:

Dato = una sequenza di numeri Esempio: 503/…

Informazione = il dato diventa informazione solo se è inserito in un contesto che permette di decodificarlo Esempio: 503/… su un libretto universitario rappresenta la matricola di uno studente.

IL DATABASE…
IL DATABASE…

Access è un RDBMS (RELATIONAL DATABASE MANAGEMENT SYSTEM). Access crea database detti relazionali:

i dati sono archiviati e gestiti in tabelle connesse tra loro da relazioni.

IL DATABASE RELAZIONALE
IL DATABASE RELAZIONALE

Il Database Relazionale è costituito da uno o più tabelle che possono essere collegate tra loro (messe in relazione) per visualizzare tutti i dati che compongono il database.

IL DATABASE RELAZIONALE
IL DATABASE RELAZIONALE

Il primo elemento che troviamo in un Database Relazionale è la tabella.

La tabella è formata da righe (o records) e colonne (o campi).

IL DATABASE – LE TABELLE
IL DATABASE – LE TABELLE

Ciascuna tabella deve contenere informazioni relative ad un solo tipo di oggetto Riga o record = insieme delle informazioni su uno dei suoi elementi (es. cognome, nome, età, sesso e matricola) Campo o colonna = Una particolare informazione (es. il cognome di tutti gli studenti) Evitare ridondanze

IL DATABASE – LE TABELLE
IL DATABASE – LE TABELLE

Campo

IL DATABASE – LE TABELLE Campo   Cognome Nome Età Sesso Matr. Record Caio Mario 28
 

Cognome

Nome

Età

Sesso

Matr.

Record

Record Caio Mario 28 M 503/11

Caio

Mario

28

M

503/11

 

Tizio

Luigi

33

M

503/34

IL DATABASE…
IL DATABASE…

Esempio:

Catalogo libri con i campi Autore, Testo, ecc. Se ci sono più libri scritti dallo stesso autore si devono riportare più volte le stesse informazioni dell'autore. Se invece si creano due tabelle una relativa ai libri e una relativa all'autore questo non succederà.

IL DATABASE…
IL DATABASE…

Altro esempio:

Archivio dati degli studenti:

Nome Cognome Matricola Hobby

Se uno studente possiede più hobby si deve replicare il

valore

duplicazioni. Attenzione bisogna prima creare delle relazioni.

creando due o più tabelle distinte si evitano le

IL DATABASE … RELAZIONI
IL DATABASE … RELAZIONI

Le relazioni permettono di specificare dei campi comuni che sono presenti nelle due tabelle e consentono di unire le informazioni dei record di una tabella con quelle contenute nei record di un'altra tabella.

Il campo comune viene chiamato “Chiave primaria” in una tabella e “Chiave esterna” nell'altra tabella da correlare.

IL DATABASE … RELAZIONI
IL DATABASE … RELAZIONI
IL DATABASE … RELAZIONI
IL DATABASE … RELAZIONI

Uno a Uno Uno a Molti Molti a Uno Molti a Molti

IL DATABASE … RELAZIONI
IL DATABASE … RELAZIONI

Uno a Uno Un record della tabella con chiave primaria corrisponde a un solo record della tabella correlata e viceversa Esempio: un ordine della tabella “Ordini” e una fattura della tabella “Fatture” a un ordine seguirà un’unica fattura ogni fattura è relativa a un solo ordine

fattura della tabella “Fatture” a un ordine seguirà un’unica fattura ogni fattura è relativa a un
fattura della tabella “Fatture” a un ordine seguirà un’unica fattura ogni fattura è relativa a un
fattura della tabella “Fatture” a un ordine seguirà un’unica fattura ogni fattura è relativa a un

Le tabelle in questo caso possono essere riunite in una sola tabella

IL DATABASE … RELAZIONI
IL DATABASE … RELAZIONI

Uno a molti

A ogni record della prima tabella corrispondono uno o

più record della seconda tabella, ma a ciascun record della seconda corrisponde un solo record della prima Primo esempio: tabella “Autori” tabella “Libri” un autore ha scritto più libri

ogni libro è identificato da un autore

Secondo esempio: tabella “Clienti” tabella “Ordini” un cliente può avere effettuato più ordini

a un ordine corrisponde un solo cliente

IL DATABASE … RELAZIONI
IL DATABASE … RELAZIONI

Molti a Uno

A ogni record della seconda tabella corrispondono uno o più

record della prima, ma a ciascun record della prima corrisponde un solo record della seconda. Primo esempio: tabella “Libri” tabella “Autori” più libri scritti da un solo autore

un libro non può essere scritto da più autori

Secondo esempio: tabella “Ordini” tabella “Clienti” più ordini possono essere effettuati da un cliente

un ordine non può appartenere a due clienti contemporaneamente

Basta invertire la corrispondente relazione “Uno a Molti”

IL DATABASE … RELAZIONI
IL DATABASE … RELAZIONI

Molti a molti A ogni record della prima tabella corrispondono uno o più record della seconda tabella e viceversa. Esempio: tabella “Autori” tabella “Libri” un autore ha scritto più libri un libro può essere stato scritto da più autori Questa relazione non può essere rappresentata direttamente ma bisogna creare una terza tabella che faccia da tabella di congiunzione e che contenga due chiavi esterne, una per ogni tabella.

creare una terza tabella che faccia da tabella di congiunzione e che contenga due chiavi esterne,
creare una terza tabella che faccia da tabella di congiunzione e che contenga due chiavi esterne,
creare una terza tabella che faccia da tabella di congiunzione e che contenga due chiavi esterne,
creare una terza tabella che faccia da tabella di congiunzione e che contenga due chiavi esterne,

IL DATABASE … PROGETTAZIONE

IL DATABASE … PROGETTAZIONE Un database si progetta definendo: le tabelle; i campi da immettere nelle

Un database si progetta definendo:

le tabelle; i campi da immettere nelle tabelle; le relazioni tra le tabelle.

IL

DATABASE…

PROGETTAZIONE
PROGETTAZIONE

Tabelle: insiemi di dati; Query: ricerca orientata sui dati; Maschere: interfaccia utile ad inserire e modificare dati; Pagine: maschere per Internet; Report: resoconti stampati sui dati; Macro: insieme di comandi; Moduli: funzioni di programmazione scritte in VBA.