Fondamenti di Informatica
NOTE
• Per Excel, funzioni e operazioni, leggere il
capitolo 23.
Fondamenti di
Informatica
DBMS – Introduzione ai DBMS
• Sez. 7.5: Introduzione
• Sez. 22.1: I criteri di archiviazione
• Sez. 20.4, 20.5: Come si usano, DB online
• Sez. 18.2, 22.2, 22.3: Query
Prof. De Maio Carmen
[email protected]
Definizione di DB e di DBMS
BASE DI DATI (DB=Database)
•collezione di dati (tipicamente molto corposa)
– memorizzati in un computer
– organizzati in forma strutturata
– condivisi tra più utenti (anche migliaia) e da questi accessibili
contemporaneamente
sui quali è possibile operare efficientemente ricerche e
aggiornamenti
DBMS (Data Base Management System)
•Software che permette di gestire un Database (es.: memorizzare,
cancellare, aggiornare o interrogare i dati)
Fogli elettronici (Excel) e DBMS (Access)
•
•
•
•
•
•
Molti hanno già utilizzato un programma che permette di gestire
dati
… Microsoft Excel …
Adesso impareremo ad utilizzare un suo “fratello”
… Microsoft Access …
Cercheremo, prima di tutto, di individuare quali sono le
applicazioni in cui Excel è utilizzato con profitto …
… e quali sono quelle in cui Excel non è adatto
Fogli elettronici (Excel) e DBMS (Access)
•
I Fogli Elettronici (documenti Excel) sono adatti a
– Trattare piccole quantità di dati
– prevalentemente di tipo numerico
– con elevate dipendenze reciproche
•
•
es: bilancio di un’azienda dove, cambiando il valore in una cella si
modificano a cascata i valori presenti in tante altre celle
Inoltre i fogli elettronici
– hanno notevoli capacità analitiche, grazie alla disponibilità di
funzioni predefinite e alla facilità di costruirne nuove
– permettono di visualizzare i dati attraverso grafici e diagrammi,
aiutando l’analista nella ricerca di trends
Fogli elettronici (Excel) e DBMS (Access)
•
Al contrario, i fogli elettronici sono poco adatti per svolgere
operazioni di
– ricerca di informazioni in archivi
– a cui accedono contemporaneamente anche migliaia di utenti
•
Spesso, infatti, è necessario “trattare”
– grandi quantità di dati
– di tipo molto diversificato (testi,numeri,date,immagini, …)
– correlati, ma poco dipendenti gli uni dagli altri
• es: schedario di una biblioteca, dove l’inserimento o
l’eliminazione di un volume non ha effetti sulle informazioni che
riguardano altri libri
Organizzazione di una Base di Dati
Tutti i dati sono memorizzati in tabelle
•ogni tabella memorizza (in righe e colonne) informazioni su un
insieme di “oggetti” che hanno identica struttura (es. un insieme di
studenti, di libri, di film, di CD, …)
Matricola Cognome Nome Data di Nascita
Tabella con informazioni su una
popolazione di STUDENTI
276545
Rossi
Maria
25/11/1971
485745
Neri
Anna
23/04/1972
200768
Verdi
Fabio
12/02/1972
587614
Rossi
Luca
10/10/1971
937653
Bruni
Mario
01/12/1971
•righe (dette record, ennuple o tuple) ognuna corrispondente a un
singolo dato (1 libro, 1 studente, …)
•colonne (detti campi o attributi), corrispondenti a singole
informazioni relative ai dati (es. matricola, data di nascita, …)
DBMS Relazionali: creazione di un DB
•
Per utilizzare un DBMS bisogna
– costruire le tabelle che lo compongono.
– Stabilire proprietà di validità delle tabelle (chiavi, vincoli di
integrità), per evitare l'inserimento di dati palesemente sbagliati
– Creare gli strumenti di lavoro. Questi sono (al minimo):
• Interrogazioni o Queries
• Maschere
• Report
TABELLE
•
Per utilizzare un DBMS bisogna innanzitutto costruire le tabelle
che lo compongono.
– Per prima cosa bisogna identificare il tipo di informazione (es.
libri) da memorizzare e quali sono le sue proprietà (es. titolo,
autore, pagine, … ) pertinenti per l’applicazione.
– Ad ogni proprietà (colonna o campo) va poi assegnato un nome,
una lunghezza e una categoria di dati
• Un’applicazione semplice può presentare anche una sola tabella, ma
più spesso un DB è composto da più tabelle, collegate tra di loro
tramite valori di campi comuni
TABELLE: Excel vs DB
•
Nei fogli elettronici la posizione della cella è fondamentale:
– A1, B5, etc.
•
La struttura della tabella non è importante nei fogli elettronici:
– Nei DB è fondamentale perché la struttura identifica i vari dati.
•
In un foglio elettronico le singole celle possono ospitare diversi tipi di
dati
– Nei database il formato, il tipo e la lunghezza va dichiarato
all’inizio
Le basi di dati relazionali
Le relazioni tra tabelle
•
Per collegare tra loro le tabelle è necessario un campo CHIAVE che
identifica univocamente ogni record.
–
–
–
–
•
Carta di Identità,
Codice fiscale
Matricolo per lo studente,
Etc..
Il collegamento tra le tabelle è realizzato mediante il meccanismo
della CHIAVE ESTERNA
– I valori della chiave primaria della tabella principale sono
duplicati in un campo della tabella dipendente.
Tipi di Chiave
•
Genericamente una chiave è un insieme di campi che identificano un
record;
•
CHIAVE PRIMARIA:
– È unica;
– Non è nulla
Le relazioni tra tabelle
Tipi di relazioni
•
Relazione uno a uno: a un record della prima tabella corrisponde un
solo record della seconda;
•
Relazione uno a molti: a un record della prima tabella corrispondono
più record della seconda;
•
Relazione molti a molti: a più record della prima tabella
corrispondono più record della seconda;
Maschera Video
•
•
Una Maschera è uno strumento di interazione con le tabelle del DB
e permette di
– visualizzare un record per volta, utilizzando un’interfaccia
grafica “amichevole”
– Aggiornare i dati nelle tabelle
• immettere
• cancellare
• Modificare
– selezionare solo alcuni campi della tabella da visualizzare
– visualizzare dati provenienti da tabelle diverse
Una maschera è collegata direttamente alla tabella.
Maschera Video
Anche i
database hanno
delle funzioni
grafiche e di
formato che
consentono a
questi
programmi di
rendere più
accattivante
l'immissione dati
e la loro
visualizzazione.
Controlli di validità
•
Con un DBMS è possibile effettuare controlli sulla validità dei
dati inseriti.
•
Ad esempio è possibile impedire
– l’inserimento di una data impossibile (es 30-febbraio)
– l’inserimento di un voto di esame errato, come ad esempio -30
– l’inserimento di un anno di nascita errato (es. 20.001)
– L’inserimento di un testo in un campo numerico.
Controlli di validità
Rapporti
Un Report permette di stampare un sottoinsieme dei dati
contenente solo le informazioni che interessano
• Un Report viene generato
automaticamente già in
formato adatto per la stampa
(con intestazioni,
impaginazione corretta,
ecc…)
• Da una stessa Base di Dati è
possibile ricavare diversi
Reports.
DB: Import/Export di dati
•
•
•
Un DBMS presenta una elevata INTEROPERABILITA’
E’ cioè possibile trasportare (far “migrare”) dati memorizzati in una
o piu’ tabelle (anche come risultato di un’interrogazione) verso
formati leggibili da altri programmi e viceversa.
E’ possibile Importare/Esportare dati con
– Excel (che presenta strumenti di analisi dei dati migliori di quelli
di Access)
– Word (ad esempio per creare tabelle da usare nella creazione di
lettere circolari)
DB Multimediali
Anche
programmi
meno
“seriosi” sono
in realtà
applicazioni
che
gestiscono
basi di dati...
Basi di dati online
•
Praticamente ogni sito web che contenga un numero
significativo di dati ha al suo interno una Base di Dati.
•
Spesso i dati sono dinamici, cioè mutano con continuità (i valori
del mercato azionario, ad esempio)
•
Motori di ricerca non sono altro che DBMS interfacciati verso
l’utente tramite un linguaggio di interrogazione (QBE o SQL)
Basi di dati online
Basi di dati online
Query
Una tabella può contenere
– centinaia di campi (colonne) e
– milioni di records (righe)
di tutta questa informazione a noi, generalmente, interessa solo una
piccola parte (es solo i CD di un certo artista)
• Una Query (interrogazione) è una frase scritta in un linguaggio
speciale che permette di estrare dalla tabella principale solo i dati
che interessano
– Una Query crea una tabella più piccola che contiene solo i dati
che interessano
•
Esempio
•
•
Nome del corso e nome del docente di tutti i corsi che si svolgono
nell’aula N3
Tabella input:
Corsi
Corso
Basi di dati
Sistemi
Reti
Controlli
•
Docente Aula
Rossi
DS3
Neri
N3
Bruni
N3
Bruni
G
Risultato:
Corso
Sistemi
Docente
Neri
Reti
Bruni
Linguaggi per esprimere una Query
•
•
Come formulare una Query?
Le principali modalità di interrogazione sono:
– QBE Query by example (interfaccia grafica)
• Modalità semplice e diretta
• Adatta per interrogazioni semplici
• Spesso legata al DBMS
– SQL (pron. Sequel) Structure Query Language (linguaggio)
• Modalità più complessa della precedente
• Valida per tutti i tipi di interrogazione (soprattutto per quelle più
complesse)
• Linguaggio universale, adottato da tutti i DBMS
Esempio: interrogazione in QBE e in SQL
• QBE
• SQL
Le QBE nella pratica
Query di selezione e criteri
•
Perché una query riesca ad estrarre solo i dati che interessano dalla
tabella, occorre specificare delle condizioni di ricerca che sono
soddisfatte dai record che interessano
•
•
Le condizioni possono essere espresse tramite:
operatori relazionali (di confronto)
=, >, <, etc.
•
operatori logici
AND, OR, NOT, etc.
Operatori Relazionali (o di confronto)
Operatori Logici
Query con una sola tabella
•
QUERY: Mostrare l’elenco dei clienti nordamericani dei quali non
è stato inserito il numero telefonico.
Query con una sola tabella
Fondamenti di
Informatica
Lavoriamo con Acces
Prof. De Maio Carmen
[email protected]
Avviare Access
• Metteremo in pratica tecniche comuni a tutte le versioni del
programma anche se, per alcune di esse, i bottoni o parte
dell'interfaccia grafica potrebbero risultare leggermente diversi.
Facciamo partire il programma e
creiamo il nostro primo data base.
Se la maschera iniziale di MS
Access (fig. 5) non appare
automaticamente, possiamo creare il
progetto dal menu file>nuovo e
selezionare database vuoto.
Primi passi Access
• Access mostra una schermata più o meno come questa
A questo punto
possiamo iniziare ad
utilizzare tutte le
caratteristiche di
Access 2010, come
creare tabelle,
queries, report e
funzioni.
Funzionalità più importanti di Access
• Tabelle – costituiscono lo schema con cui sono organizzati i dati
all’interno del db
• Query - elementi importantissimi che ci permettono di effettuare
interrogazioni, anche combinate, di diverse tabelle
• Maschere - permettono di creare interfacce grafiche, per la
manipolazione e la visualizzazione dei dati.
• Report - modelli per la stampa personalizzabili
• Pagine - sono utilizzate per creare finestre grafiche in formato html
Creare delle tabelle in Access
• creiamo la nostra prima tabella: la tabella libri
• Dal menu crea nella finestra principale scegliamo Tabella, Access
creerà in automatico una tabella che metterà in ultima posizione
nell'elenco delle tabelle già presenti.
• Scegliamo la voce Visualizza Struttura dal menù del Foglio Dati.
• Il sistema ci chiederà di dare un nome alla tabella, inseriamo Libri.
• La nuova finestra ci permette, così, di impostare i nomi dei campi e
di sceglierne il tipo.
Creare delle tabelle in Access
• Ogni riga della struttura rappresenta un campo della tabella.
• Nella colonna Nome campo inseriamo il nome del campo e nella
colonna Tipo dati gli assegniamo un tipo tra quelli disponibili.
• L'ultima colonna può servire a descrivere l'utilizzo di un certo
campo il cui nome non risulti abbastanza auto esplicativo.
• Iniziamo inserendo il campo id_libro come identificatore.
• Gli assegniamo il tipo Contatore: questo tipo di dato è perfetto per
le chiavi primarie perché rappresenta un campo numerico che si
incrementa automaticamente.
Creare delle tabelle in Access
• Il campo id_libro non è ancora una chiave primaria, anche se il suo
tipo è contatore. Perché lo diventi clicchiamo col tasto destro del
mouse sul quadratino celeste alla sua sinistra e selezioniamo
"Chiave primaria" nel menù.
• Alle chiavi esterne assegneremo invece il semplice tipo numerico:
– in questo caso non è necessario un contatore, poiché le chiavi
esterne possono ripetersi (ad esempio, un autore scrive più
libri!).
Creare delle tabelle in Access
• La scelta del tipo testo per il campo titolo e del tipo numerico per il
campo anno di pubblicazione non dovrebbero creare
incomprensioni.
• Altri tipi disponibili di nostro interesse sono:
– memo: è un campo testo di dimensioni illimitate, utile per campi
come post dei blog o come i commenti
– data/ora: per memorizzare una data in diversi formati
– valuta: utilizzato per campi numerici espressioni di valori
monetari
Creare delle tabelle in Access
• Non ci resta che chiudere la finestra.
• Nella finestra centrale adesso la tabella libri appare in bella mostra e
possiamo eliminarla, farne una copia o rinominarla semplicemente
cliccandoci su col tasto destro del mouse.
• Selezionando la tabella possiamo ora riaprirla in modalità struttura
per modificare la struttura dei campi della tabella.
• Nello stesso identico modo creiamo la tabella AUTORI .
– Possiamo inserire tutti i campi che vogliamo, ma è fondamentale, ai fini
dell'esempio, inserire almeno i campi id_autore e nome. Una volta creata
aggiungiamo qualche record.
Vincoli sui campi e indici
•
Abbiamo visto che possiamo assegnare ad ogni campo un particolare tipo di dato.
Per ogni tipo, nella "visualizzazione struttura" appaiono una serie di elementi
aggiuntivi, in basso, che servono a specificare altre caratteristiche del campo.
• La dimensione del campo
• il massimo numero
rappresentabile per gli interi
• quante cifre desideriamo dopo la
virgola.
• Per i campi testo, la dimensione
del campo a 30 caratteri.
• Il formato può essere utile nel caso
di un tipo numerico (es. valuta)
• Valido se, indica i valori consentiti
per quel campo.
• Valore predefinito, indica un valore
che Access inserisce quando non
inseriamo.
Operazioni sui dati: ORDINAMENTO
• Possiamo visualizzare i dati in ordine basandoci su un certo campo,
senza modificare il modo in cui i dati sono memorizzati nel file.
– Ad esempio possiamo elencare i libri mettendo i titoli in ordine
alfabetico.
– Nella visualizzazione tabellare, puntiamo il mouse sulla scritta
titolo, clicchiamo col tasto destro del mouse e scegliamo il
pulsante "ordinamento crescente" (o decrescente).
Operazioni sui dati: FILTRI
• Immaginiamo di avere una tabella con numerosissimi record e di
volerne individuare uno in particolare oppure di volerne isolare un
sottoinsieme:
– ad esempio quello dei libri pubblicati tra il 1900 e il 1986.
• utilizziamo un filtro in base a maschera.
Dal menu Home,
andiamo nella
sezione Ordina e
filtra, e dal menu a
tendina Avanzate
scegliamo la voce
Filtro in base a
maschera.
Operazioni sui dati: FILTRI
• Appare una nuova tabella vuota, serve per inserire nei campi delle
chiavi di ricerca.
– Ad esempio, volendo cercare tutti i libri pubblicati nell'anno
1987 basta scrivere 1987 nel campo anno e cliccare sul pulsante
applica filtro.