Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi pasi@disco.unimib.it
Libro consigliato P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone Basi di Dati McGraw-Hill, 1999
Definizione informale di Base di dati Insieme organizzato di dati utilizzati per lo svolgimento di determinate attività (di un ente, azienda, ufficio, persona)
Una agendina Cognomi Telefoni Con prefisso A-B Telefono C-D Berti 02 34556743 Ciri 02 34554322 Aldini 335 4554679 Cometti 02 34221 Bombi 323 4565430 Dini 02 3443232 Cirielli 06 3432321 Cognomi Telefoni Con prefisso
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 Prof. Furtado M. Brodie S. Bijerkamp C. Batini J. Bubenko
Ancora l’agendina A-B Telefono C-D Berti 02 34556743 Casa 02 34554322 Aldo 335 4554679 Comune 02 34221 B. 323 4565430 Dini 02 3443232 Ciro (a Roma) 3432321 Non c’e’ un cognome ma un riferimento sociale (o spaziale) Il numero e’ di Roma Quindi il vero numero e’ 06 3432321
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
I dati sulle lezioni e loro orari
Archivio 1: orario lezioni Primo archivio Archivio 1: orario lezioni Gestione orario lezioni (Ufficio orario lezioni)
O, meglio, nel caso del nostro corso Archivio orario lezioni Informatica Gestione orario lezioni informatica (Ufficio orario lezioni) Archivio orario lezioni STA Gestione orario lezioni STA (Ufficio orario lezioni)
I dati sugli orari di ricevimento
Archivio 2: ricevimento Secondo archivio Gestione ricevimento (Ufficio orari ricevimento) Archivio 2: ricevimento
Possibili problemi Ridondanza: informazioni ripetute Rischio di incoerenza: le versioni possono non coincidere
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
Archivio 1: orario lezioni Due archivi ...... Archivio 1: orario lezioni Gestione orario lezioni Archivio 2: ricevimento Gestione ricevimento
........ Si trasformano in una unica base di dati Gestione ricevimento Gestione orario lezioni Base di dati
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
Sistema di gestione di basi di dati DataBase 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....
Sistema di gestione di basi di dati DataBase 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.
2. Modelli per descrivere dati nelle basi di dati
Schema Istanza
Organizzazione dei dati in una base di dati basata sul modello relazionale Orario
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 costituiscono la base di dati Orario L'istanza della base di dati, cioe’ i dati veri e propri
Modello dei dati Nel modella relazionale: La relazione Un apparato formale usato per organizzare i dati di interesse e descriverne la dinamica, cioe‘ come cambiano nel tempo componente fondamentale: strutture di rappresentazione Nel modella relazionale: La relazione Concetto di relazione matematica
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 Orario
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 Berti 02 34556743 Ciri 02 34554322 Aldini 335 4554679 Cometti 02 34221 Bombi 323 4565430 Dini 02 3443232 Cirielli 06 3432321
Due tipi di modelli Studente Corso 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 Corso Esame
MODELLI DEI DATI I MODELLI COSTITUISCONO UNA STRUTTURAZIONE SEMPLIFICATA DELLA REALTA’ CHE NE ACCOGLIE ASPETTI SPECIFICI E AIUTA A COMPRENDERLA MEGLIO MONDO REALE MODELLO CONCETTUALE RELAZIONALE RETICOLARE GERARCHICO MODELLI LOGICI
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)
SCHEMI E ISTANZE SCHEMA ISTANZA 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
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)
3. Architettura di un DBMS
Architettura a due livelli di un DBMS Descrizione della base di dati con strutture di alto livello (ad esempio, la struttura di relazione) Utente/programmi Schema logico Rappresentazione dello schema logico per mezzo di strutture „fisiche“ di memorizzazione (file), blocchi in memoria, ecc. Schema fisico BD
Schema logico Agendina (Cognome, Telefono) Nella agendina …… A-B Telefono C-D 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
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)
Architettura standard (ANSI/SPARC) a tre livelli per DBMS utente utente utente utente utente BD Schema logico Schema esterno Schema fisico descrizione di parte della base di dati in un modello logico (“viste” parziali, di interesse per particolari gruppi di utenti)
Due livelli di indipendenza dei dati: 1. indipendenza fisica - 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 BD Schema logico Schema esterno Schema fisico utente
Due livelli di indipendenza dei dati: 2. indipendenza logica BD Schema logico Schema esterno Schema fisico 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
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