PRINCIPI DI INFORMATICA
CORSO DI LAUREA IN SCIENZE BIOLOGICHE
Gennaro Cordasco e Rosario De Chiara
{cordasco,dechiara}@dia.unisa.it
Dipartimento di Informatica
ed Applicazioni “R.M. Capocelli”
Laboratorio ISISLab2
OUTLINE DELLA LEZIONE
Riepilogo
Inserimento e recupero dati
Filtri
Query
Report
2
RIEPILOGO
Nella lezione scorsa abbiamo parlato di :
Dato e informazione
DB e DBMS
Progettazione di un DB
Analisi dei requisiti
Progettazione concettuale
Progettazione logica
Schema ER
Progettazione fisica
Analisi dei
requisiti
Progettazione
Progettazione
Progettazione
fisica
logica
concettuale
3
RIEPILOGO:
PROGETTAZIONE CONCETTUALE
Entità
Attributi
Relazioni
Analisi dei
requisiti
Progettazione
Progettazione
Progettazione
fisica
logica
concettuale
Schema
E/R
4
RIEPILOGO:
PROGETTAZIONE CONCETTUALE
Entità
Per individuare le entità bisogna trovare le
componenti omogenee di informazioni all’interno
che intendiamo gestire:
Esempio:
Anagrafica Studenti:
Gli studenti, gli esami sono ottimi candidati ad essere
entità
5
RIEPILOGO:
PROGETTAZIONE CONCETTUALE
Attributi
Gli attributi sono quei pezzi di informazione
che rendono differenti fra loro gli elementi delle
entità
Esempio:
Anagrafica Studenti:
In cosa differiscono i 2 elementi appartenenti all’entità
studenti fra di loro ?
6
RIEPILOGO:
PROGETTAZIONE CONCETTUALE
Relazioni
La realtà che vogliamo rappresentare è
complessa e le entità sono sempre in relazione fra
loro
Esempio:
Anagrafica Studenti:
Gli studenti sono un’entità così pure i corsi: qual è la
relazione fra studenti ed i corsi?
7
RIEPILOGO:
TIPI DI RELAZIONE
Relazioni
Supponiamo due entità A e B in relazione
Relazione Uno a Uno (1 : 1)
1 elemento di A 1 elemento di B
1 elemento di B 1 elemento di A
Relazione Uno a Molti (1 : n)
1 elemento di A più elementi di B
1 elemento di B 1 elemento di A
Relazione Molti a Molti (n : m)
1 elemento di A più elementi di B
1 elemento di B più elementi di A
8
RIEPILOGO:
SCHEMA E/R
Schema
E/R
Entità
Nome dell’entità
Relazione
Nome della relazione
Arco di
relazione
Collega un’entità ad una
relazione
Attributo
Dati interessanti per l’entità,
da includere nel database
9
RIEPILOGO:
SCHEMA E/R
Schema
Entità: ente o avvenimento
E/R
Ha un insieme di attributi
Attributo: proprietà di una entità, che ne descrive
una qualità
Relazione: collegamento tra entità
10
RIEPILOGO:
INTEGRITÀ E CHIAVE PRIMARIE
Schema
Regole di integrità: indicazioni riguardanti
l’obbligo della presenza di elementi in entità
distinte
E/R
Esempio:
Un elemento dell’entità “Prodotti” deve essere sempre in
relazione con un elemento dell’entità “CategorieProdotti”
11
RIEPILOGO:
INTEGRITÀ E CHIAVE PRIMARIE
Schema
Chiave primaria: attributo (o insieme di
attributi) dell’entità che identifica univocamente
un elemento dell’entità stessa
E/R
Esempio:
L’attributo CodiceFiscale dell’entità “Clienti”
L’attributo Matricola dell’entità “Studenti”
12
ESEMPIO:
ANAGRAFICA STUDENTI
Analisi dei
requisiti
Progettazione
Progettazione
Progettazione
fisica
logica
concettuale
Gestione del libretto universitario
Gestire gli studenti
Gestire gli esami con i voti
13
ESEMPIO
Analisi dei
requisiti
Progettazione
Progettazione
Progettazione
fisica
logica
concettuale
Due entità
Quali sono gli attributi ?
Quali sono le chiavi primarie ?
Studenti
Corsi
14
ESEMPIO
Analisi dei
requisiti
Progettazione
Progettazione
Progettazione
fisica
logica
concettuale
Il database di esempio che useremo
ha le seguenti entità dotate di
attributi
Studenti
Nome
Corsi
Corso
Cognome
Matricola
Codice
15
ESEMPIO
Analisi dei
requisiti
Progettazione
Progettazione
Progettazione
fisica
logica
concettuale
Vi è un’unica relazione fra corsi e
studenti
Studenti
n
Nome
Cognome
Ha superato
l’esame relativo
al corso
m
Matricola
Corsi
16
Corso
Codice
ESEMPIO
Analisi dei
requisiti
Progettazione
Progettazione
Progettazione
fisica
logica
concettuale
Le tabelle
17
ESEMPIO
Analisi dei
requisiti
Progettazione
Progettazione
Progettazione
fisica
logica
concettuale
La relazione
La tabella Esami
“implementa” la relazione
molti-a-molti dello schema
E/R
18
INSERIMENTO DATI
Abbiamo descritto le relazioni che forniscono una
visione d'insieme dei dati
La gestione di tutti questi dati richiede strumenti
evoluti che tengano conto della struttura
19
RECUPERO DATI
Il metodo più semplice per ricercare un dato
all’interno di una tabella consiste nell’utilizzare
lo strumento Trova.
Per attivare tale funzione occorre fare un clic Trova.
A questo punto bisogna inserire il nome che si vuole
ricercare
Di seguito, nel campo Cerca in, dal menu a tendina,
bisogna selezionare il campo nel quale vogliamo
venga fatta la ricerca, ad esempio su tutta la tabella.
I dati in un DB hanno struttura
La funzione Trova ignora questa struttura
20
FILTRI
Un filtro è una funzione che provoca la
visualizzazione dei soli record contenenti dati che
rispondono a un certo requisito
Per applicare un filtro a una tabella è necessario
lavorare in visualizzazione foglio dati
21
FILTRI
Esempio:
Visualizzare tutti i record con il cognome Rossi:
Fare clic sul campo Cognome, in corrispondenza del
cognome “Rossi”
22
FILTRI
Esempio:
Selezionare Filtro
Fare clic su Filtro in base a selezione
Il foglio mostrerà tutte e solo le righe del campo
Cognome che contengono “Rossi”
23
QUERY
Un DB è molto di più di una semplice tabella
L’informazione è strutturata
Esistono relazioni fra tabelle
Quanti tipi diversi e quali sono ?
Per estrarre informazioni da un database si
utilizzano delle query
Una query è una procedura di interrogazione
Si possono creare più query per ogni tabella ed
interrogare più tabelle in una query
24
QUERY
Per creare una query velocemente si può usare la
creazione guidata:
25
QUERY
Occorre avere chiaro:
Qual è l’obiettivo per il quale creare la query
Da quale tabella si desiderano le informazioni
Quali campi del record è utile visualizzare
Se ci sono tabelle, correlate a quella principale, da cui
leggere dati
In quale ordine devono essere poste le informazioni
Quali sono i criteri di selezione da applicare
26
QUERY
Il risultato di una query viene chiamato
RecordSet
Un RecordSet non è una tabella, ma una particolare
vista di una porzione dei dati in essa contenuti
Una query può offrire risultati desunti da più
tabelle in relazione tra loro
27
QUERY
I RecordSet delle query create precedentemente
possono essere usati in una nuova query
I RecordSet sono trattati alla stregua di tabelle i
cui valori vengono assemblati dinamicamente
28
QUERY
Esistono differenti tipi di query:
Query di selezione
Query di eliminazione
Query di creazione tabella
Query di aggiornamento
29
QUERY
Query di selezione
Sono interrogazioni su una o più tabelle
Non modificano i dati
I dati presenti nelle tabelle possono essere manipolati
per calcolare risultati aggregati
Esempio: si possono calcolare medie, valori massimi, totali
etc…
30
QUERY
Esempio: stampare un elenco degli studenti
Le query agiscono su tabelle
(ed altre query). Il primo
passo da fare è scegliere su
quali tabelle/query lavorare
31
QUERY
Esempio: stampare un elenco degli studenti
Qui vengono
mostrate le
tabelle da cui
attingiamo i dati
Tasto di
esecuzione
della query
Qui scegliamo i
campi da
mostrare nel
RecordSet
32
QUERY
Esempio: stampare un elenco degli studenti
Nota bene: è una query non
una tabella
Abbiamo nascosto dei campi.
Ma si può fare molto di più
Tasto per tornare
alla struttura della
query
33
QUERY
Esempio: calcolare la media di tutti gli studenti
Quale tabelle prendiamo ?
34
QUERY
Esempio: calcolare la media di tutti gli studenti
Per calcolare la media useremo i dati provenienti da
due tabelle: studenti ed esami
Come facciamo ?
35
QUERY
Esempio: calcolare la media di tutti gli studenti
Scorriamo la lista degli
studenti e per ogni
studente i.
Scorriamo la lista degli esami e
troviamo gli esami appartenenti
ad i
36
QUERY
Esempio: calcolare la media di tutti gli studenti
Per aggiungere le tabelle facciamo come al solito
37
QUERY
Esempio: calcolare la media di tutti gli studenti
Mettere in relazione i dati delle due tabelle
Trasciniamo il campo
“Matricola” su “Studente”
38
QUERY
Esempio: calcolare la media di tutti gli studenti
Mettere in relazione i dati delle due tabelle
39
QUERY
Esempio: calcolare la media di tutti gli studenti
La relazione che abbiamo creato permette di
selezionare tutti e soli i record delle due tabelle per
cui si ha che “Matricola” = “Studente”
40
QUERY
Cosa è successo ?
Si parte da un prodotto cartesiano fra due
insiemi:
{ a, b, c } × { x, y } = { ax, ay, bx, by, cx, cy }
×
=
41
QUERY
Da questo prodotto cartesiano selezioniamo solo i
record che soddisfano delle condizioni
Questa operazione si chiama join
×
=
42
QUERY
Le operazioni di join sono le fondamenta sulle
quali sono costruite tutte le operazioni che si
possono eseguire sui dati presenti nei DB
In particolare possiamo raggruppare gli elementi
sul valore di un campo
Raggruppare gli elementi permette di calcolare valori
aggregati come media, massimo, minimo etc…
43
QUERY
Esempio: calcolare la media di tutti gli studenti
Questa selezione indica
che vogliamo la media
calcolata sul campo Voto
della tabella Esami
Tasto di
esecuzione
della query
44
QUERY
Esempio: calcolare la media di tutti gli studenti
45
QUERY
Query di creazione tabella
Vengono utilizzate per creare nuove tabelle con le
colonne estratte da tabelle esistenti
Sono utili per creare tabelle temporanee da
utilizzare per qualche scopo specifico
Esempio: una tabella degli studenti più meritevoli
46
QUERY
Esempio: una tabella degli studenti più
meritevoli
Modifichiamo il tipo di query in query di creazione
tabella
47
QUERY
Esempio: una tabella degli studenti più
meritevoli
Modifichiamo la query delle medie aggiungendo un
semplice criterio di selezione
Selezioniamo solo
gli studenti che
hanno media
maggiore di 24
48
QUERY
Esempio: una tabella degli studenti più
meritevoli
49
QUERY
Query di aggiornamento
Sono query che modificano i dati
Sono fondamentali per compiere modifiche su molti
dati che corrispondono a criteri diversi attraverso più
tabelle
50
QUERY
Esempio: abbassare i voti a tutti gli studenti (!)
Indica il tipo
di operazione
da compiere
51
REPORT
I report (rapporti) hanno lo scopo di creare
documenti pronti per la stampa
La sorgente dei dati stampati all’interno di un
report può essere una tabella o una query
Il wizard di creazione report è molto semplice
52
REPORT
Esempio: creare un report della media degli
studenti
53
FINE
Scarica

principi di informatica - Dipartimento di Informatica