Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del...

Post on 24-May-2018

228 views 2 download

Transcript of Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del...

1

Introduzione ai Database

e aMicrosoft Access

Introduzione ai Database

e aMicrosoft Access

2

Il Sistema Informativo aziendale

� Un Sistema Informativo aziendale è

costituito:

� dall'insieme delle informazioni utilizzate,

prodotte e trasformate da un'azienda durante

l'esecuzione dei processi aziendali;

� dalle modalità in cui esse sono gestite e dalle

risorse, sia umane, sia tecnologiche, coinvolte

� Il sistema informativo può sfruttare i

vantaggi offerti dal Sistema Informatico

3

Il Sistema Informatico aziendale

� Il Sistema Informatico aziendale

rappresenta:

� quella porzione del sistema informativo

che fa uso di tecnologie informatiche e

automazione

� considerata la mole di dati aziendali che

bisogna archiviare e gestire, il sistema

informatico utilizza software specifici per la

gestione di Database, cioè DBMS

4

La progettazione del Database

� La progettazione del database aziendale

(database design) è il processo

decisionale su come organizzare i dati in

record e su come ciascun tipo di record si

relaziona con gli altri (informazioni

correlate).

5

Uso di DBMS nel Sistema Informativo

� Il DBMS dovrebbe rispecchiare la struttura dei dati dell'organizzazione e gestire in maniera efficiente le varie transazioni.

� Quando si usa un DBMS i sistemi informativi possono essere adeguati molto facilmente al cambiamento delle richieste informative dell'organizzazione.

� Possono essere aggiunte al database nuove categorie di dati senza dover stravolgere il sistema esistente.

6

Che cos’è un DBMS

� Un DBMS, cioè Data Base Management

System è un programma per la gestione di

Database, quindi:� Database = Insieme dei dati e metadati;

� DBMS = Software per la gestione del Database;

� Il pacchetto software Microsoft Access è un

DBMS, quindi permette di creare e gestire

Database.

7

Esempi di DBMS

� Ecco alcuni esempi di DBMS:

� Access (della Microsoft);

� SQL Server (della Microsoft);

� Oracle (della Oracle Corporation);

� Informix (della IBM);

� Mysql (è un prodotto Open Source);

� DB2 (della IBM);

8

Prima dell’arrivo dei DBMS

� Venivano utilizzate Applicazioni diverse

per gestire i vari File System.

9

Problemi degli archivi separati

1. Inconsistenza e ridondanza dei dati

� Vi possono essere differenze tra i valori relativi ad una stessa entità ma riportati in archivi diversi.

� La duplicazione di dati crea spreco di memoria

2. Riservatezza dei dati

� Non vi è garanzia che ai dati abbiano accesso esclusivamente le persone autorizzate, ciascuno per le proprie competenze. I file sono a disposizione di tutti che possono quindi appropriarsi di informazioni riservate.

La gestione software degli archivi separati porta ad una serie di problemi, quali:

10

Problemi degli archivi separati

3. Integrità dei dati

� L'integrità dei dati viene assicurata dai vincoli di consistenza

� Ad esempio un campo non può assumere valore negativo.

� Con archivi separati, l'integrità dei dati viene affidata a programmi applicativi (soggetti ad errori)

4. Concorrenza

� Gestire gli accessi contemporanei alla stessa informazione.

11

Con l’arrivo dei DBMS

� Abbiamo diverse applicazioni cheattraverso il DBMS agiscono sullo stessoDatabase.

12

Vantaggi dell’utilizzo di un DBMS

1. La duplicazione dei dati è ridotta al minimo indispensabile

2. L'accesso ai dati avviene in base a privilegi fissati dal DBMS (garanzia di sicurezza e riservatezza)

3. I vincoli di consistenza possono essere fissati all'interno del DBMS

4. L'accesso concorrente ai dati è controllato dal DBMS che gestisce la mutua esclusione dei programmi

13

I Modelli logici di Dati

1. Gerarchico� Basato sugli alberi

2. Reticolare� Basato sui grafi

3. Relazionale� Basato sugli insiemi, dati strutturati in tabelle

4. Ad oggetti� Basato sulle proprietà degli oggetti

14

Linguaggi di gestione/manipolazione Dati

� DDL (Data Definition Language)

� Per definire lo schema della base di dati

� Le definizioni dello schema costituiscono il

'Dizionario dei dati'

� DML (Data Manipulation Language)

� Per inserire, cancellare, modificare i dati

� Per effettuare query

15

I Linguaggi per la gestione dei Dati

� SQL (Structured Query Language)� Si pronuncia SEQUEL

� E’ un linguaggio che racchiude sia le funzionalità proprie di un DDL, sia quelle di un DML.

� E’ diventato uno standard tra i linguaggi utilizzati dai DBMS (basati sul modello relazionale) per interagire con i Database.

� Oltre alle funzionalità dei DDL e DML, SQL racchiude anche quelle di Data Control Language (DCL) grazie alle quali è possibile stabilire chi sono gli utenti del Database e quali permessi hanno relativamente alla gestione dei dati.

16

Il Modello Relazionale

� Il modello relazionale fu introdotto da

Codd (1970) e si basa su una semplice

ed uniforme struttura dati chiamata

relazione, ed ha una solida base teorica

� La relazione del modello relazionale NON

è la relazione degli schemi E/R

� Si introduce tale modello in quanto la

maggior parte dei DBMS sono relazionali

(tipo Oracle, Access, MySQL)

17

Il Modello Relazionale

� Una base di dati relazionale è un insieme di

tabelle associate tra loro

� Una relazione è una tabella costituita da:

� un numero fisso di colonne (dette CAMPI)

� un numero variabile di righe (dette RECORD)

� Ciascuna colonna assume valori estratti da uno

stesso dominio (insieme di valori)

� Il numero di colonne di una tabella si chiama

grado, il numero di righe cardinalità

18

Schema di una Tabella

� E' la descrizione della struttura della

Tabella. Consiste del nome della Tabella

e dell’elenco dei campi che la

caratterizzano.

� La forma è la seguente: � Nome tabella (campo1, campo2, ….., campo n)

19

Esempio - La tabella Dipendente

� Esempio:� Dipendente (codice fiscale, cognome, nome, indirizzo,

telefono)

� Esempio

Codice fiscale Cognome Nome Indirizzo Telefono

CFFLAN Cioffi Lamberto Via Veneto 16 0811238904

RSSGDU Rossi Guido Via Marini 74 0812349075

RNZMCI Renzi Michele Via Monza 93 0814342367

DNTFRA Donati Franco Via Bellini 11 0816784563

MNNCRI Manna Ciro Via Verdi 65 0812484657

BNCMRA Bianchi Mario Via Roma 24 0815241688

campi

record

20

Istanza di una Tabella

� Insieme dei record presenti nella tabella

in un certo istante.

� Nella definizione formale del modello

relazionale è richiesto che i record siano

tutti distinti.

� Due record sono distinti, se hanno

almeno un campo con valore differente.

21

Restrizione di un Record

� La restrizione di un Record sui campi A della

tabella R (indicata con t[A]), è data dalla lista dei

valori assunti da t sui campi A

� Esempio

� Considerato il recordt=(BNCMRA, Bianchi, Mario, v. Roma 24, 081/5241688)

� Allora una possibile restrizione è:t[Codice fiscale, Nome]=(BNCMRA, Mario)

22

Chiave di una Tabella

� E’ un sottoinsieme K dei campi del record, che soddisfa le proprietà di:

� Unicità (in qualunque istanza di R, non possono esistere due record distinti la cui restrizione su K sia uguale)

� Minimalità (non è possibile rimuovere un campo da K, senza violare la condizione di unicità)

� In generale una Tabella può avere più di una chiave, in questo caso si parla di chiavi candidate.

23

Chiave di una Tabella

� Esempio

Codice fiscale Cognome Nome Indirizzo Telefono

BNCMRA Bianchi Mario Via Roma 24 081/5241688

� Codice fiscale è una chiave

� Nome non è una chiave

� (Nome, Indirizzo) non è una chiave

� (Codice fiscale, Nome) non è una chiave

� Telefono è una chiave ?

24

Chiave primaria

� Tra le possibili chiavi candidate, quella usata

più frequentemente per accedere ai dati prende

il nome di chiave primaria

� Le restanti chiavi vengono dette secondarie

� In genere si indica sottolineando i campi che la

costituiscono:

� Esempio:� Dipendente (codice fiscale, cognome, nome, indirizzo,

telefono)

Indica il campo o i campi chiave

25

Un esempio di Progettazione:

Il database Scuola

� Prendiamo in esame l’ambiente scolastico.

� L’idea è quella di progettare e realizzare un Database che ci permetta di conservare tutte (o almeno quelle di nostro interesse) le informazioni che riguardano gli aspetti didattici di una scuola.

� Il primo passo da svolgere è quello di analizzare l’ambiente scuola e individuare le entità che vi operano.

26

Esempio: Il database Scuola (2)

� Dall’analisi rileviamo le seguenti entità:

� Alunno

� Docente

� Classe

� Materia

� Assenza

27

Esempio: Il database Scuola (3)� Per ciascuna di esse decidiamo di

memorizzare le seguenti informazioni:

� Alunno� Codice fiscale, Cognome, Nome, Indirizzo, Telefono

� Docente� Codice fiscale, Cognome, Nome, Indirizzo, Telefono

� Classe� Anno, Sezione, Num_alunni

� Materia� Descrizione, Indirizzo

� Assenza� Data

28

Esempio: Il database Scuola (4)� Esaminiamo ora le associazioni che esistono tra le entità

individuate:

� Insegna_materia� E’ l’associazione che lega le entità Docente e Materia con una

cardinalità del tipo “molti-a-molti”, cioè ad un docente corrispondono

più materie insegnate e ad una materia corrispondono più docenti che

la insegnano.

� Insegna_nella_classe� E’ l’associazione che lega le entità Docente e Classe con una

cardinalità del tipo “molti-a-molti”.

� Compie� E’ l’associazione che lega le entità Alunno e Assenza con una

cardinalità del tipo “uno-a-molti”.

� Frequenta� E’ l’associazione che lega le entità Classe e Alunno con una

cardinalità del tipo “uno-a-molti”.

29

Esempio: Il database Scuola (5)� E’ possibile mostrare il risultato della nostra analisi mediante una

rappresentazione grafica chiamata Modello Entità-Associazione

� (in inglese Entity-Relationship ovvero Modello E-R)

ALUNNO ASSENZA

CLASSE MATERIA

Compie

Frequenta

Insegna nella classe

DOCENTE

Insegna materia

1 N

1

N

N

N N

N

30

Esempio: Il database Scuola (6)� Vediamo come si ricava la struttura delle Tabelle dal

modello E-R:

� Prima regola:� Si crea una Tabella per ogni Entità con i campi specifici;

� Seconda regola:� Per le associazioni uno-a-uno si include in una Tabella la

chiave primaria dell’altra o viceversa;

� Terza regola:� Per le associazioni uno-a-molti si include nella Tabella

coinvolta con cardinalità molti la chiave primaria dell’altra;

� Quarta regola:� Per le associazioni molti-a-molti si crea una nuova Tabella

col nome dell’associazione inserendo come campi le chiavi primarie di entrambe le Tabelle coinvolte;

31

Esempio: Il database Scuola (7)� Applicando le 4 regole di derivazione al nostro modello E-R otteniamo le

seguenti Tabelle per il nostro Database:

� Alunno� Codice fiscale, Cognome, Nome, Indirizzo, Telefono, Anno, Sezione

� Docente� Codice fiscale, Cognome, Nome, Indirizzo, Telefono

� Classe� Anno, Sezione, Num_alunni

� Materia� Descrizione, Indirizzo

� Assenza� Data, Cod_fisc_alunno

� Insegna_nella_classe� Cod_fisc_docente, Anno, Sezione

� Insegna_materia� Cod_fisc_docente, Descrizione, Indirizzo

32

Esempio: Il database Scuola (8)

� Avendo ottenuto la struttura definitiva delle tabelle del nostro Database Scuola, possiamo procedere con le seguenti fasi:

1. Creare un nuovo Database di nome Scuola con Access;

2. Creare le nuove Tabelle con le relative strutture del record ottenute dalla fase di progettazione;

3. Creare le relazioni/associazioni tra le tabelle create;

4. Inserire i dati iniziali nel Database Scuola;

5. Creare le maschere per l’inserimento dati nel Database;

6. Creare le query per le interrogazioni/operazioni da svolgere sul Database;

7. Creare i report per l’estrazione dei dati e la visualizzazione su carta;

33

Esempio: Il database Scuola (9)� E’ possibile procedere con la creazione di un Database

Access composto dalle Tabelle appena viste.

� In questo modo abbiamo definito la struttura dei dati.

� Poi bisogna procedere stabilendo le associazioni tra le Tabelle.

Premendo

l’apposito tasto

Relazioni

34

Esempio: Il database Scuola (10)� Dalla scheda Relazioni è possibile stabilire le Associazioni

tra Tabelle.

35

Esempio: Il database Scuola (11)� E’ importante notare che le Tabelle nate dalle associazioni molti-a-

molti, si trovano adesso correlate verso le Tabelle da cui derivano con una associazione del tipo molti-a-uno.

� Esempio:

1 1N N

Tabella nata dalla

associazione molti-a-molti.

36

Un esempio di Progettazione:

Il database Clinica

� Prendiamo in esame l’ambiente costituito da una clinica e dai suoi pazienti.

� L’idea è quella di progettare e realizzare un Database che ci permetta di conservare tutte le informazioni necessarie, che riguardano i soggetti coinvolti nel mondo di una clinica.

� Il primo passo da svolgere è quello di analizzare l’ambiente della clinica al fine di individuare le entitàche vi operano.

37

Esempio: Il database Clinica

� Dall’analisi del mondo reale, rileviamo le seguenti entità:

� Paziente

� Esame

� Reparto

� Dirigente

� Medico

38

Esempio: Il database Clinica� Per ciascuna entità decidiamo di

memorizzare le seguenti informazioni:

� Paziente� Codice fiscale, Cognome, Nome, Indirizzo, Telefono

� Dirigente� Codice fiscale, Cognome, Nome, Indirizzo, Telefono

� Medico� Codice fiscale, Cognome, Nome, Indirizzo, Telefono

� Reparto� Codice reparto, Denominazione, Edificio, Piano

� Esame� Codice esame, Tipo, Nome, Data, Valore

39

Esempio: Il database Clinica� Esaminiamo ora le associazioni che esistono tra le entità

individuate:

� Esegue� E’ l’associazione uno-a-molti che lega le entità Paziente ed Esame,

dato che in pratica ad un paziente corrispondono uno o più esami

svolti dallo stesso.

� Appartiene� E’ l’associazione uno-a-molti che lega le entità Reparto e Paziente,

dato che ad un reparto è assegnato uno o più pazienti.

� Dirige� E’ l’associazione uno-a-uno che lega le entità Dirigente e Reparto,

dato che ciascun reparto ha un solo dirigente e viceversa.

� Lavora� E’ l’associazione molti-a-molti che lega le entità Medico e Reparto,

dato che un medico può lavorare in uno o più reparti ed in un reparto

possono lavorare uno o più medici.

40

Esempio: Il database Clinica� E’ possibile mostrare il risultato della nostra analisi mediante una

rappresentazione grafica chiamata Modello Entità-Relazione.

41

Regole di derivazione� Vediamo le regole da applicare per ottenere la struttura

definitiva delle Tabelle partendo dal modello E-R:

� Prima regola:� Si crea una Tabella per ogni Entità con i campi specifici;

� Seconda regola:� Per le associazioni uno-a-uno si include in una Tabella la chiave

primaria dell’altra o viceversa;

� Terza regola:� Per le associazioni uno-a-molti si include nella Tabella coinvolta

con cardinalità molti la chiave primaria dell’altra;

� Quarta regola:� Per le associazioni molti-a-molti si crea una nuova Tabella col

nome dell’associazione inserendo come campi le chiavi primarie di entrambe le Tabelle coinvolte;

42

Esempio: Il database Clinica� Dall’applicazione delle regole di progettazione otteniamo

le seguenti tabelle per il Database Clinica:

� Paziente� Codice fiscale, Cognome, Nome, Indirizzo, Telefono, Codice reparto

� Dirigente� Codice fiscale, Cognome, Nome, Indirizzo, Telefono, Codice reparto

� Medico� Codice fiscale, Cognome, Nome, Indirizzo, Telefono

� Reparto� Codice reparto, Denominazione, Edificio, Piano

� Esame� Codice esame, Tipo, Nome, Data, Valore, Codice fiscale

� Lavora� Codice fiscale medico, Codice reparto

43

Esempio: Il database Clinica

� Avendo ottenuto la struttura definitiva delle tabelle del nostro Database Clinica, possiamo procedere con le seguenti fasi:

1. Creare un nuovo Database Clinica con Access;

2. Creare le nuove Tabelle con le relative strutture del record ottenute dalla fase di progettazione;

3. Creare le relazioni/associazioni tra le tabelle create;

4. Inserire i dati iniziali nel Database Clinica;

5. Creare le maschere per l’inserimento dati nel Database;

6. Creare le query per le interrogazioni/operazioni da svolgere sul Database;

7. Creare i report per l’estrazione dei dati e la visualizzazione su carta;

44

La Normalizzazione

� La normalizzazione è quel procedimento

volto a minimizzare la ridondanza dei dati e

quindi a prevenire le possibili anomalie legate

alla loro memorizzazione.

� Il processo di normalizzazione si fonda sulla

applicazione delle regole stabilite dalle varie

forme normali.

45

Dipendenza funzionale� Consideriamo il seguente esempio di dipendenza funzionale:

A ���� B

� La scrittura sopra significa che un valore per l’insieme di attributi A determina un singolo valore per l’insieme di attributi B.

� Si dice A determina B o anche che B dipende funzionalmente da A

� Per esempio, possiamo prendere in considerazione la tabella Giacenza:

GIACENZA

Prodotto Magazzino Quantità

T-Shirt Palermo 18

Polo Messina 26

� Nella tabella Giacenza, abbiamo che la chiave, costitutita dall’insieme di attributi { Prodotto, Magazzino }, determina funzionalmente l’attributo Quantità. Per indicare ciò si usa la scrittura:

� { Prodotto, Magazzino } ���� Quantità

46

1NF – Prima forma normale

� Si dice che una Tabella (relazione) è in 1NF (prima

forma normale) se:

� Tutte le righe della tabella contengono lo stesso numero di colonne;

� I campi (attributi) rappresentano informazioni elementari (atomiche);

� I valori che compaiono in una colonna sono dello stesso tipo, cioè appartengono allo stesso dominio;

� Ogni riga è diversa da tutte le altre, cioè non ci possono essere due righe con gli stessi valori nelle colonne;

47

Esempio di violazione della 1NF

� Nell’ esempio seguente, abbiamo la tabella Dipendenteche viola la 1NF, perché pur esistendo una chiave primaria Matricola, l'attributo Familiari_a_carico non è atomico.

DIPENDENTE

Matricola Nome Indirizzo Familiari_a_carico

M001 Mario Via Roma 101 Anna, Lino, Stella

M002 Carlo Via Milano 89 Elena, Franco

M003 Luigi Via Firenze 51 Maria, Roberta

48

Soluzione alla violazione della 1NF

� In questo caso, è necessario ristrutturare la tabella e suddividerla in due tabelle come segue:

DIPENDENTE

Matricola Nome Indirizzo

M001 Mario Via Roma 10

M002 Carlo Via Lazio 89

M003 Luigi Via Fani 51

FAMILIARE

Codice familiare Nome Matricola

F001 Anna M001

F002 Lino M001

F003 Stella M001

F004 Elena M002

F005 Franco M002

F006 Maria M003

F007 Roberta M003

� Si vede chiaramente che tra le due tabelle nate dalla scomposizione, esiste una

associazione uno-a-molti, in quanto per ogni record presente nella tabella Dipendente, vi

sono tanti record nella tabella Familiari per quanti sono i familiari a carico.

� Il campo Matricola della tabella Familiari prende il nome di chiave esterna verso la tabella

Dipendente, in quanto permette di sapere, partendo da un certo familiare, chi sia il

dipendente che lo tiene a carico.

49

2NF – Seconda forma normale

� Si dice che una Tabella (relazione) è in 2NF(seconda forma normale) se:

� E’ in prima forma normale;

� Tutti i suoi attributi non chiave dipendono

dall’intera chiave, cioè non dipendono soltanto

da una parte della chiave;

50

Esempio di violazione della 2NF

� La tabella Inventario definita dallo schema:

� Inventario (Prodotto, Magazzino, Quantità, Indirizzo_magazzino)

� Non è in seconda forma normale perché l’attributo

Indirizzo_magazzino dipende funzionalmente dall’attributo

Magazzino, che risulta essere solo una parte della chiave.

INVENTARIO

Prodotto Magazzino Quantità Indirizzo_magazzino

Pantaloni Palermo 25 Via Roma 36

T-Shirt Trapani 42 Via Napoli 72

Polo Palermo 13 Via Roma 36

Camicie Trapani 30 Via Napoli 72

51

Soluzione alla violazione della 2NF

� Anche in questo caso, è necessario intervenire sulla Tabella suddividendola in due tabelle come segue:

SEDE

Magazzino Indirizzo_magazzino

Palermo Via Roma 36

Trapani Via Napoli 72

INVENTARIO

Prodotto Magazzino Quantità

Pantaloni Palermo 25

T-Shirt Trapani 42

Polo Palermo 13

Camicie Trapani 30

� Si vede chiaramente che tra le due tabelle nate dalla scomposizione, esiste una

associazione uno-a-molti, in quanto per ogni record presente nella tabella Sede, vi sono

tanti record nella tabella Inventario per quanti sono i prodotti presenti in quel magazzino.

� Il campo Magazzino della tabella Inventario rappresenta la chiave esterna verso la tabella

Sede, in quanto permette di sapere, partendo da un certo prodotto, l’indirizzo del magazzino

in cui è depositato.

52

3NF – Terza forma normale

� Si dice che una Tabella (relazione) è in 3NF(terza forma normale) se:� E’ in seconda forma normale;

� Tutti gli attributi non-chiave dipendono direttamente dalla chiave, cioè non vi sono attributi non-chiave che dipendono da altri attributi non-chiave;

53

Esempio di violazione della 3NF

� Consideriamo per esempio, l’anagrafica di una associazione di

studenti appartenenti a diverse scuole.

� La tabella potrebbe essere strutturata nel modo seguente:

� Studenti (Nome, Scuola, Telefono_scuola)

� Non è in terza forma normale, perché c’è un attributo non-chiave

(Telefono_scuola) che dipende da un altro attributo non-chiave

(Scuola).

STUDENTI

Nome Scuola Telefono_scuola

Rossi ITC Levi 0225457842

Bianchi ITIS Barsanti 0612894658

Verdi ITC Levi 0225457842

Lanza ITIS Fermi 01134567890

Giorgi ITIS Barsanti 0612894658

54

Soluzione alla violazione della 3NF

� Ancora una volta, procediamo scomponendo la tabella Studenti in due tabelle come segue:

STUDENTI

Nome Scuola

Rossi ITC Levi

Bianchi ITIS Barsanti

Verdi ITC Levi

Lanza ITIS Fermi

Giorgi ITIS Barsanti

ISTITUTI

Scuola Telefono_scuola

ITC Levi 0225457842

ITIS Barsanti 0612894658

ITIS Fermi 01134567890

� In questo caso tra le tabelle nate dalla scomposizione, esiste una associazione uno-a-molti da Istituti verso Studenti, in quanto per ogni record presente nella tabella Istituti, vi sono

tanti record nella tabella Studenti per quanti sono gli di quella scuola che fanno parte

dell’associazione.

� Il campo Scuola della tabella Studenti rappresenta la chiave esterna verso la tabella

Istituti, in quanto permette di sapere, partendo da un certo studente, il telefono della scuola

cui appartiene.

55

Conseguenze della Normalizzazione

� Attraverso l’applicazione delle regole

corrispondenti alle tre forme normali esaminate,

abbiamo la garanzia di:

1. Evitare problemi di ridondanza e inconsistenza dei

dati

2. Le tabelle generate dalla scomposizione, contengono

le stesse informazioni di partenza e mantengono le

dipendenze tra gli attributi

56

I DataBase in Access

� Un Database in Access risulta composto da ununico file su disco con estensione:� .MDB (Microsoft DataBase per Access 2003)� .ACCDB (Access Database per Access 2007)

� Un Database Access è composto da diversioggetti:� tabelle� query� maschere� report� macro� moduli

� Tanti oggetti messi in relazione tra lorocostituiscono il Database.

57

Le Tabelle in Access

� Una tabella in Access rappresenta una relazionenel modello teorico Relazionale.

� Una tabella è caratterizzata dalla struttura, cioèdal nome è dal tipo dei campi che compongono ilrecord.

� I campi corrispondono agli attributi, mentre irecord alle tuple.

� I nomi attributo e tupla sono utilizzati solo nellateoria dei database relazionali e non nell’utilizzopratico di un DBMS tipo Access.

� Una tabella in Access è un insieme di record.

� Un record è un insieme di campi.

58

Le Tabelle in Access

� Per creare una Tabella in Access è possibile utilizzare diversemodalità.

� Quella più usata è Crea una Tabella in visualizzazionestruttura.

59

Le Tabelle in Access

� Utilizzando questa modalità è possibile specificare il formato del

record.

� Specificare il formato del record significa fissare i nomi dei campi ed

il tipo di dato che possono contenere.

60

Le Tabelle in Access

� Una volta creata la tabella in modalità

visualizzazione struttura, è possibile inserire i dati

al suo interno. Nel caso della tabella prodotti

l’aspetto sarà il seguente:

61

Le Query in Access

� Una query di Access può rappresentare:� un comando (apporta modifiche al Database);

� una vista (non modifica il Database);

� Query che non modificano il Database:� Query di Selezione;

� Query che modificano il Database:� Query di Creazione Tabella;

� Query di Aggiornamento;

� Query di Accodamento;

� Query di Eliminazione;

62

Le Query in Access

� Anche per la creazione di una Query è possibile utilizzarediverse modalità.

� Quella più usata è Crea una Query in visualizzazionestruttura.

63

Le Query di Creazione Tabella

� Le query di creazionetabella consentono dicreare una nuovatabella con i recordestratti da altre tabelle.

� La nuova tabella creatapuò essere aggiunta allostesso oppure ad unaltro Database.

� Per creare una query dicreazione tabellabisogna scegliere taleopzione dal menù Queryquando si è in modalitàCrea Query inVisualizzazioneStruttura.

64

Le Query di Aggiornamento Tabella

� Le query di

aggiornamento

tabella consentono di

effettuare

automaticamente

l’aggiornamento dei

valori di uno o più

campi della tabella.

� Per creare una query di aggiornamento tabella bisogna scegliere taleopzione dal menù Query quando si è in modalità Crea Query inVisualizzazione Struttura, inoltre bisogna specificare nel campo “Aggiorna

a” la variazione da apportare al campo da aggiornare.

Formula di aggiornamento

65

Le Query di Accodamento

� Le query di

accodamento

consentono di

effettuare un

accodamento

automatico dei record

prelevati da un’altra

tabella.

� Per creare una query di accodamento, basta scegliere tale opzione dalmenù Query quando si è in modalità Crea Query in VisualizzazioneStruttura, inoltre bisogna specificare nei campi “Accoda a”, i campi ai quali

devono essere accodati quelli risultanti dal prelievo.

Campo in cui accodare

66

Le Query di Eliminazione

� Le query di eliminazione consentono di rimuovere automaticamente da una tabella tutti i record che rispondono ad un determinato criterio.

� Per creare una query di eliminazione, basta scegliere tale opzione dalmenù Query quando si è in modalità Crea Query in VisualizzazioneStruttura, inoltre bisogna specificare nei campi “Criteri”, i valori che

devono avere i campi dei record da eliminare.

Criterio di selezione

67

Le Query di Selezione

� Le query di selezione, a differenza delle precedenti, non apportano modifiche al database, ma servono solo per effettuare ricerche sui dati sulla base di criteri specificati.

� Per creare una query di eliminazione, basta andare in modalità CreaQuery in Visualizzazione Struttura, dato che per default Access crea querydi selezione. Poi bisogna specificare nei campi “Criteri”, i valori che

devono avere i campi dei record da estrarre e visualizzare.

Criterio di selezione

68

Le Maschere in Access

� Per facilitare il lavoro dell’utente finale nellagestione dei dati di un Database è possibilerealizzare maschere per l’aggiornamento dei dati.

� Le maschere offrono un metodo dirappresentazione che semplifica la leggibilità deidati contenuti nelle tabelle.

� Le maschere servono quindi a creare unainterfaccia amichevole nella gestione dei dati perl’utente del database.

69

Le Maschere in Access

� La modalità più semplice per creare una maschere èattraverso la Creazione guidata.

� In questo modo è possibile attraverso poche domande, crearevelocemente la maschera desiderata.

70

Le Maschere in Access

� Durante la creazione guidata maschere, verrà chiesto qualitabelle e quali campi far visualizzare nella maschera.

� Inoltre è possibile specificare il tipo di layout della maschera,oltre che uno stile di colori e caratteri tra diversi modellipredefiniti.

Esempio di maschera

� E’ importantenotare che oltrea visualizzare icampi, lamascherapermette anchedi modificarli.

71

Le Maschere in Access

� Una volta creata una maschera con la creazione guidata, èpossibile modificarne la struttura.

� Basta cliccare col tasto destro del mouse sul nome dellamaschera e scegliere dal menù l’opzione visualizza struttura.Comparirà una schermata tipo quella in figura, attraverso laquale potrete apportare tutte le modifiche desiderate.

Modifica struttra maschera

� Qui a fianco c’èla casella deglistrumentiutilizzabili percreare ogni tipodi maschera aseconda delleesigenze.

72

I Report in Access

� Molto spesso per presentare i dati su stampa è

opportuno ricorrere all’utilizzo di un Report, in

pratica un tabulato.

� La riproduzione su carta delle tabelle risulta

troppo rigida e scarsamente leggibile all’utente

finale.

� I report risultano più adeguati alla necessità di

presentare, in modo ordinato ed elegante, i dati

estratti dal database sia su schermo che su carta.

73

I Report in Access

� Anche per la creazione dei Report è possibile usufruire dellafunzione “Creazione Guidata Report”, che ci semplificanotevolmente il lavoro.

� Come nel caso delle maschere, anche stavolta basteràrispondere ad alcune domande, per avere subito pronto ilnostro report personalizzato.

74

I Report in Access

� Durante la creazione guidata report, viene chiesto qualitabelle e quali campi far visualizzare nel report.

� E’ possibile inoltre, specificare la struttura del report,l’ordinamento su uno o più campi, lo stile ed altre opzioni.

Esempio di report

� Il report presenta i dati estratti dal Database in un formato chiaro ed elegante.

75

I Report in Access� Una volta creato un report con la creazione guidata, è possibile

modificarne la struttura.

� Basta cliccare col tasto destro del mouse sul nome del report escegliere dal menù l’opzione visualizza struttura, comparirà unaschermata come quella in figura, attraverso la quale possiamoapportare tutte le modifiche desiderate alla struttura del report.

76

Conclusioni

� In conclusione possiamo dire che è possibile

approfondire i contenuti esposti nella

seguente unità didattica consultando i testi

riportati nella bibliografia.

77

Bibliografia

1. “Le Basi di Dati e Il linguaggio SQL”

A. Lorenzi, D. Rossi

Editore Atlas

2. “Database Systems”

Elmasri, Navathe

Editore Addison-Wesley