1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi...

40
1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi [email protected]

Transcript of 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi...

Page 1: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

1

Corso di Informatica - Basi di Dati

Introduzione alle basi di dati

Gabriella Pasi

[email protected]

Page 2: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

2

Libro consigliato

P. Atzeni, S. Ceri, S. Paraboschi, R. TorloneBasi di DatiMcGraw-Hill, 1999

Page 3: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

3

Page 4: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

4

Definizione informale di Base di dati

• Insieme organizzato di dati utilizzati per lo svolgimento di determinate attività (di un ente, azienda, ufficio, persona)

Page 5: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

5

Una agendina

A-B Telefono C-D Telefono

Berti 02 34556743

Ciri 02 34554322

Aldini 335 4554679

Cometti 02 34221

Bombi 323 4565430

Dini 02 3443232

Cirielli 06 3432321CognomiTelefoni

Con prefisso

Page 6: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

6

I dati, come vedremo meglio piu’ avanti, possono assumere varie forme di

rappresentazione.Un insieme di immagini, fotografate nel corso

di una conferenza tra ricercatori

C. Batini

J. BubenkoProf. Furtado M. Brodie

S. Bijerkamp

Page 7: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

7

Ancora l’agendina

A-B Telefono C-D Telefono

Berti 02 34556743 Casa 02 34554322

Aldo 335 4554679 Comune 02 34221

B. 323 4565430 Dini 02 3443232

Ciro (a Roma) 3432321

Il numero e’ di Roma

Quindi il vero numero e’ 06

3432321

Non c’e’ un

cognome ma un

riferimento sociale

(o spaziale)

Page 8: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

8

Struttura di un sistema informatico

• Interfaccia utente• Applicazioni• Software di ambiente e di sistema

• Basi di dati• Software di base • Hardware centralizzato e distribuito• Sistema di comunicazione di rete

Page 9: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

9

I dati sulle lezioni e loro orari

Page 10: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

10

Primo archivio

Gestione orario lezioni

(Ufficio orario lezioni)

Archivio 1:orario lezioni

Page 11: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

11

O, meglio, nel caso del nostro corso

Gestione orario lezioni informatica

(Ufficio orario lezioni)

Archivio orario lezioniInformatica

Gestione orario lezioni STA

(Ufficio orario lezioni)

Archivio orario lezioni STA

Page 12: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

12

I dati sugli orari di ricevimento

Page 13: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

13

Secondo archivio

Gestione ricevimento(Ufficio orari ricevimento)

Archivio 2:ricevimento

Page 14: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

14

Possibili problemi• Ridondanza:

– informazioni ripetute• Rischio di incoerenza:

– le versioni possono non coincidere

Page 15: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

15

In una organizzazione i dati sono condivisi

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

• A ciascun settore o attività corrisponde un (sotto)sistema informativo

• Possono esistere sovrapposizioni fra i dati di interesse dei vari settori

•Una base di dati è una risorsa integrata, condivisa fra i vari settori di una organizzazione

Page 16: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

16

Due archivi ......

Gestione ricevimento

Archivio 2:ricevimento

Gestione orario lezioni

Archivio 1:orario lezioni

Page 17: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

17

........ Si trasformano in una unica base di dati

Gestione ricevimento

Gestione orario lezioni

Base di dati

Page 18: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

18

Le basi di dati sono condivise

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

• Conseguenze– Attivita' diverse su dati in parte condivisi:

• meccanismi di autorizzazione– Esempio aggiornamento Docenti Corsi

– Attivita' multi-utente su dati condivisi:• controllo della concorrenza

– Esempio conti correnti• Necessita‘ di un Sistema di gestione di basi di dati

Page 19: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

19

Sistema di gestione di basi di datiDataBase Management System —

DBMS - 1 Sistema (prodotto software) in grado di gestire collezioni di dati che siano (anche): – Grandi, di dimensioni (molto) maggiori

della memoria centrale dei sistemi di calcolo utilizzati

– Persistenti, con un periodo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano

– Condivise, utilizzate da applicazioni diverse....

Page 20: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

20

Sistema di gestione di basi di datiDataBase Management System — DBMS

- 2.... garantendo almeno tre qualita‘:

– Affidabilità, resistenza a malfunzionamenti hardware e software

– Sicurezza, con una disciplina e un controllo degli accessi.

– Efficienza, utilizzando al meglio le risorse di spazio e tempo del sistema.

Page 21: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

21

2. Modelli per descrivere dati nelle basi di dati

Page 22: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

22

Schema

Istanza

Page 23: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

23

Organizzazione dei dati in una base di datibasata sul modello relazionale

Insegnamento Docente Aula OraAnalisi matem. I 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 inform. Piero Rossi N3 8:00

Orario

Page 24: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

24

L'istanza della base di dati, cioe’ i dati veri e propri

Lo schema della base di dati cioe’ l’insieme dei concetti (entità) e delle relazioni tra di essi che che costituisconola base di dati

Analisi matem. I Luigi Neri N1 8:00Basi di dati Piero Rossi N2 9:45

Chimica Nicola Mori N1 9:45Fisica I Mario Bruni N1 11:45Fisica II Mario Bruni N3 9:45

Sistemi inform. Piero Rossi N3 8:00

Orario

Insegnamento Docente Aula Ora

Page 25: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

25

Modello dei dati

• Un apparato formale usato per organizzare i dati di interesse e descriverne la dinamica, cioe‘ come cambiano nel tempo

• componente fondamentale: strutture di rappresentazione

Insegnamento Docente Aula OraAnalisi matem. I 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 inform. Piero Rossi N3 8:00

Nel modella relazionale: La relazione

Concetto di relazione matematica

Page 26: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

26

Modello dei dati

Ogni modello dei dati prevede alcuni costruttori ad esempio, il modello relazionale prevede il

costruttore relazione, che permette di definire insiemi di dati omogenei

Analisi matem. I Luigi Neri N1 8:00Basi di dati Piero Rossi N2 9:45

Chimica Nicola Mori N1 9:45Fisica I Mario Bruni N1 11:45Fisica II Mario Bruni N3 9:45

Sistemi inform. Piero Rossi N3 8:00

OrarioInsegnamento Docente Aula Ora

Page 27: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

27

Due tipi 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

A-B Telefono C-D Telefono

Berti 02 34556743 Ciri 02 34554322

Aldini 335 4554679 Cometti 02 34221

Bombi 323 4565430 Dini 02 3443232

Cirielli 06 3432321

Page 28: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

28

Due tipi di modelli

• modelli concettuali: permettono di rappresentare i dati in modo indipendente da ogni sistema e quindi di progettare applicazioni di Basi di Dati descrivono i concetti del mondo reale– sono utilizzati nelle fasi preliminari di progettazione

il più noto è il modello Entita‘ Relazione, che introdurremo nelle prossime lezioni dopo avere studiato il modello logico RELAZIONALE

Esempio di rappresentazione concettuale mediante il modello enità relazione:

Studente CorsoEsame

Page 29: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

29

MODELLI DEI DATII MODELLI COSTITUISCONO UNA STRUTTURAZIONE SEMPLIFICATA DELLA REALTA’ CHE NE ACCOGLIE ASPETTI SPECIFICI E AIUTA A COMPRENDERLA MEGLIO

MONDO REALE

MODELLO CONCETTUALE

MODELLI LOGICI

GERARCHICO

RETICOLARE

RELAZIONALE

Page 30: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

30

MODELLI DEI DATI (ricapitoliamo…)

• MODELLO CONCETTUALE– RAPPRESENTA LA REALTA’ AD UN ELEVATO LIVELLO DI

ASTRAZIONE– E’ FACILE DA CAPIRE E INTERPRETARE– UTILIZZA SIA COSTRUTTI LINGUISTICI CHE GRAFICI– E’ INDIPENDENTE DAL DBMS

• MODELLO LOGICO– SUPPORTA UNA DESCRIZIONE DEI DATI CHE PUO’

ESSERE ELABORATA DAL SISTEMA (DBMS)– VIENE MAPPATO FACILMENTE SULLE STRUTTURE

FISICHE DI MEMORIZZAZIONE – IL MODELLO RELAZIONALE CONSERVA UN NOTEVOLE

GRADO DI ASTRAZIONE (è il modello che studiamo in questo corso)

Page 31: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

31

SCHEMI E ISTANZE

• SCHEMA – RAPPRESENTAZIONE DI UNA SPECIFICA PORZIONE DELLA

REALTA’– VIENE COSTRUITO UTILIZZANDO UNO SPECIFICO

MODELLO DEI DATI– E’ UNA COLLEZIONE STATICA DI COSTRUTTI LINGUISTICI O

GRAFICI CHE DESCRIVE LA STRUTTURA DEI DATI (p.e. intestazione di una tabella)

• ISTANZA – E’ COSTITUITA DAI VALORI ATTUALI DEI DATI CHE SI

CONFORMANO AD UN DETERMINATO SCHEMA (p.e. il corpo della tabella)

– E’ FORTEMENTE DINAMICA

Page 32: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

32

STRUMENTI PER LA REALIZZAZIONE DEI MODELLI

STRUMENTO PER LA REALIZZAZIONE PRATICA DEI MODELLI SONO I LINGUAGGI PER I DATI

• LINGUAGGI DI DEFINIZIONE DEI DATI (DDL)– PER CREARE GLI SCHEMI DEI DATI E DEFINIRE LE

LORO PROPRIETA’– SONO PER LO PIU’ GRAFICI

• LINGUAGGI DI MANIPOLAZIONE DEI DATI (DML)– PER AGGIORNARE (CREARE) LE ISTANZE DEI DATI– PER L’INTERROGAZIONE DEI DATI (p.e. scrivere

programmi applicativi)

Page 33: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

33

3. Architettura di un DBMS

Page 34: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

34

BD

Schema logico

Schema fisico

Utente/programmi

Architettura a due livelli di un DBMS

Descrizione della base di dati con strutture di alto livello (ad esempio, la struttura di relazione)

Rappresentazione dello schema logico per mezzo di strutture „fisiche“ di memorizzazione (file), blocchi in memoria, ecc.

Page 35: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

35

Nella agendina ……

A-B Telefono C-D Telefono

Berti 02 34556743 Ciri 02 34554322

Aldini 335 4554679 Cometti 02 34221

Bombi 323 4565430 Dini 02 3443232

Cirielli 06 3432321

Schema logico Agendina (Cognome, Telefono)

Dati che saranno poi rappresentati sulla base di uno schema fisico Cognomi e telefoni

Page 36: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

36

Indipendenza dei dati

• il livello logico è indipendente da quello fisico:– una relazione è definita e utilizzata

nello stesso modo qualunque sia la sua realizzazione fisica (che può anche cambiare nel tempo)

Page 37: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

37

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

BD

Schema logico

Schemaesterno

Schema fisico

Schemaesterno

Schemaesterno

utenteutente

utenteutente utente

descrizione di parte della base di dati in un modello logico (“viste” parziali, di

interesse per particolari gruppi di

utenti)

Page 38: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

38

Due livelli di indipendenza dei dati:1. indipendenza fisica

BD

Schema logico

Schemaesterno

Schema fisico

Schemaesterno

Schemaesterno

utenteutente utente utente utente

- il livello logico e quello esterno sono indipendenti 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 software

Page 39: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

39

Due livelli di indipendenza dei dati:2. indipendenza logica

BD

Schema logico

Schemaesterno

Schema fisico

Schemaesterno

Schemaesterno

utenteutente utente utente utente

il livello esterno è indipendente da quello logico: - aggiunte o modifiche agli schemi esterni non richiedono modifiche al livello logico- modifiche allo schema logico che lascino inalterato lo schema esterno sono trasparenti

Page 40: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it.

40

Concetti introdotti• Base di dati• Schema (di base di dati)• Istanza (di base di dati)• Modello logico• Modello concettuale• Data Base Management system (Sistema di gestione di basi di

dati)• Affidabilita’, sicurezza, efficienza• Schema logico• Schema fisico• Schema esterno• Data Description Language• Data Manipulation Language