Upload
fiammetta-roberto
View
216
Download
1
Embed Size (px)
Citation preview
1
Corso di Informatica - Basi di Dati
Introduzione alle basi di dati
Gabriella Pasi
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