Capitolo 1: Introduzione. Introduzione2 Base di dati Insieme organizzato di dati utilizzati per il...

80
Capitolo 1: Introduzione

Transcript of Capitolo 1: Introduzione. Introduzione2 Base di dati Insieme organizzato di dati utilizzati per il...

Page 1: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Capitolo 1: Introduzione

Page 2: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 2

Base di dati

Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente, azienda, ufficio, persona)

Es.: elenchi telefonici, elenco degli iscritti a una facoltà universitaria e gli esiti dei loro esami, elenco dei libri di una biblioteca, elenco dei reparti e dei pazienti di una struttura ospedaliera.

Page 3: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,
Page 4: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,
Page 5: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Orario dei treni di una stazione

Soluzioni di viaggio

Stazione di Cambio Scegli Partenza Arrivo Stazione Arrivo

Treni Durata Acquista

1. 11:13 FI .SMN

14:31 VE S.L. BOLOGNA 12:10 03:18

2. 11:25 FI .SMN

14:53 VE S.L. BOLOGNA 12:28 03:28

3. 12:38 FI .SMN

15:27 VE S.L. 02:49

4. 13:25 FI .SMN

16:31 VE S.L. 03:06

5. 14:38 FI .SMN

17:27 VE S.L. 02:49

Page 6: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Campionato di calcio

Partita Risultato Data Ora Stadio

Parma-Empoli - 18-01-03 18:00 Ennio Tardini Reggina-Bologna - 18-01-03 20:30 Oreste Granillo Atalanta-Roma - 19-01-03 15:00 Atleti Azzurri D'I talia Lazio-Udinese - 19-01-03 15:00 Olimpico Milan-Piacenza - 19-01-03 15:00 Giuseppe Meazza Modena-Brescia - 19-01-03 15:00 Alberto Braglia Perugia-Inter - 19-01-03 15:00 Renato Curi Torino-Como - 19-01-03 15:00 Delle Alpi Chievo-J uventus - 19-01-03 20:30 Marc'Antonio Bentegodi

Squadra Punti Giocate V N P GF GS MG MI

Inter 36 16 11 3 2 33 16 +17 +3

Milan 36 16 11 3 2 32 10 +22 +2

Lazio 33 16 9 6 1 31 15 +16 +1

Chievo 32 16 10 2 4 27 13 +14 -3

J uventus 32 16 9 5 2 28 12 +16 -1

Bologna 27 16 7 6 3 19 13 +6 -7

Udinese 26 16 7 5 4 15 14 +1 -10

Parma 23 16 6 5 5 27 19 +8 -12

Roma 23 16 6 5 5 27 23 +4 -12

Empoli 22 16 6 4 6 24 22 +2 -14

Modena 19 16 6 1 9 12 24 -12 -17

Perugia 19 16 5 4 7 18 23 -5 -16

Brescia 17 16 4 5 7 19 26 -7 -19

Piacenza 13 16 3 4 9 13 24 -11 -25

Atalanta 11 16 2 5 9 15 28 -13 -26

Reggina 10 16 2 4 10 13 32 -19 -29

Torino 9 16 2 3 11 9 30 -21 -29

Como 6 16 0 6 10 9 27 -18 -31

Page 7: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 7

Biblioteca

Page 8: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 8

Punti di vista

Metodologico Tecnologico

Page 9: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 9

Che cos'è l'informatica?

• Scienza del trattamento razionale, specialmente per mezzo di macchine automatiche, dell’informazione, considerata come supporto alla conoscenza umana e alla comunicazione (Accademia di Francia)

Page 10: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 10

Sistema azienda

Sistema azienda

Sistema organizzativo

Sistema informativo

Sistema informatico

Page 11: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 11

Sistema informativo

Componente (sottosistema) di una organizzazione che gestisce (acquisisce, elabora, conserva, produce) le informazioni di interesse (cioè utilizzate per il perseguimento degli scopi dell’organizzazione )

Page 12: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 12

ogni organizzazione ha un sistema informativo, eventualmente non esplicitato nella struttura;

quasi sempre, il sistema informativo è di supporto ad altri sottosistemi, e va quindi studiato nel contesto in cui è inserito

il sistema informativo è di solito suddiviso in sottosistemi (in modo gerarchico o decentrato), più o meno fortemente integrati

Page 13: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 13

Sistemi informativi e automazione

Il concetto di “sistema informativo” è indipendente da qualsiasi automatizzazione: esistono organizzazioni la cui ragion d’essere è

la gestione di informazioni (per es. servizi anagrafici e banche) e che operano da secoli.

Page 14: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 14

Sistema Informatico 

Porzione automatizzata del sistema informativo: la parte del sistema informativo che gestisce informazioni con tecnologia informatica

Anche prima di essere automatizzati, molti sistemi informativi si sono evoluti verso una razionalizzazione e standardizzazione delle procedure e dell’organizzazione delle informazioni

Page 15: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 15

Gestione delle informazioni

Raccolta, acquisizione Archiviazione, conservazione Elaborazione, trasformazione,

produzione Distribuzione, comunicazione,

scambio

Page 16: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 16

Gestione delle informazioni

Nelle attività umane, le informazioni vengono gestite (registrate e scambiate) in forme diverse: idee informali linguaggio naturale (scritto o parlato, formale o

colloquiale, in una lingua o in un’altra) disegni, grafici, schemi numeri e codici

e su vari supporti memoria umana, carta, dispositivi elettronici

Page 17: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 17

Gestione delle informazioni

Nelle attività standardizzate dei sistemi informativi complessi, sono state introdotte col tempo forme di organizzazione e codifica delle informazioni

Ad esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e poi  nome e cognome  estremi anagrafici  codice fiscale

Page 18: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 18

Informazioni e dati

Nei sistemi informatici (e non solo), le informazioni vengono rappresentate in modo essenziale, spartano: attraverso i dati

Dal Vocabolario della lingua italiana (1987)informazione: notizia, dato o elemento che consente di avere

conoscenza più o meno esatta di fatti, situazioni, modi di essere.

dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati.

Page 19: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 19

Dati e informazioni

I dati hanno bisogno di essere interpretati

Esempio

‘Mario’ ’234275’ 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 per fornire informazioni

Page 20: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 20

Perché i dati?

La rappresentazione precisa di forme più ricche di informazione e conoscenza è difficile

I dati costituiscono spesso una risorsa strategica, perché più stabili nel tempo di altre componenti (processi, tecnologie, ruoli umani): ad esempio, i dati delle banche o delle anagrafi

Page 21: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 21

Base di dati

Accezione generica, metodologica: insieme organizzato di dati utilizzati per il supporto allo svolgimento delle attività di un ente (azienda, ufficio, persona)

Accezione specifica,, metodologica e tecnologica:) insieme di dati gestito da un DBMS.

Page 22: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 22

Sistema di gestione di basi di datiDataBase Management System (DBMS)

Sistema che gestisce collezioni di dati: grandi persistenti condivise

garantendo privatezza affidabilità efficienza efficacia

Page 23: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 23

DBMS

Prodotti software (complessi) disponibili sul mercato; esempi: Access DB2 Oracle Informix Sybase SQLServer MySQL

Page 24: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 24

Le basi di dati sono ... grandi

dimensioni (molto) maggiori della memoria centrale (RAM) dei sistemi di calcolo utilizzati (fino a milioni di Gigabyte)

sono memorizzate in memoria secondaria (hard disk)

il limite deve essere solo quello fisico dei dispositivi

Page 25: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 25

Le basi di dati sono ... persistenti

hanno un tempo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano

Page 26: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 26

Le basi di dati sono ... condivise

Ogni organizzazione (specie se grande) è divisa in settori o comunque svolge diverse attività

Ciascun settore/attività ha un (sotto)sistema informativo (non necessariamente disgiunto)

Page 27: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 27

Page 28: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 28

Page 29: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 29

Problemi

Ridondanza: informazioni ripetute

Rischio di incoerenza: le versioni possono non coincidere in seguito ad

aggiornamenti

Page 30: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 30

Archivi e basi di dati

Gestione ricevimento

Archivio 2:ricevimento

Gestione orario lezioni

Archivio 1:orario lezioni

Page 31: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 31

Archivi e basi di dati

Gestione ricevimento

Gestione orario lezioni

Base di dati

Page 32: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 32

Le basi di dati sono condivise

Una base di dati e' una risorsa integrata, condivisa fra applicazioni

conseguenze Attivita' diverse su dati condivisi:

meccanismi di autorizzazione Accessi di più utenti ai dati condivisi:

controllo della concorrenza

Page 33: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 33

I DBMS garantiscono ... privatezza

Si possono definire meccanismi di autorizzazione l'utente A è autorizzato a leggere tutti i dati e a

modificare quelli sul ricevimento l'utente B è autorizzato a leggere i X e a

modificare Y

Page 34: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 34

I DBMS garantiscono... affidabilità

Affidabilità (per le basi di dati): resistenza a malfunzionamenti hardware e

software Una base di dati è una risorsa pregiata e

quindi deve essere conservata a lungo termine

Tecnica fondamentale: gestione delle transazioni

Page 35: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 35

Transazione

Programmi che realizzano attività frequenti e predefinite, con poche eccezioni, previste a priori.

Esempi: versamento presso uno presso sportello bancario emissione di certificato anagrafico dichiarazione presso l’ufficio di stato civile prenotazione aerea

Insieme di operazioni da considerare indivisibile ("atomico"), corretto anche in presenza di concorrenza e con effetti definitivi

Page 36: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 36

Le transazioni sono … atomiche

La sequenza di operazioni sulla base di dati viene eseguita per intero o per niente: trasferimento di fondi da un conto A ad un conto

B: o si fanno il prelevamento da A e il versamento su B o nessuno dei due

Page 37: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 37

Le transazioni sono … concorrenti

L'effetto di transazioni concorrenti deve essere coerente

risultato dell’esecuzione concorrente di più transazioni deve essere lo stesso che le transazioni darebbero se fossero eseguite sequenzialente. se due assegni emessi sullo stesso conto corrente

vengono incassati contemporaneamente si deve evitare di trascurarne uno

Page 38: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 38

I risultati delle transazioni sono permanenti

La conclusione positiva di una transazione corrisponde ad un impegno (in inglese commit) a mantenere traccia del risultato in modo definitivo, anche in presenza di guasti e di esecuzione concorrente

Page 39: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 39

I DBMS debbono essere...efficienti

Cercano di utilizzando al meglio le risorse di spazio di memoria (principale e secondaria) e tempo (di esecuzione e di risposta)

I DBMS, con tante funzioni, rischiano l'inefficienza e per questo ci sono grandi investimenti e competizione

L’efficienza è anche il risultato della qualità delle applicazioni

Page 40: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 40

I DBMS debbono essere...efficaci

Cercano di rendere produttive le attività dei loro utilizzatori, offrendo funzionalità articolate, potenti e flessibili: il corso è in buona parte dedicato ad illustrare

come i DBMS perseguono l'efficacia

Page 41: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 41

DBMS vs file system

La gestione di insiemi di dati grandi e persistenti è possibile anche attraverso sistemi più semplici — gli ordinari file system dei sistemi operativi

I file system prevedono forme rudimentali di condivisione: "tutto o niente"

I DBMS estendono le funzionalità dei file system, fornendo più servizi ed in maniera integrata

Page 42: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 42

Descrizione dei dati nei DBMS

Descrizioni e rappresentazioni dei dati a livelli diversi permettono l’indipendenza dei dati dalla

rappresentazione fisica:

- i programmi fanno riferimento alla struttura a livello più alto,

- le rappresentazioni sottostanti possono essere modificate senza necessità di modifica dei programmi

Page 43: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 43

Modello dei dati

insieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica

componente fondamentale: meccanismi di strutturazione (o costruttori di tipo)

come nei linguaggi di programmazione esistono meccanismi che permettono di definire nuovi tipi, così ogni modello dei dati prevede alcuni costruttori

Il modello relazionale prevede il costruttore relazione, che permette di organizzare i dati come insiemi record omogenei a struttura fissa.

Page 44: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,
Page 45: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 45L'istanza della base di dati

Lo schema della base di datiOrario

Insegnamento Docente Aula Ora

Analisi matem. I Luigi Neri N1 8:00

Basi di dati Piero Rossi N2 9:45

Chimica Nicola Mori N1 9:45

Fisica I Mario Bruni N1 11:45

Fisica II Mario Bruni N3 9:45

Sistemi inform. Piero Rossi N3 8:00

Basi di dati: schema e istanza

Page 46: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 46

Schemi e istanze

In ogni base di dati esistono: lo schema, sostanzialmente invariante nel

tempo, che ne descrive la struttura (aspetto intensionale)nell’esempio, le intestazioni delle tabelle

l’istanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale)nell’esempio, il “corpo” di ciascuna tabella.

Page 47: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 47

Due tipi (principali) di modelli

modelli logici: utilizzati nei DBMS esistenti per l’organizzazione dei dati utilizzati dai programmi indipendenti dalle strutture fisiche

esempi: relazionale, reticolare, gerarchico, a oggetti. modelli concettuali: permettono di rappresentare i dati in modo

indipendente da ogni sistema e da ogni modello logico cercano di descrivere i concetti del mondo reale sono utilizzati nelle fasi preliminari di progettazione di basi di

dati

il più noto è il modello Entity-Relationship

Page 48: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 48

Architettura DBMS Ansi-Sparc

Page 49: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 49

Livelli di astrazione

schema logico:  descrizione dell’intera base di dati nel modello logico adottato dal DBMS (ad esempio, la struttura delle tabelle)

schema fisico:  rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione (es. files)

schema esterno:  descrizione di parte della base di dati in un modello logico (“viste” parziali, derivate, anche ev. in modelli diversi)

Page 50: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Una vista

Corso AulaDocente

RossiBasi di dati DS3

BruniReti N3

NeriSistemi N3

BruniControlli G

Corsi

Nome PianoEdificio

OMIDS1 Terra

PincherleG Primo

OMIN3 Terra

Aule

CorsiSedi Corso Aula

Reti N3

Sistemi N3

Controlli G

PianoEdificio

OMI Terra

Pincherle Primo

OMI Terra

Page 51: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 51

Indipendenza dei dati

conseguenza della articolazione in livelli è la principale proprietà dei DBMS due forme:

indipendenza fisica indipendenza logica

Page 52: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 52

Indipendenza fisica

il livello logico è indipendente da quello fisico una relazione è utilizzata nello stesso modo

qualunque sia la sua realizzazione fisica la realizzazione fisica può cambiare senza che

debbano essere modificati i programmi che utilizzano la base di dati

Page 53: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 53

Indipendenza logica

il livello esterno è indipendente da quello logico

aggiunte o modifiche alle viste non richiedono modifiche al livello logico

modifiche allo schema logico che lascino inalterato lo schema esterno sono trasparenti

Page 54: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 54

Linguaggi per basi di dati

Un altro contributo all’efficacia: disponibilità di vari linguaggi e interfacce diverse che permettono l'accesso ai dati con varie modalità: linguaggi testuali interattivi (SQL) tramite comandi (come quelli del linguaggio interattivo) immersi in

linguaggi di programmazione tradizionale (linguaggio ospite, es. Pascal, C, Cobol, etc.)

tramite comandi (come quelli del linguaggio interattivo) immersi in un linguaggio ad hoc, con anche altre funzionalità (p.es. per grafici o stampe strutturate), anche con l’ausilio di strumenti di sviluppo (p. es. per la gestione di maschere)

con interfacce amichevoli che permettono di realizzare le operazioni sulla base dati senza usare un linguaggio testuale

Page 55: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 55

SQL, un linguaggio interattivo

"Trovare i corsi tenuti in aule a piano terra"

Nome PianoEdificio

OMIDS1 Terra

PincherleG Primo

OMIN3 Terra

Aule

RossiBasi di dati DS3

BruniReti N3

NeriSistemi N3

BruniControlli G

Corsi

AulaDocenteCorso

Page 56: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 56

SQL, un linguaggio interattivo

SELECT Corso, Aula, PianoFROM Aule, CorsiWHERE Nome = AulaAND Piano="Terra"

Corso Aula

Reti N3

Sistemi N3

Piano

Terra

Terra

Page 57: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 57

SQL immerso in linguaggio ad alto livello

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

Page 58: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 58

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;

Page 59: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Interazione non testuale (in Access)

Page 60: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 60

Una distinzione terminologica (separazione fra dati e programmi)

data manipulation language (DML), linguaggi per la manipolazione di dati:

per l’interrogazione e l’aggiornamento di (istanze di) basi di dati

data definition language (DDL), linguaggi per la definizione di dati: 

per la definizione di schemi (logici, esterni, fisici) e altre operazioni generali (es. autorizzazioni)

Page 61: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 61

Personaggi e interpreti

Database administrator (DBA): Persona o gruppo di persone responsabile del controllo centralizzato e della gestione del sistema, delle prestazioni, dell’affidabilità, delle autorizzazioni

Le funzioni del DBA includono quelle di progettazione, anche se in progetti complessi ci possono essere distinzioni

Page 62: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 62

Page 63: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 63

Personaggi e interpreti (2)

progettisti della base di dati: raccolgono dati in base alle esigenze del committente e

degli utenti; li organizzano in strutture adeguate per rappresentarli

correttamente e memorizzarli. progettisti e realizzatori di DBMS: implementano

la base di dati progettisti e programmatori di applicazioni che

operano su sulla base di dati

Page 64: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 64

Personaggi e interpreti (3)

utenti utenti finali (terminalisti): eseguono applicazioni

predefinite e frequenti (transazioni) utenti casuali: eseguono operazioni non previste

a priori, usando linguaggi interattivi (interrogazioni, aggiornamenti)

utenti indipendenti.

Page 65: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 65

Vantaggi e svantaggi dei DBMS

Pro permettono di trattare i dati come risorsa comune,

base di dati come modello della realtà gestione centralizzata dei dati con possibilità di

standardizzazione disponibilità di servizi integrati la condivisione dei dati evita ridondanze e

inconsistenze indipendenza dei dati (favorisce lo sviluppo e la

manutenzione) delle applicazioni)

Page 66: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 66

Contro i prodotti sono costosi e complessi, e diversi

da molti altri strumenti informatici; la loro introduzione comporta investimenti: Acquisto prodotto Acquisto risorse hardware e software necessarie

non scorporabilità delle funzionalità (con riduzione di efficienza)

Page 67: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 67

Evoluzione delle basi di dati

Basi dati multimediali (per memorizzare immagini, video, suoni)

Sistemi di informazione geografica (GIS, geographic information sistems), per memorizzare e analizzare carte geografiche, dati metereologici e immagini da satellite

Data Warehouse, possono memorizzare dati storici integrati e consistenti relativi al personale delle aziende

Sistemi OLAP (on line analytical processing), usati dalle aziende per estrarre e analizzare informazioni utili (es. cifre di vendita, marketing o produzione) da basi dati molto ampie

Page 68: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Basi di Dati Multimediali

Introduzione 68

Nuove applicazioni richiedono la rappresentazione e la gestione di dati non tradizionali: testi arbitrari immagini audio video dati tradizionali (relazionali, orientati ad oggetti)

Page 69: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 69

Un sistema di gestione dati multimediali (MMDBMS) permette la rappresentazione e la gestione di diversi tipi di dati, potenzialmente rappresentati secondo diversi formati

Un MMDBMS deve permettere di: rappresentare dati corrispondenti a diverse tipologie di media interrogare dati rappresentati in formati diversi in modo uniforme interrogare dati in formati diversi simultaneamente nel contesto della

stessa query recuperare gli oggetti dal supporto su cui risiedono, compatibilmente

con il tipo di media che rappresentano

Page 70: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 70

Rappresentazione i dati sono tipicamente non strutturati si vuole analizzare il contenuto come è possibile rappresentare il contenuto di un documento

multimediale? Come si fa a capire che un’immagine contiene una certa persona

Query un linguaggio di query per MMDBMS deve avere caratteristiche

particolari query processing deve analizzare il contenuto degli oggetti

Page 71: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Esempio

Introduzione 7171

Attributi descrittivinome: Villa Medicilocalità:Roma

Features:forma:

Page 72: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Sistemi Informatici Geografici

Un sistema informativo territoriale (SIT; in inglese Geographic Information System, abbreviato in GIS) è un sistema informativo 

computerizzato che permette l'acquisizione, la registrazione, l'analisi, la visualizzazione e la restituzione di informazioni derivanti da dati geografici

Introduzione 72

Page 73: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Il GIS è differente dal DBMS, in quanto si occupa essenzialmente dell'elaborazione e manipolazione dei dati georeferenziati

Per la rappresentazione dei dati in un sistema informatico occorre formalizzare un modello rappresentativo flessibile che si adatti ai fenomeni reali. Nel GIS abbiamo tre tipologie di informazioni:

Geometriche: relative alla rappresentazione cartografica degli oggetti rappresentati; quali la forma (punto, linea, poligono), la dimensione e la posizione geografica;

Topologiche: riferite alle relazioni reciproche tra gli oggetti (connessione, adiacenza, inclusione ecc…);

Informative: riguardanti i dati (numerici, testuali ecc…) associati ad ogni oggetto.

Introduzione 73

Page 74: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Il GIS prevede la gestione di queste informazioni in un database relazionale.

L'aspetto che caratterizza il GIS è quello geometrico: esso memorizza la posizione del dato impiegando un sistema di proiezione reale che definisce la posizione geografica dell'oggetto. Il GIS gestisce contemporaneamente i dati provenienti da diversi sistemi di proiezione e riferimento 

Introduzione 74

Page 75: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Data Warehouse

Un Data warehouse è un archivio informatico contenente i dati di un'organizzazione. I DW sono progettati per consentire di produrre facilmente relazioni ed analisi.

Introduzione 75

Page 76: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Il data warehouse, quindi, descrive il processo di acquisizione, trasformazione e distribuzione di informazioni presenti all'interno o all'esterno delle aziende come supporto ai processi decisionali.

Esso si differenzia in modo sostanziale dai normali sistemi gestionali che, al contrario, hanno il compito di automatizzare le operazioni di routine.

Introduzione 76

Page 77: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

OLAP, designa un insieme di tecniche software per l'analisi interattiva e veloce di grandi quantità di dati, che è possibile esaminare in modalità piuttosto complesse. Ad esempio, serve alle aziende per analizzare i risultati delle vendite, l'andamento dei costi di acquisto merci, al marketing per misurare il successo di una campagna pubblicitaria, ad una università i dati di un sondaggio ed altri casi simili. Gli strumenti OLAP hanno come obiettivo la performance nella ricerca e il raggiungimento di un'ampiezza di interrogazione quanto più grande possibile.

Non utilizzano interfacce relazionali ma interfacce multidimensionali

Visulaizzano i dati da diversi punti di vista

77

Strumenti di businness intelligence

Page 78: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

La creazione di un database OLAP consiste nell'effettuare una fotografia di informazioni in un determinato momento e trasformare queste singole informazioni in dati multidimensionali.

Eseguendo successivamente delle interrogazioni sui dati così strutturati è possibile ottenere risposte in tempi decisamente ridotti rispetto alle stesse operazioni effettuate su altre tipologie di database.

Una struttura OLAP creata per questo scopo è chiamata "cubo" multidimensionale

Introduzione 78

Page 79: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 79

Data Mining

Il data mining ha per oggetto l'estrazione di di una conoscenza a partire da grandi quantità di dati (attraverso metodi automatici) e l'utilizzazione industriale o operativa di questo sapere.

In sostanze è l’"analisi matematica eseguita su database di grandi dimensioni". 

Il data mining ha una duplice valenza: Estrazione, con tecniche analitiche all'avanguardia, di informazione

implicita, nascosta, da dati già strutturati, per renderla disponibile e direttamente utilizzabile;

Esplorazione ed analisi, eseguita in modo automatico o semiautomatico, su grandi quantità di dati allo scopo di scoprire pattern (schemi) significativi.

Page 80: Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,

Introduzione 80

Questo tipo di attività è cruciale in molti ambiti della ricerca scientifica, ma anche in altri settori (per esempio in quello delle ricerche di mercato). Nel mondo professionale è utilizzata per risolvere problematiche diverse tra loro, che vanno dalla gestione delle relazioni con i client, all'individuazione di comportamenti fraudolenti per finire all'ottimizzazione di siti web.