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

77
1 Introduzione ai Database e a Microsoft Access Introduzione ai Database e a Microsoft Access

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

Page 1: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

1

Introduzione ai Database

e aMicrosoft Access

Introduzione ai Database

e aMicrosoft Access

Page 2: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 3: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 4: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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).

Page 5: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 6: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 7: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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);

Page 8: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

8

Prima dell’arrivo dei DBMS

� Venivano utilizzate Applicazioni diverse

per gestire i vari File System.

Page 9: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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:

Page 10: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 11: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

11

Con l’arrivo dei DBMS

� Abbiamo diverse applicazioni cheattraverso il DBMS agiscono sullo stessoDatabase.

Page 12: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 13: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 14: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 15: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 16: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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)

Page 17: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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à

Page 18: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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)

Page 19: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 20: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 21: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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)

Page 22: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 23: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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 ?

Page 24: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 25: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 26: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

26

Esempio: Il database Scuola (2)

� Dall’analisi rileviamo le seguenti entità:

� Alunno

� Docente

� Classe

� Materia

� Assenza

Page 27: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 28: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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”.

Page 29: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 30: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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;

Page 31: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 32: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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;

Page 33: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 34: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

34

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

tra Tabelle.

Page 35: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 36: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 37: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

37

Esempio: Il database Clinica

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

� Paziente

� Esame

� Reparto

� Dirigente

� Medico

Page 38: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 39: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 40: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

40

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

rappresentazione grafica chiamata Modello Entità-Relazione.

Page 41: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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;

Page 42: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 43: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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;

Page 44: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 45: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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à

Page 46: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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;

Page 47: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 48: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 49: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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;

Page 50: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 51: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 52: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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;

Page 53: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 54: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 55: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 56: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 57: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 58: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

58

Le Tabelle in Access

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

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

Page 59: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 60: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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:

Page 61: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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;

Page 62: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

62

Le Query in Access

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

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

Page 63: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 64: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 65: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 66: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 67: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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

Page 68: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 69: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 70: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 71: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 72: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 73: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 74: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 75: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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.

Page 76: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

76

Conclusioni

� In conclusione possiamo dire che è possibile

approfondire i contenuti esposti nella

seguente unità didattica consultando i testi

riportati nella bibliografia.

Page 77: Introduzione ai Database e a Microsoft Access ai Database e Access.pdf · 4 La progettazione del Database La progettazione del database aziendale (database design ) è il processo

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