Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTR-SI 1
Basi di Dati
INTR-SI 2
Presentazione del corso
Obiettivi
INTR-SI 5
Introduzione
Base di Dati (informalmente): è una collezione organizzata di
dati
Alcuni Tipi di Basi di Dati:
Tradizionali: Basi di dati numerici e testuali
Basi di dati multimediali
Geographic Information Systems (GIS)
Data Warehouse, data lake
Real time (controllo di processi industriali)
NoSQL, ad esempio per applicazioni Big Data (MongoDB, Cassandra,
SAP HANA,…)
INTR-SI 7
Sistema Informativo
Contestualizziamo il concetto di base di dati:
Raccolta, acquisizione
Archiviazione, conservazione
di informazioni
Elaborazione
Distribuzione e scambio
INTR-SI 9
Informazioni gestite da SI
INTR-SI 10
Codifica delle informazioni
INTR-SI 11
Dati e informazioni
INTR-SI 12
Dati e informazioni
Esempio
‘Mario’ ’275’ su un foglio di carta sono due dati.
Se il foglio di carta viene fornito in risposta alla
domanda “A chi mi devo rivolgere per il problema X;
qual è il suo numero di telefono?”, allora i dati
possono essere interpretati ed arricchire la
conoscenza.
INTR-SI 13
Caratteristiche dei Dati
INTR-SI 14
Sistema Informatico
INTR-SI 15
Collocazione dei Sistemi Informativi
Gerarchia di sistemi:
INTR-SI 16
Collocazione dei Sistemi Informativi
INTR-SI 17
Collocazione dei Sistemi Informativi
DBMS
BASE DI DATI
INTR-SI 19
Schema generale dei SI
Processi di elaborazione: automatizzano attività aziendali e
sono costituiti da programmi scritti in opportuni linguaggi di
programmazione
Base di dati
INTR-SI 20
Processi di elaborazione
INTR-SI 21
Base di Dati
(Una definizione più precisa)
Raccolta di dati:
» strutturati e permanenti
» raggruppati in insiemi omogenei in relazione tra loro
(classi)
» organizzati con la minima ridondanza
» per essere usati da applicazioni diverse
» in modo controllato
Utenti:
» finali, eseguono applicazioni predefinite
» casuali, usano linguaggi interattivi
INTR-SI 27
Ruoli
Analista/Progettista
Utente (casuale)
console SQL
applicazione
tool di
DBMS
amministrazione
Amministratore BD
INTR-SI 29
Rappresentazione dei dati nei DBMS
INTR-SI 31
Modello dei dati
ESEMPIO
attributo
entità
associazione
INTR-SI 33
Due tipi (principali) di modelli
Schema logico
BD
(istanza) INTR-SI 35
Architettura ANSI/SPARC: schemi
INTR-SI 36
Architettura ANSI/SPARC:
Indipendenza dei dati
INTR-SI 39
SQL, un linguaggio testuale di
interazione con la base dati
Richiesta (QUERY):
Risultato:
Corso Aula Piano
Reti N3 Terra
Sistemi N3 Terra
INTR-SI 40
Codice SQL “immerso“ in linguaggio general
purpose (es., embedded SQL in Pascal)
write('nome della citta''?'); readln(citta);
EXEC SQL DECLARE P CURSOR FOR
SELECT NOME, REDDITO
FROM PERSONE
WHERE CITTA = :citta ;
EXEC SQL OPEN P ;
EXEC SQL FETCH P INTO :nome, :reddito ;
while SQLCODE = 0 do begin
write('nome della persona:', nome, 'aumento?');
readln(aumento);
EXEC SQL UPDATE PERSONE SET REDDITO = REDDITO +
:aumento
WHERE CURRENT OF P
EXEC SQL FETCH P INTO :nome, :reddito
end;
EXEC SQL CLOSE CURSOR P
INTR-SI 41
SQL immerso in linguaggio ad hoc
(Oracle PL/SQL)
declare Stip number;
begin
select Stipendio into Stip
from Impiegato
where Matricola = '575488'
for update of Stipendio;
if Stip > 30 then
update Impiegato set Stipendio = Stipendio * 1.1 where Matricola = '575488';
else
update Impiegato set Stipendio = Stipendio * 1.15 where Matricola = '575488';
end if;
commit;
exception
when no_data_found then
insert into Errori
values('Non esiste la matricola specificata',sysdate);
end;
INTR-SI 42
Interazione grafica (Microsoft Access)
INTR-SI 43