1 corso di informatica - basi di dati introduzione alle basi di dati gabriella pasi...
TRANSCRIPT
![Page 1: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/1.jpg)
1
Corso di Informatica - Basi di Dati
Introduzione alle basi di dati
Gabriella Pasi
![Page 2: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/2.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/3.jpg)
3
![Page 4: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/4.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/5.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/6.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/7.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/8.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/9.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/10.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/11.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/12.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/13.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/14.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/15.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/16.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/17.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/18.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/19.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/20.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/21.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/22.jpg)
22
Schema
Istanza
![Page 23: 1 Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/23.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/24.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/25.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/26.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/27.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/28.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/29.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/30.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/31.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/32.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/33.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/34.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/35.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/36.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/37.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/38.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/39.jpg)
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](https://reader038.vdocumenti.com/reader038/viewer/2022110305/5542eb5a497959361e8c6f37/html5/thumbnails/40.jpg)
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