Introduzione alle Basi di Dati - dmi.unict.itggiuffrida/LM/Basi di Dati - Introduzione.pdf ·...

56
Introduzione alle Basi di Dati Prof. Giovanni Giuffrida November 17, 2018

Transcript of Introduzione alle Basi di Dati - dmi.unict.itggiuffrida/LM/Basi di Dati - Introduzione.pdf ·...

Introduzione alle Basi di Dati

Prof. Giovanni Giuffrida

November 17, 2018

Section 1

Introduzione

Materiale didattico

Slides del corso

Atzeni,Ceri,Paraboschi,Torlone, Basi di Dati,Modelli elinguaggi di interrogazione, terza edizione, McGraw-Hill 2002.

Albano-Ghelli-Orsini, Basi di Dati Relazionali e a Oggetti,Zanichelli, 1997

Ullman, Basi di Dati e Basi di Conoscenza

Access: Manuale utente

1

Sistema Informativo

Componente (sottosistema) di qualsiasi organizzazione

Azienda privata, pubblica, info private (PIM), famiglia, etc.

Gestisce (acquisisce, elabora, conserva, produce) leinformazioni di interesse (i.e., utilizzate per il perseguimentodegli scopi dell’organizzazione)

ogni organizzazione ha un sistema informativo, possibilmentenon esplicitato nella struttura stessaquasi sempre, il sistema informativo è di supporto ad altrisottosistemiil sistema informativo è di solito suddiviso in sottosistemi (inmodo gerarchico o decentrato), più o meno fortementeintegrati

2

Sistema Organizzativo

Insieme di risorse e regole per lo svolgimento coordinato delleattività al fine del perseguimento degli scopi

il sistema informativo è parte del sistema organizzativo

il sistema informativo esegue/gestisce processi informativi(cioè i processi che coinvolgono lo scambio di informazioni)

3

Risorse aziendali

Le risorse di una azienda:personedenaromaterialiinformazioni

Oggi viviamo nell‘era della conoscenza

Il capitale principale delle organizzazioni è rappresentato dallaconoscenza (basata sui dati)

4

Sistemi informativi e automazione

Il concetto di “sistema informativo” è indipendente da qualsiasiautomazione

Esistono organizzazioni la cui ragion d’essere è la gestione diinformazioni

Es.: servizi anagrafici, tribunali, biblioteche, etcOperano da secoliLa gestione delle loro informazioni si è evoluta nel tempo

Ma ciò non altera l‘obiettivo dell‘organizzazione!

5

Sistema Informatico

Porzione automatizzata del sistema informativo

Insieme di hardware e software per la gestione delleinformazioni

La parte del sistema informativo che gestisce informazioni contecnologia informatica

6

Sistema informativo e sistema informatico

Anche prima di essere informatizzati, molti sistemi informativisi sono evoluti

Razionalizzazione delle procedure di accesso ai datiStandardizzazione dell’esecuzione delle procedureOrganizzazione delle informazioniDuplicazione degli archivi

Esempi:Uffici anagrafeContabilità familiareOrdinazione al ristorante

7

Gestione delle informazioni

Nelle attività umane, le informazioni vengono gestite(registrate e scambiate) in forme diverse:

idee informalilinguaggio naturale (scritto o parlato, formale o colloquiale, inuna lingua o in un’altra)disegni, grafici, scheminumeri e codici

e su vari supportimemoria umana, carta, dispositivi elettronici

8

Gestione delle informazioni

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

Ad esempio, nei servizi anagrafici si è iniziato con registrazionidiscorsive e poi

nome e cognomeestremi anagraficicodice fiscale

9

Section 2

Dati e conoscenza

Informazioni e dati

Nei sistemi informatici (e non solo), le informazioni vengonorappresentate in modo essenziale, spartano: attraverso i datiDal Vocabolario della lingua italiana (1987)

informazione: notizia, dato o elemento che consente di avereconoscenza più o meno esatta di fatti, situazioni, modi diessere.dato: ciò che è immediatamente presente alla conoscenza,prima di ogni elaborazione; (in informatica) elementi diinformazione costituiti da simboli che debbono essere elaborati.

Informazione può essere vista come un‘interpretazionesemantica dei datiDipendente dal contestoDipendente dal tempo di osservazioneIn genere l’informazione è difficile da catturare stabilmente

10

Dati e informazioni

I dati hanno quindi bisogno di essere interpretati

Esempio: ‘Mario’ e ’275’ su un foglio di carta sono due dati

11

Dati e informazioni

‘Mario’ ’275’

Se il foglio di carta viene fornito in risposta alla domanda: “Achi mi devo rivolgere per il problema X; qual è il suo interno?”

I dati sono interpretati per derivare informazione e arricchire laconoscenza

Quindi dipende dal contesto, potrebbe essere:soldi che Mario mi devegiorni lavorativi di Marionumero di pagine della tesi di MarioEtc. Etc.

12

Perché i dati?

La rappresentazione precisa di forme più ricche di informazionee conoscenza è difficile

I dati costituiscono spesso una risorsa strategica

Più stabili nel tempo di altre componenti quali processi,tecnologie, ruoli umani

13

Base di dati

Insieme organizzato di dati utilizzati per il supporto allosvolgimento delle attività (azienda, ufficio, personale)

Tecnologicamente parlandoInsieme di dati gestito da un sistema software dedicato alla"Gestione di basi di dati"

Data Base Management System (DBMS)

14

Section 3

I sistemi per la gestione delle Basi di dati

DataBase Management System — DBMS

Applicazione software in grado di gestire collezioni di dati che siano:

Grandi: di dimensioni (molto) maggiori della memoria centraledei sistemi di calcolo utilizzati

Persistenti: con un periodo di vita indipendente dalle singoleesecuzioni dei programmi che le utilizzano

Condivise: utilizzate da applicazioni diverse anche in localitàgeografiche diverse

Affidabili: resistenza a malfunzionamenti hardware e software,blackout, etc.

Private: con una disciplina e un controllo degli accessi

15

DataBase Management System — DBMS

Come ogni prodotto informatico, un DBMS deve essere

Efficiente: utilizzando al meglio le risorse di spazio e tempo delsistema

Efficace: rendendo produttive le attività dei suoi utilizzatori

16

Alcuni DBMS in commercio

Business estremamente grosso e profittevole

Alcuni prodotti in commercioMicrosoft AccessIBM-DB2OracleInformixSybaseMicrosoft SQLServerIngresMySql (open-source)

17

Condivisione dei dati

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

A ciascun settore o attività corrisponde un (sotto-)sistemainformativo

Possono esistere sovrapposizioni fra i dati di interesse dei varisettori

Una base di dati è una risorsa integrata, condivisa fra i varisettori

18

Possibili problemi nella condivisione dei dati

Ridondanza:informazioni duplicate

Rischio di incoerenza:le versioni possono non coincidere

L’incoerenza tra i dati è un problema frequente nelle grandiorganizzazioni (e molto complicato a volte da risolvere)

Le basi di dati condivise hanno aiutato molto nella soluzionedel problema

19

Archivi e Basi di dati

20

Archivi e Basi di dati

21

Le basi di dati condivise

Una base di dati è una risorsa integrata e condivisa tra varieapplicazioni e vari utenti

Attività diverse da parte di diversi utenti su dati in partecondivisi:

Meccanismi di autorizzazioneControllo degli accessiControllo della concorrenza, accesso ai dati in competizione

22

Efficienza

Si misura (come in tutti i sistemi informatici) in termini ditempo di esecuzione (tempo di risposta)spazio di memoria (principale e secondaria)

L’efficienza è funzione di vari fattoriQualità del DBMSQualità delle applicazioni che usano il DBMSManutenzione del DBMSCaratteristiche del serverEcc.

23

Section 4

Astrazione e indipendenza dei dati

Architettura standard (ANSI/SPARC) a tre livelli per DBMS

24

Architettura ANSI/SPARC: schemi

Schema esterno: descrizione di parte della base di dati delmodello logico (“viste” parziali, derivate, anche in modellidiversi)

Schema logico: descrizione dell’intera base di dati nel modellologico “principale” del DBMS

Schema fisico: rappresentazione dei dati per mezzo distrutture fisiche di memorizzazione sui dischi rigidi

25

Astrazione dei dati nei DBMS

Descrizioni e rappresentazione dei dati a livelli diversi diastrazione

I livelli seguono un ordine ben preciso

Ciò permette l’indipendenza dei dati dalla lororappresentazione fisica sugli hard-disk:

i programmi fanno riferimento alla struttura a livello più alto, ele rappresentazioni sottostanti possono essere modificate senzanecessità di modifica dei programmiLa rappresentazione ad un livello può cambiare nel temposenza bisogno di cambiare i livelli sovrastranti

26

Indipendenza dei dati

Conseguenza della articolazione in livelli

L’accesso avviene solo tramite il livello esterno (che puòcoincidere con il livello logico)

Due forme:Indipendenza fisicaIndipendenza logica

27

Indipendenza fisica

Il livello logico e quello esterno sono indipendenti da quellofisico

una relazione è utilizzata nello stesso modo qualunque sia lasua realizzazione fisicala realizzazione fisica può cambiare senza che debbano esseremodificati i programmi

28

Indipendenza logica

Il livello esterno è indipendente da quello logico

Aggiunte o modifiche alle viste non richiedono modifiche allivello logico

Modifiche allo schema logico che lascino inalterato lo schemaesterno sono trasparenti

29

Section 5

Modello dei dati

Una lunga storia (Giugno 1970)

30

Modello dei dati

Insieme di costrutti e metodi utilizzati per organizzare i dati diinteresse e descriverne la dinamica

Componente fondamentale: meccanismi di strutturazione (ocostruttori di tipo)

Ogni modello dei dati prevede specifici costruttori

Ad esempio, il modello relazionale prevede il costruttorerelazione, che permette di definire insiemi di record omogenei

31

Due tipi principali di modelli

Modelli logici: utilizzati nei DBMS esistenti perl’organizzazione dei dati

utilizzati dai programmiindipendenti dalle strutture fisicheesempi: relazionale, reticolare, gerarchico, a oggetti

Modelli concettuali: permettono di rappresentare i dati inmodo indipendente da ogni sistema

cercano di descrivere i concetti del mondo realesono utilizzati nelle fasi preliminari di progettazioneil più noto è il modello Entity-Relationship

32

Organizzazione dei dati nel modello relazionale

Table 1: Orario

INSEGNAMENTO DOCENTE AULA ORAAnalisi matematica Luigi Neri N1 8:00

Basi di dati Piero Rossi N2 9:45Chimica Nicola Mori N1 9:45Fisica I Mario Bruni N1 11:45Fisica II Mario Bruni N3 9:45

Sistemi Informativi Piero Rossi N3 8:00

33

Schemi e istanze

Table 2: Lo schema della base di dati

INSEGNAMENTO DOCENTE AULA ORA

34

Schemi e istanze

Table 3: l’istanza della base di dati

Analisi matematica Luigi Neri N1 8:00Basi di dati Piero Rossi N2 9:45Chimica Nicola Mori N1 9:45Fisica I Mario Bruni N1 11:45Fisica II Mario Bruni N3 9:45

Sistemi Informativi Piero Rossi N3 8:00

35

Schemi e istanze

In ogni base di dati esistono:Aspetto intensionale: lo schema

Sostanzialmente invariante nel tempoDescrive la strutturaNell’esempio, le intestazioni delle tabelle

Aspetto estensionale: l’ istanzaI valori possono cambiare anche molto rapidamenteRaccoglie i datiNell’esempio, il “corpo” di ciascuna tabella

36

Esempio di DB relazionale

37

Esempio di query

Quali docenti hanno dato più di 24 a Teo Verdi ed in qualicorsi?

Quali esami ha sostenuto Mario Rossi?

Quali studenti hanno preso almeno un corso col Prof. Lizzio?

etc etc etc

38

Linguaggi per basi di dati

Permettono interrogazioni formali delle basi di dati nel modellologico utilizzatoAlgebra relazionale: Formalismo di base per la formalizzazionedi interrogazioni nel modello relazionale (la madre di tutti imodelli)SQL (Structured Query Language): Linguaggio di tipo testualeper basi di dati relazionali

Adottato da tutti i sistemi DBMS relazionali

Interfacce visuali (tipo Access)I vari linguaggi di programmazione (e.g. Java) permettono diinterrogare le basi di dati incorporando SQL al loro internoNew: Linguaggi No-SQL

Ancora in definizioneNon strutturatiEfficientiImprecisi

39

Esempio di SQL

SELECT Corso, Aula, PianoFROM Aule, Corsi

WHERE Nome = AulaAND Piano = ’Terra’

Corso Aula PianoSistemi N3 TerraReti N3 Terra

40

Interazione non testuale (Access)

41

Una distinzione terminologica (separazione fra dati e pro-grammi)

Data manipulation language (DML)Per l’interrogazione e l’aggiornamento di (istanze di) basi didati

Data definition language (DDL)Per la definizione di schemi (logici, esterni, fisici) e altreoperazioni generali

42

Un’operazione DDL

Esempio di creazione tabella

CREATE TABLE orario (insegnamento CHAR(20),docente CHAR(20),aula CHAR(4),ora time

)

43

Personaggi e interpreti

Progettisti e realizzatori di DBMS

Progettisti della base di dati e amministratori della base di dati(DBA)

Progettisti e programmatori di applicazioni

Utenti

44

Database administrator (DBA)

Persona o gruppo di persone responsabile del controllocentralizzato e della gestione del sistema, delle prestazioni,dell’affidabilità, delle autorizzazioni

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

45

Transazioni

Programmi che realizzano attività frequenti e predefinite, conpoche eccezioni, previste a priori

Esempi:versamento presso uno sportello bancarioemissione di certificato anagraficodichiarazione presso l’ufficio di stato civileprenotazione aerea

Le transazioni sono di solito realizzate con programmi inlinguaggio ospite (tradizionale o ad hoc)

46

Transazioni

Altra definizione importante di transazione:Sequenza indivisibile di operazioni

Atomicità: O vengono eseguite tutte le operazioni o nessuna

I DBMS sono in grado di garantire l‘atomicità delle transazioni

Costrutti per marcare l‘inizio e la fine della transazione

47

Vantaggi e svantaggi dei DBMS

Prodati come risorsa comune, base di dati come modello dellarealtàgestione centralizzata con possibilità di standardizzazione ed“economia di scala”disponibilità di servizi integratiriduzione di ridondanze e inconsistenzeindipendenza dei dati (favorisce lo sviluppo e la manutenzionedelle applicazioni)

Controcosto dei prodotti e della transizione verso di essinon scorporabilità delle funzionalità in certi casi (con riduzionedi efficienza)

48

FINE

49

Emacs 26.1 (Org mode 9.1.9)

49