Download Modulo 5

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
INFORMATICA
Corso Base
Modulo G:
I DataBase  Access
Dal file al database
• Alcuni problemi relativi all’uso dei file del tipo
tradizionale sono legati alla rigidità della loro struttura,
definita dal programmatore al momento della creazione.
• Si è pensato di inserire tra il file e l’utente un software
specifico per la gestione degli archivi, di facile uso
anche per gli utenti inesperti, molto dinamico e flessibile.
Questi tipi di programmi forniscono un’interfaccia tra
l’utente finale e la struttura fisica dei file di dati, facendo in
modo che l’utente utilizzi solo i dati necessari senza dover
necessariamente conoscere come essi sono effettivamente
organizzati sui dispositivi di memoria di massa.
Modulo G: I Database
2
DataBase e DBMS
• Si chiama DataBase un insieme di informazioni
(conservate su memoria di massa) correlate tra loro e
alle quali più utenti contemporaneamente possono
accedere, tramite programmi specifici, per compiere
delle operazioni secondo una propria logica di lavoro.
• Definiamo DBMS (Data Base Management System)
l’insieme dei programmi che consentono agli utenti
(anche inesperti) la gestione di archivi, secondo un
preciso linguaggio e modalità di lavoro semplici e
intuitive.
Modulo G: I Database
3
Struttura FISICA e LOGICA
dei dati
Il DBMS realizza una separazione tra la struttura fisica e la
struttura logica dei dati, organizzandoli su tre livelli:
Livello fisico: indica la struttura fisica dei file che
costituiscono gli archivi, così come vengono memorizzati sul
dispositivo di memoria di massa;
Livello concettuale: indica la struttura logica dei dati, cioè
il modo in cui le informazioni contenute negli archivi
vengono aggregate, indipendentemente dagli archivi fisici in
cui esse sono inserite;
Livello logico: indica la porzione dei dati che in un certo
istante è visibile a ogni utente.
Modulo G: I Database
4
Modello di un DataBase
• Il modello di un DataBase è una mappa che riproduce
in modo simbolico una realtà, contiene sia le entità
che costituiscono i dati sia le reciproche relazioni che
consentono di ottenere le informazioni di cui l’utente
ha bisogno.
• A seconda della strategia di progettazione abbiamo:
– MODELLO GERARCHICO
– MODELLO RETICOLARE
– MODELLO RELAZIONALE
– MODELLO AD OGGETTI
Modulo G: I Database
5
Modello Relazionale
• Un DataBase rappresentato mediante un modello
relazionale, viene immaginato dall’utente come un
insieme di tabelle bidimensionali correlate tra loro
mediante dei valori in campi comuni.
• Nelle colonne delle tabelle avremo gli attributi (o campi)
che indicano le caratteristiche del dato.
• Nelle righe avremo, invece, i record (le tuple) dei dati.
Possiamo avere un numero arbitrario (ossia non
predefinito) di tuple all’interno di una tabella.
Modulo G: I Database
6
Modello Relazionale (cont.)
Attributi
Amici
Nome
Gloria
Nicola
Cognome Indirizzo Telefono
Fantini Via Pola 054497**
Rossi Via Roma 054732**
Tuple
Cod-fiscale
fntglr145
rssncl145
Il numero e il nome delle colonne è fisso mentre il numero
(e il contenuto) delle righe può variare in ogni momento
per effetto di inserimenti, modifiche e cancellazioni.
Modulo G: I Database
7
Modello Relazionale (cont.)
• Ogni riga della tabella deve differenziarsi da tutte le
altre per il valore di almeno uno degli attributi.
• Ogni riga della tabella deve essere identificabile
univocamente. Solo così è possibile effettuare
efficacemente operazioni di ricerca e manipolazione
dei dati contenuti nel database.
• CAMPO CHIAVE: è un attributo o una
combinazione di essi che identifica in modo univoco
ogni singola riga della tabella.
Modulo G: I Database
8
Modello Relazionale (cont.)
Amici
Cod-fiscale
fntglr145
rssncl145
Nome
Gloria
Nicola
Cognome Indirizzo Telefono
Fantini Via Pola 054497**
Rossi Via Roma 054732**
Campo chiave: siamo sicuri che è diverso per ogni amico.
Modulo G: I Database
9
Modello Relazionale (cont.)
• Il termine relazione indica il concetto di esistenza
di un legame tra i dati, quindi una tabella
costituisce una relazione in quanto contiene tutti i
record che verificano in certo legame logico.
• Possiamo dire che nel modello relazionale tutte le
relazioni tra i dati vengono espresse mediante
tabelle.
Modulo G: I Database
10
Le operazioni
• Il modello relazionale si basa su 3 operazioni
elementari che hanno come operandi delle relazioni e
restituiscono come risultato delle altre relazioni.
• Le operazioni sono:
–
–
–
Modulo G: I Database
SELEZIONE
PROIEZIONE
JOIN
11
SELEZIONE
• La selezione opera su una sola tabella. L’operando
è una relazione, il risultato mantiene tutti gli
attributi originali, ed è composta dalle sole righe
che
verificano
la
condizione
indicata
dall’istruzione.
Amici
Cod-fiscale
fntglr145
rssncl145
Modulo G: I Database
Nome
Gloria
Nicola
Cognome Indirizzo Telefono
Fantini Via Pola 054497**
Rossi Via Roma 054732**
12
PROIEZIONE
• Opera su una sola tabella. L’operando è una
relazione e il risultato restituisce solo gli attributi
indicati nell’istruzione e un numero di righe < o =
a quello della relazione di partenza.
Amici
Cod-fiscale
fntglr145
rssncl145
Modulo G: I Database
Nome
Gloria
Nicola
Cognome Indirizzo Telefono
Fantini Via Pola 054497**
Rossi Via Roma 054732**
13
JOIN
• Opera su due relazioni aventi un attributo in
comune e produce una sola relazione. Lo scopo di
questa operazione è di combinare le tabelle di
partenza in una nuova che conserva gli attributi di
entrambe e impiega l’attributo comune come
punto di congiunzione.
Modulo G: I Database
14
Vendo
Codice-V
0123
0128
Venditore
Sede
Gloria
Milano1
Nicola Genova1
Città
Milano
Genova
Indirizzo
Sede
Milano1
Genova1
Genova2
Modulo G: I Database
Indirizzo Telefono
Via Pola
8564
Via Sasso
0254
Via Verdi
0254
15
Effettuiamo un’operazione di Join tra le due tabelle VENDO
e INDIRIZZO tramite l’attributo SEDE. Il risultato è una
nuova relazione, che chiamiamo Combina.
Combina
Codice-V
0123
0128
Venditore
Sede
Gloria
Milano1
Nicola Genova1
Modulo G: I Database
Città
Indirizzo Telefono
Milano Via Pola
8564
Genova Via Sasso
0254
16
Relazioni tra TABELLE
• Quando si decide di collegare tra loro due tabelle
bisogna avere ben chiaro che tipo di collegamento
realizzare.
– Esempio: generalmente ogni cliente avrà un solo indirizzo
mentre potrà prenotare presso l’albergo più periodi di
soggiorno.
• La tabella più importante si chiamerà tabella
principale (ossia quella contenente i dati
indispensabili all’elaborazione) e l’altra sarà la
tabella secondaria.
Modulo G: I Database
17
La cardinalità delle relazioni
• 1 a 1
ogni record della prima tabella corrisponde a un
unico record della seconda e viceversa
• 1 a M
ogni record della prima tabella corrisponde a
uno a più record della seconda, ma ogni record di
quest’ultima corrisponde a un unico record della
prima
• M a M
ogni record della prima tabella corrisponde a più
Modulo G: I Database
record della seconda e viceversa.
18
QUERY
• Per individuare
più tabelle si
semplicemente
database per
specifiche.
e prelevare informazioni da una o
utilizzano le QUERY: si tratta
di una richiesta effettuata al
il ritrovamento di informazioni
• Il linguaggio standard utilizzato per fare le
interrogazioni si chiama SQL; in Access è possibile
definire semplici query anche in modo visuale.
Modulo G: I Database
19
Integrità referenziale
• E’ un insieme di regole che controllano le
modalità
di
inserimento,
modifica,
eliminazione dei dati sia dalla tabella
principale sia dalla tabella secondaria per
far si che i dati continuino ad essere
consistenti con lo schema predefinito del
database.
Modulo G: I Database
20