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

Post on 01-May-2015

215 views 1 download

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

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

3

4

Definizione informale di Base di dati

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

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

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

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)

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

9

I dati sulle lezioni e loro orari

10

Primo archivio

Gestione orario lezioni

(Ufficio orario lezioni)

Archivio 1:orario lezioni

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

12

I dati sugli orari di ricevimento

13

Secondo archivio

Gestione ricevimento(Ufficio orari ricevimento)

Archivio 2:ricevimento

14

Possibili problemi• Ridondanza:

– informazioni ripetute• Rischio di incoerenza:

– le versioni possono non coincidere

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

16

Due archivi ......

Gestione ricevimento

Archivio 2:ricevimento

Gestione orario lezioni

Archivio 1:orario lezioni

17

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

Gestione ricevimento

Gestione orario lezioni

Base di dati

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

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....

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.

21

2. Modelli per descrivere dati nelle basi di dati

22

Schema

Istanza

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

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

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

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

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

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

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

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)

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

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)

33

3. Architettura di un DBMS

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.

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

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)

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)

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

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

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