INTRODUZIONE AI DATA BASE

annuncio pubblicitario
DATABASE: archivio di dati contenente informazioni.
Il programma che gestisce l’archivio andrebbe correttamente definito DBMS (DataBase Management
System) anche se si usa comunemente il termine database sia per l’archivio che per il programma.
Con il termine database si identificano una serie di dati correlati ad un argomento, attraverso i quali poter
reperire in modo rapido ed efficiente una qualsiasi informazione riguardante l’argomento in oggetto.
Esempi molto semplici di database si possono avere facendo riferimento, ad esempio, alle schede personali
degli impiegati di un’azienda le quali conterranno, per ogni impiegato, tutte le informazioni riguardanti la
persona e il suo status di servizio. Oppure, scendendo più nel quotidiano, anche l’archivio delle
videocassette di casa o una rubrica telefonica rappresentano, anche se in forme più semplici, dei database.
Le informazioni che vengono memorizzate in un database prendono il nome di RECORD; ogni record non è
composto però da una singola informazione: la sua struttura è più complessa perché all’interno di un record
sono contenute tutte le informazioni riguardanti il tipo di dato che si è scelto di memorizzare in un database.
Riprendendo l’esempio sulle schede degli impiegati di un’azienda, ogni scheda sarà rappresentata da un
record che conterrà tutte le informazioni di ogni singolo impiegato: cognome, nome, indirizzo, data di nascita,
matricola, anzianità di servizio, etc.
Le singolo componenti del record sono identificate con il nome di CAMPO.
Si può quindi dire che un DATABASE è formato da:
RECORD i quali sono costituiti da CAMPI
La figura seguente mostra un esempio di come potrebbe essere visualizzato un database: le colonne della
Tabella rappresentano i campi, mentre le righe sono i record.
Questa forma di rappresentazione viene detta a TABELLA (o TABELLARE).
COGNOME
Rossi
Bianchi
Verdi
NOME
Emilio
Giulio
Antonio
MATRICOLA
523-45-234
523-58-674
524-44-197
…….
…….
…….
…….
Oltre che memorizzare delle informazioni, un database è anche in grado di memorizzare le eventuali
relazioni che possono esistere tra i dati. Molto spesso infatti un database non è formato da una sola serie di
informazioni, anzi è probabile che il complesso informativo che viene gestito sia composto da diversi tipi di
informazione collegati tra loro.
Esempio: pensiamo ad un’azienda che ha bisogno di rifornirsi di materiali di vario genere per il proprio
lavoro. Potrebbe essere predisposto un elenco dei vari materiali necessari, all’interno del quale verranno
riportate anche le informazioni relative al fornitore, ad esempio Nome e Telefono.
E’ facile immaginare che se più prodotti vengono reperiti presso lo stesso fornitore, il Nome e Telefono di
quest’ultimo compariranno molte volte con un evidente spreco di spazio…
PRODOTTO
Stampanti
Mobili per ufficio
Modem/Fax
Computer
Serramenti per ufficio
NOME FORNITORE
Rossi Hardware & C.
Relax s.n.c.
Rossi Hardware & C.
Rossi Hardware & C.
Relax s.n.c.
TELEFONO
6734562
763986
6734562
6734562
763986
Per risolvere questo inconveniente, ci viene in aiuto la possibilità che hanno i programmi di gestione dei
database, di organizzare il database su più tabelle mettendole in RELAZIONE (collegamento logico) tra di
loro.
Si potrebbero quindi suddividere le nostre informazioni in due tabelle: la prima riporterebbe i nomi dei
prodotti e un codice che identifica il fornitore (anche se i codici sono ripetuti “sprechiamo” molto meno spazio
di prima), mentre la seconda diventerebbe una sorta di anagrafica dei fornitori (con tutte le informazioni
necessarie per ogni fornitore), ognuna con un proprio codice di identificazione.
In questo modo i dati sui fornitori non sono più ripetuti e se dovesse essere necessario modificare qualche
informazione su un fornitore basterà fare una modifica sola nella tabella dei fornitori e non per tutte le volte in
cui compare la descrizione del fornitore nell’unica tabella originaria.
PRODOTTO
Stampanti
Mobili per ufficio
Modem/Fax
Computer
Serramenti per ufficio
COD. FORNITORE
001
002
COD. FORNITORE
001
002
001
001
002
NOME FORNITORE
Rossi Hardware & C.
Relax s.n.c.
TELEFONO
6734562
763986
Attraverso il COD. FORNITORE si crea quella che viene definita RELAZIONE e il database che permette di
gestire relazioni tra i dati assume il nome di
DATABASE RELAZIONALE.
Il database relazionale fu ideato nel 1969 dal Dr. Edgar F. Codd. Oggi è senza dubbio diventato il modello
più diffuso nella gestione dei database.
Fin dal suo inizio, il Modello Relazionale è stato alla base di prodotti database conosciuti come Relational
DataBase Management System (RDBMS)
Oracle – DBx - Paradox - Access
INTRODUZIONE AL DATA BASE ACCESS
Il data base è un sistema di gestione di dati integrati, ricompilati
e immagazzinati secondo precisi criteri, necessari all’attività che
si deve svolgere. I programmi di gestione di data base
realizzano una serie di operazioni che consentono l’accesso a
dati immagazzinati in un p.c. e che ne permettono altresì una
certa
manipolazione.
Tali
operazioni
consistono
fondamentalmente in: immissione e cancellazione di dati,
modifica di dati già introdotti, ricerca di dati attraverso criteri
definiti dall’utente, ordinamento e classificazione dei dati
singolarmente o secondo vari criteri.
Access è un sistema di gestione di data base.
Definizione di data base: raccolta di dati correlati ad un
particolare argomento.
Un data base può contenere questi tipi di oggetti:
Tabelle: sono le strutture fondamentali in un data base di
Access perché memorizzano i dati che si devono gestire.
All’interno di una tabella i dati sono organizzati in campi
(colonne) e record (righe).
Query: è uno strumento che consente l’interrogazione dei dati
contenuti nelle tabelle. Le query possono consentire di
modificare, eliminare o aggiungere consistenti quantità di dati in
un solo passo.
Maschera: consente di visualizzare e immettere dati secondo
un formato conveniente.
Report: consentono di stampare o visualizzare dati secondo un
formato specifico. Esempi di report includono etichette postali,
elenchi, buste, lettere tipo e fatture.
Macro: è un insieme di istruzioni che rende automatico un
compito che si deve eseguire spesso.
Modulo: come le macro, i moduli consentono di automatizzare
e personalizzare Access. I moduli forniscono un controllo più
preciso sulle azioni da eseguire ma richiedono un’esperienza di
programmazione in Visual Basic.
Gli oggetti che sono illustrati nella figura e che compongono un
data base ci compaiono alla creazione del data base stesso.
COME CREARE UN DATA BASE DI ACCESS
In Access, con il termine data base, si indicano tutti i dati e gli
oggetti utilizzati per la gestione dei dati.
Con Access, tutte le tabelle e gli oggetti (maschere, report,
query, moduli e macro) che costituiscono una singola
applicazione vengono posti in un unico data base. In questo
modo gli oggetti correlati vengono memorizzati nello stesso
data base.
Quindi, la prima operazione da eseguire è la creazione di un
nuovo data base.
Se ci si trova nella finestra di dialogo di avvio di Access:
Selezionare Database vuoto e cliccare su OK
Ci comparirà la finestra di dialogo Salva nuovo database:
a questo punto salvo il data base attribuendogli un nome
adeguato…
Se non mi trovo nella finestra di avvio di Access userò il
menù File/Nuovo database; nella finestra di dialogo che mi
comparirà, scelgo, dalla scheda Generale, Database vuoto
e clicco su OK. Mi comparirà la finestra di dialogo Salva
nuovo database etc. etc.
Per poter gestire i dati con Access bisogna memorizzarli in
tabelle.
Nel foglio Tabelle cliccando su Nuovo ci compariranno le
seguenti opzioni:
Visualizzazione foglio dati: cliccando su OK ci comparirà già
una tabella con i nomi dei campi già assegnati: Campo1,
Campo2, …, CampoN. Cliccando con il dato destro su Campo,
posso rinominare la colonna.
Visualizzazione struttura: attribuisco in base alle mie esigenze
il Nome campo; definisco la Tipologia di dati e posso descrivere
il contenuto dei campi.
Autocomposizione tabella: mi fornisce una serie di database
predefiniti. Io posso decidere quali campi utilizzare fra quelli
proposti per creare la mia nuova tabella.
Importazione tabella: questa funzione la utilizzo quando ho già
un file di dati che possono essere in formato Access, testo,
Excel, DB, etc.
Collegamento tabella: consente l’accesso diretto ai dati di un
altro database computerizzato.
Una volta creata una tabella (che salverò con un nome
appropriato), potrò modificare la sua struttura proprio cliccando
sul tasto Struttura
In molti casi Access può predisporre automaticamente di
database
di
tipo
aziendale
e
scolastico
che
l’Autocomposizione Database è in grado di creare:
≈
≈
≈
≈
≈
≈
≈
≈
≈
≈
≈
≈
≈
≈
≈
≈
≈
≈
≈
≈
≈
≈
Controllo inventario
Donazioni
Gestione contatti
Gestione eventi
Gestione manutenzione
Gestione ordini
Gestione patrimoniale
Inventario
Iscritti
Libro mastro
Ore di lavoro e fatturazione
Pianificazione risorse
Spese
Studenti e lezioni
Allenamenti
Collezione libri
Collezione musicale
Collezione video
Elenco vini
Inventario domestico
Raccolta immagini
Ricette
≈ Rubrica
Attenzione però perché questi data base non sono modificabili
per adattarli meglio alle nostre esigenze.
COME ORDINARE I DATI
Una volta creata una tabella è possibile ordinare i dati in essa
contenuti:
Aprire la tabella
Cliccare sul campo da ordinare (se l’ordinamento viene fatto
su più campi, se adiacenti, cliccare sui campi tenendo
premuto il tasto della maiuscola)
Menù Record/Ordina (oppure cliccare sul pulsante di
Ordinamento crescente o decrescente della barra degli
strumenti)
RICERCA DI SINGOLI RECORD
Per trovare rapidamente un dato specifico:
Aprire la tabella
Se si desidera effettuare ricerche solo in un campo specifico,
cliccare sul campo; altrimenti non selezionare niente
Menù Modifica/Trova (oppure cliccare sul pulsante di
ricerca)
nella casella di testo Trova, immettere il testo da cercare
I FILTRI
Quando in una tabella voglio visualizzare i dati relativi ad un
solo elemento, posso utilizzare il Filtro:
Seleziono nella tabella l’elemento da estrapolare
Clicco su Filtro in base a selezione
ed otterrò la tabella che visualizza solo gli elementi voluti
per rimuovere il filtro e riottenere la tabella generale di
origine cliccare su Rimuovi filtro
LE QUERY
Le query consentono di “interrogare” tabelle, query per estrarre
le informazioni specifiche richieste.
Le query consentono di visualizzare i dati desiderati, nella
sequenza desiderata.
Query di creazione di tabelle: crea una nuova tabella con un
sottoinsieme di record rispetto la principale.
COME CREARE UNA QUERY
Dal foglio delle Query cliccare su Nuovo; comparirà la
seguente cartella
Visualizzazione struttura: crea una nuova query senza usare
un’autocomposizione
Autocomposizione query semplice: crea una query di
selezione sulla base dei campi selezionati relativamente a una
o più tabelle
Autocomposizione query a campi incrociati: crea una query
a campi incrociati (relativamente a una singola tabella o query)
per visualizzare dati in un formato compatto simile ad un foglio
di calcolo
Autocomposizione ricerca duplicati: trova i record duplicati di
una singola tabella o query
Autocomposizione ricerca campi non corrispondenti: trova i
record di una tabella che non hanno record correlati in un’altra
tabella
Quando creiamo una nuova query dobbiamo determinare le
interrogazioni da effettuare:
Una volta definita la tabella e la query da interrogare possiamo
definire per i campi:
l’ordinamento: crescente o decrescente (basta cliccare sulla
cella ed appare un menù a discesa)
la
cella
in
corrispondenza
del
mostra
può
essere
selezionata (con un visto inserito cliccando con il mouse
sulla
); in questo modo i valori del campo corrispondente
saranno visualizzati all’apertura della query
il criterio: posso inserire una espressione
Quando
digita
si
Viene
visualizzato
Reperisce
record dove
i
Marconi
“Marconi”
>Marconi
>”Marconi”
100
>15000
100
>15000
<=30/gen/90
<=#30/01/90#
“New York”
“New York”
between
15/mar/91
and
30/mar/91
Pa?la
between
#15/mar/91#
and
#30/mar/91#
“Pa?la”
via*i
“via*i”
*imo
“*imo”
*on*
“*on*”
*/*/91
“*/*/91”
Is not null
Is Not Null
Germania or
Canada
“Germania” Or
“Canada”
il valore è
Marconi
tutti i nomi che
in
elenco
alfabetico
sono
dopo
Marconi
il valore è 100
il valore è
maggiore
di
15000
la data è il
30/gen/90 o è
antecedente
il valore è
New York
le date vanno
dal 15/mar/91
al 30/mar/91
incluso
Paola, Paula,
etc.
viaggi,
viadotti,viaggi
per tutti, etc.
ventesimo,
trentunesimo,
etc.
condimenti,
confezioni,
etc.
tutte le date
del 1991
tutte le celle
non vuote
tutte le celle in
cui
sono
presenti
le
nazioni
Germania
o
Canada
Una query strutturata in questo modo:
fornirà il tutte le persone che sono nate dopo il 01/01/70 (a
prescindere dal titolo di studio) e che sono laureate (a
prescindere dalla data di nascita).
COME CREARE I REPORT
Per la maggior parte degli utenti, la stampa dei dati memorizzati
in tabelle o delle informazioni ottenute con le query è parte
essenziale dell’uso di un data base.
L’Autocomposizione
report
di
Access
fornisce
strumenti
semplici e potenti per la creazione rapida di report in formati
predefiniti.
Essa è in grado di creare vari tipi di report che visualizzano
campi di una o più tabelle e/o query.
Visualizzazione struttura: crea un nuovo report senza usare
un’autocomposizione
Autocomposizione Report: crea automaticamente un report
sulla base dei campi selezionati
Report standard: a colonne: crea automaticamente un report
a colonne contenente tutti i campi della tabella o query scelta
Report standard: tabellare: crea automaticamente un report in
formato tabella
Autocomposizione Grafico: crea un report con un grafico
Autocomposizione Etichetta: crea un report formattato per la
stampa su etichette postali
Naturalmente, prima di selezionare il report di interesse, devo
Scegliere la tabella o query di origine dei dati dell’oggetto:,
agendo sul menù a discesa
TIPI DI RELAZIONI
Se i record di una tabella possono essere associati con i record di un’altra
tabella, si dice che tra le due tabella c’è una relationship
Il modo in cui la relazione viene stabilita dipende dal tipo.
Ci possono essere tre tipi di relazioni tra una coppia di tabelle:
- Uno a Uno
- Uno a Molti
- Molti a Molti
RELAZIONE UNO A UNO
Una coppia di tabelle intrattengono una relazione Uno a Uno quando un unico record della prima tabella è
legato ad un unico record della seconda tabella e un sono record della seconda tabella è legato ad un solo
record della prima tabella.
In questo tipo di relazione, una tabella viene detta tabella principale mentre l’altra viene detta tabella
secondaria.
La relazione avviene prendendo la Chiave principale della tabella principale ed inserendola nella seconda
tabella dove diviene Foreign Key. Questo è un tipo particolare di relazione perché in molti casi la Foreign
Key agisce come Chiave Principale della tabella secondaria.
Tabella: Agenti
IdAgente
Nome
Cognome
Data di assunzione
Telefono
…..
1001
Stella
Bianchi
1994-07-11
2995764
…..
1002
Stefano
Rossi
1994-05-01
5155762
…..
1003
Raul
Verdi
1994-09-11
9983882
…..
Tabella: Compensi
IdAgente
Compenso orario
Commissione
…..
1001
21,50
4,5%
…..
1002
25,75
3,0%
…..
1003
20,00
4,5%
…..
La figura vista è il tipico esempio di relazione Uno a Uno. La relazione tra le due tabelle è tale che un singolo
record della tabella Agenti può essere legata ad un unico record della tabella Compensi ed un unico record
della tabella Compensi può essere legato ad un unico record della tabella Agenti.
Il campo IdAgente rappresenta la Chiave Primaria in entrambe le tabelle, ma serve anche come Foreign Key
nella seconda tabella.
La scelta della tabella c sui spetterà il ruolo primario in questo tipo di relazione è puramente arbitraria. Le
relazioni Uno a Uno non sono molto comuni e vengono di solito utilizzate nei casi in cui una tabella è stata
divisa in due parti a scopo confidenziale.
RELAZIONE UNO A MOLTI
Quando una coppia di tabelle intrattiene una relazione Uno a Molti, un singolo record della prima tabella può
essere legato a molti record della seconda tabella, ma un singolo record della seconda tabella può essere
legato con un unico record della prima tabella.
Tabella: Artisti
IdArtista
Nome Artista
Cognome Artista
Nome del Gruppo
…..
67001
Mike
Hernandez
The Mike Hernandez Trio
…..
67002
Zachary
Ehrlich
Jazz Times
…..
67003
Gerry
Greer
The Country Squires
…..
Tabella: Ingaggi
IdIngaggio
IdArtista
IdCliente
Data di inizio
Data di fine
…..
1001
67003
701
1998-09-10
1998-09-12
…..
1002
67001
625
1998-09-11
1998-09-12
…..
1003
67001
712
1998-09-15
1998-09-19
…..
La figura vista mostra una tipica relazione Uno a Molti. In questo esempio, un singolo record della tabella
Artisti può essere legato a molti record della tabella Ingaggi, ma un singolo record della tabella Ingaggi può
essere legato ad un unico record della tabella Artisti.
In questo caso IdArtista è chiave primaria nella tabella Artisti e Foreign Key nella tabella Ingaggi.
RELAZIONE MOLTI A MOLTI
Una coppia di tabella intrattiene una relazione Molti a Molti quando un singolo record della prima tabella può
legarsi a molti record della seconda tabella e un singolo record della seconda tabella può legarsi con molti
record della prima tabella.
Per stabilire questo tipo di relazione bisogna creare quella che viene definita una tabella di collegamento.
Questa tabella fornisce un modo semplice di associazione dei record di una tabella con quelli di un’altra e
aiuterà a non avere problemi nell’aggiungere, togliere o modificare i dati correlati.
Una tabella di collegamento viene definita prendendo una copia delle Chiavi Primarie di ciascuna tabella
della relazione ed utilizzandole per formare la struttura della nuova tabella. Questi campi rivestono due ruoli
distinti: insieme formano la Chiave Primaria Composita della tabella di collegamento, mentre separatamente
ognuna serve come Foreign Key.
Tabella: Artisti
IdArtista
Nome Artista
Cognome Artista
Nome del Gruppo
…..
67001
Mike
Hernandez
The Mike Hernandez Trio
…..
67002
Zachary
Ehrlich
Jazz Times
…..
67003
Gerry
Greer
The Country Squires
…..
Tabella: Artisti_Incisioni (tabella di collegamento)
IdArtista
IdIncisione
67001
1102
67001
1105
67002
1102
67002
1106
67003
1104
Tabella: Incisioni
IdIncisioni
Titolo
Anno di incisione
…..
1102
Jazz ‘Round Midnight
1995
…..
1103
Until I return
1998
…..
1104
Love me, don’t leave me
1995
…..
1105
Midnight Breeze
1996
…..
1106
No Puede ver
1994
…..
Nella figura abbiamo creato la tabella di correlazione prendendo IdArtista dalla Tabella Artisti e IdIncisione
dalla tabella Incisioni.
Il vero vantaggio di una tabella di correlazione è che permette l’associazione di un numero qualsiasi di
record di entrambe le tabelle correlate.
Dall’esempio visto possiamo associare facilmente un dato artista con un numero qualsiasi di incisioni o
un’incisione con un numero qualsiasi di artisti.
ESERCIZIO:
Data la seguente tabella contenente le informazioni relative a piloti di una compagnia
aerea e le relative certificazioni per pilotare uno o più tipi di aeroplano; suddividetela in
modo appropriato in modo da definire una relazione Molti a Molti
Tabella: Piloti
IdPilota
NomePilota
CognomePilota
Data di nascita
Certificazioni
25100
John
Leverling
1994-07-11
727,737,757,MD80
25101
David
Callahan
1994-05-01
737,747,757
25102
David
Smith
1994-09-11
757,MD80,DC9
25103
Kathryn
Patterson
1994-07-11
727,737,747,757
25104
Michael
Hernandez
1995-05-01
737,757,DC10
25105
Kendra
Bonnicksen
1994-09-11
757,MD80,DC9
Dove le sigle 727, 737, 747, 757 rappresentano Boeing 727, Boeing 737, Boeing 747, Boeing 757
Scarica