G. Mecca – [email protected] – Università della BasilicataG. Mecca – [email protected] – Università della Basilicata
Basi di Dati
Sistemi per Basi di Dati:
Introduzione
versione 2.0
2G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Sommario
IntroduzioneSistema Informativo e Sistema Informatico
Definizione di DBMS Modello logico e modello fisico
Panoramica sui modelliSchema e IstanzaLinguaggi per basi di dati
Indipendenza dei dati
Sistemi per BD >> Sommario
3G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Introduzione
Oggetto del corsoSistemi di Gestione di Basi di Dati o
“Database Management Systems” (DBMS) Sono tipicamente utilizzati nelle
organizzazioni complessemolti dati da gestireprocessi complessii dati sono cruciali per lo svolgimento delle
attività
Sistemi per BD >> Introduzione
4G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Introduzione
In particolarei DBMS sono una componente fondamentale
del sistema informatico di una grande organizzazione
che è una componente fondamentale del sistema informativo
che è una componente fondamentale del sistema organizzativo
Sistemi per BD >> Introduzione
5G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Sistema Organizzativo
Organizzazione complessa (es: azienda, banca, ente pubblico, … ma anche fantacalcio…)
Sistema Organizzativocomplesso delle strutture, delle regole e delle procedure che regolano lo svolgimento delle attivitàEs: banca – regolamento apertura c/c anagrafe – procedure per la reg. nascite
Sistemi per BD >> Introduzione
6G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Sistema Informativo
La parte del sistema organizzativo che presiede ai processi di raccolta, conservazione e utilizzo delle informazioniEs: banca – registrazione prelievi su c/c
emissione estratto conto anagrafe – registrazione nascita
emissione certificato di nascita
Sistemi per BD >> Introduzione >> Sistema Informativo
7G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Sistema Informatico
La porzione informatizzata del sistema informativo
Collezione di applicazioni che gestiscono i dati e i flussi informativi
In pratica, in molti casi:sistema informativo = sistema informaticoma non è sempre così
Sistemi per BD >> Introduzione >> Sistema Informativo
8G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Sistema Informatico
Struttura a livelli
Sistemi per BD >> Introduzione >> Sistema Informativo
Organizzazione complessa (es: azienda)
Sistema organizzativo
Sistema informativo
Sistema informatico
DBMS
obiettivo dei DBMS: il trattamento dei dati per ottenere informazione
9G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Dati e Informazioni (dal vocabolario) Informazione: notizia, dato o elemento che
consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere.
Dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati.
Sistemi per BD >> Introduzione >> Sistema Informativo
10G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Dati e Informazioni
I dati devono essere interpretati per diventare informazioni (conoscenza)Esempio: 1 3 10 12 17 20 21 30
Risultati del Totogol concorso 28 del 3 marzo 20021 3 10 12 17 20 21 30Quote 8pt: € 215.594,00
Sistemi per BD >> Introduzione >> Sistema Informativo
11G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Architettura dei Sistemi Informatici I sistemi informatici sono presto stati
considerati fondamentali nelle grandi organizzazioni
Esistono da prima che esistessero i DBMS
Erano basati su un’architettura diversa rispetto a quella attuale
Sistemi per BD >> Introduzione >> Sistema Informativo
12G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Architettura Tradizionale dei S. I.
Applicazioni e file
Sistemi per BD >> Introduzione >> Sistema Informativo
Applicazione n.3Es: erogazione contr.
Applicazione n.2Es: certif. elettorali
Applicazione n.1Es: dati nascite
Disco
File A
File B
File C
13G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Problemi ed Esigenze
Dimensioni dei dati Efficienza Condivisione dell’accesso
ridondanza Affidabilità Sicurezza
Sistemi per BD >> Introduzione >> Sistema Informativo
14G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Database Management System (DBMS) Sistema per gestire
grandi collezioni di dati persistentiin modo efficientegarantendo servizi di:condivisioneaffidabilitàsicurezza
Sistemi per BD >> Concetto di DBMS
15G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Architettura Moderna dei S.I.
Architettura basata su DBMS
Appl. n.2
Appl. n.1
Base di Dati(dati)
DBMS(servizi)
Sistemi per BD >> Concetto di DBMS
16G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Servizi di un DBMS Condivisione
riduzione di ridondanze (inconsistenze)gestione della concorrenza
Esempio:un’unica collezione di dati (“cittadini”) a
cui accedono tutte le applicazioni
Sistemi per BD >> Concetto di DBMS
17G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Servizi di un DBMS Affidabilità
recupero dei dati in caso di guasti Esempio:
in caso di malfunzionamento (alimentazione, rottura del disco) i dati possono essere recuperati
Sistemi per BD >> Concetto di DBMS
18G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Servizi di un DBMS Sicurezza
meccanismi di protezione dell’accessomeccanismi di autorizzazione
Esempio:l’accesso ai dati dei cittadini è protetto
agli utenti non autorizzatigli utenti autorizzati (impiegati) hanno
diversi livelli di autorizzazione
Sistemi per BD >> Concetto di DBMS
19G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Caratteristiche di un DBMS Efficienza
utilizzo di risorse di calcolorelativa alla complessità dei servizi
Efficaciacentralizzazione dei servizimiglioramento della produttivitàsemplicità della scrittura di applicazioni
Sistemi per BD >> Concetto di DBMS
20G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Figure Coinvolte
Base di Dati
applicazioniapplicazioni
DBMSDBMS
utenti finaliutenti finali
amministratoriamministratori
programmatoriprogrammatoriapplicativiapplicativiutentiutenti
casualicasuali
Sistemi per BD >> Concetto di DBMS
21G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Alcuni Esempi di DBMS
Commerciali, Fascia altaIBM DB2, Oracle, Microsoft SQL Server, Sybase
Commerciali, Fascia bassaMicrosoft Access, FileMaker
Open SourceMySQL (www.mysql.com)PostgreSQL (www.postgresql.org)
Sistemi per BD >> Concetto di DBMS
22G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Interazione tra DBMS e Applicazioni Come fanno le applicazioni e gli utenti a
interagire con il DBMS ?devono conoscere l’organizzazione dei datidevono sapere come comunicare con il
DBMS Devono conoscere:
Il modello dei dati del DBMSIl linguaggio del DBMS
Sistemi per BD >> Concetto di Modello
23G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Modello dei Dati
Insieme di strutture e di regole per la rappresentazione di informazioni
Modello logico dei datiastrazione per il programmatore
Modello fisico dei datial livello della macchina
Sistemi per BD >> Concetto di Modello
24G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Modello dei Dati
Esempi di modello logicoIn linguaggio C
tipi base, array, strutture, puntatoriIn linguaggio Java
tipi base, array, classi, oggetti, ereditarietà Esempi di modello fisico
strutture per la rappresentazione dei bit (registri della memoria, file su disco)
Sistemi per BD >> Concetto di Modello
25G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Modelli di Dati in un DBMS
Ogni DBMS è basato su precisi modelli Modello logico
descrizione dei dati visibili alle applicazioni Modello fisico
strutture per la gestione della persistenza su disco
Sistemi per BD >> Concetto di Modello
26G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
DBMS Relazionale
Modello Logicoi dati sono organizzati in “tabelle”la tabella è un insieme di “record” (ennuple)con un insieme di attributidi tipi opportuni (numeri, stringhe, date…)i dati in tabelle diverse sono correlati sulla
base dei valori Modello Fisico
file, pagine e record (proprietario)
Sistemi per BD >> Concetto di Modello >> Panoramica sui Modelli
27G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Matricola Cognome Nome Data di nascita6554 Pinco Pallino 05/12/19788765 Neri Paolo 03/11/1976
3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979
studenti
Codice Titolo Docente01 Analisi Sempronio02 Chimica Bruni04 Chimica Verdi
corsi
Studente Voto Corso3456 30 043456 24 029283 28 01
esami
6554 26 01
Sistemi per BD >> Concetto di Modello >> Panoramica sui Modelli
28G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
DBMS Orientati agli Oggetti
Modello Logicoi dati sono organizzati in classiogni classe genera un insieme di oggetticon un insieme di proprietà e di metodioggetti diversi sono correlati sulla base di
identificatori Modello Fisico
file, pagine, record, puntatori (proprietario)
Sistemi per BD >> Concetto di Modello >> Panoramica sui Modelli
29G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Sistemi per BD >> Concetto di Modello >> Panoramica sui Modelli
30G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
DBMS Relazionali a Oggetti
Sono un compromesso tra DBMS relazionali e DBMS a oggetti
I dati sono organizzati in tabelle… maLimitate funzionalità per la definizione di tipi
(classi)Limitate funzionalità per la definizione di
oggetti (identificatori)Limitate funzionalità per la creazione di
gerarchie
Sistemi per BD >> Concetto di Modello >> Panoramica sui Modelli
31G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Sistemi basati su XML
Modello Logicoi dati sono organizzati in strutture
gerarchiche (alberi)ogni albero ha un insieme di nodi (elementi)oggetti diversi sono correlati sulla base di
relazioni di contenimento Modello Fisico
vari possibili modellistandard: file di testo basato su marcatori
Sistemi per BD >> Concetto di Modello >> Panoramica sui Modelli
32G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
studenti
studente studente studente
cognome nomematricola dataNascita esamiSost
esame esame
6554 Pinco Pallino 5/12/1978
… …
…
corso
codice titolo
01
docente
voto
Analisi Sempronio
26
Sistemi per BD >> Concetto di Modello >> Panoramica sui Modelli
33G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
<xml version=“1.0” ?><xml version=“1.0” ?><studenti><studenti>
<studente><studente> <matricola><matricola>65546554</matricola></matricola>
<cognome><cognome>PincoPinco</cognome></cognome><nome><nome>PallinoPallino</nome></nome><dataDiNascita><dataDiNascita>15/12/197815/12/1978</dataDiNascita></dataDiNascita><esamiSostenuti><esamiSostenuti> <esame><esame> <corso><corso> <codice><codice>0101</codice></codice>
<titolo><titolo>AnalisiAnalisi</titolo></titolo> <docente><docente>GiacomoGiacomo</docente></docente> <voto><voto>2626</voto></voto>
</corso></corso> </esame></esame>
......</studenti></studenti>
Sistemi per BD >> Concetto di Modello >> Panoramica sui Modelli
34G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Modelli Storici
Modello gerarchicoanni ’60IBM IMSCOBOL, Pascal
Modello reticolareanni ’70IDS, IDMSCodasyl, COBOL
Sistemi per BD >> Concetto di Modello >> Panoramica sui Modelli
35G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Visibilità degli Schemi
Sistemi per BD >> Concetto di Modello
Disco(file)
Schema fisicoDBMSAppl. n.2
Appl. n.1
Schema logico
es: struttura delletabelle o delleclassi
strategia dimemorizz.(struttura deifile)
36G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Schema e Istanza
Che cosa del modello deve conoscere lo sviluppatore dell’applicazione ?il modello logico (e non il modello fisico)la struttura dei dati e non necessariamente i
dati veri e propri In altri termini
lo “schema”e non necessariamente l’”istanza”
Sistemi per BD >> Concetto di Modello >> Schema e Istanza
37G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
In ogni modello esistono
Lo schema: la descrizione della struttura stabile nel tempo
L‘istanza: i valori (cioè i dati)variabile nel tempo
Sistemi per BD >> Concetto di Modello >> Schema e Istanza
Matricola Cognome Nome Data di nascita6554 Pinco Pallino 05/12/19788765 Neri Paolo 03/11/1976
3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979
studenti
38G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Schemi di un DBMS
Schema logicodescrizione delle strutture secondo cui i dati
sono organizzati nel modello logico (es: tabelle)
Schema fisicodescrizione delle strutture secondo cui i dati
sono memorizzati su disco Schema esterno
relativo alla gestione della sicurezza
Sistemi per BD >> Concetto di Modello >> Schema e di Istanza
39G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Schemi Esterni
Non tutti gli utenti hanno gli stessi privilegi Schema esterno per un utente: porzione della
base di dati che l’utente è autorizzato a vedere Viste: strumento attraverso cui si definisce lo
schema esterno >> Es: base di dati comunale dei cittadini
tabella “cittadino”, attributo “imponibile a fini fiscali”vista “cittadinoSenzaDatiFiscali”
Sistemi per BD >> Concetto di Modello >> Schema e di Istanza
40G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Architettura Standard a Tre Livelli
Sistemi per BD >> Concetto di Modello >> Schema e di Istanza
BD
Schema logico
Schemaesterno
Schema fisico
Schemaesterno
Schemaesterno
applicazione applicazione utente applicazione utente
41G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Linguaggio per Basi di Dati
Sintassi e semantica per richiedere servizi al DBMS
Ogni modello ha i suoi linguaggi DBMS relazionali: SQL-92, QBE DBMS a oggetti: OQL DBMS relazionali a oggetti: SQL-99 XML: XPath, XQuery
Sistemi per BD >> Concetto di Modello >> Linguaggio per Basi di Dati
42G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
SQL: Un esempio
SELECT Matricola, Cognome, AVG(Voto)FROM Studenti, EsamiWHERE Matricola = StudenteGROUP BY Matricola, Cognome
Matricola Cognome AVG(voto)6554 Pinco 268765 Neri 283456 Rossi 27
Sistemi per BD >> Concetto di Modello >> Linguaggio per Basi di Dati
43G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Indipendenza
E’ la caratteristica fondam. dei DBMS Indipendenza dei dati rispetto alla
applicazioni Indipendenza dello schema logico rispetto
allo schema fisico Indipendenza degli schemi esterni rispetto
allo schema logico
Sistemi per BD >> Concetto di Indipendenza dei Dati
44G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
DBMS e Indipendenza
Vantaggicentralizzazione dei servizisemplificazione delle applicazioniflessibilità nella manutenzione
Svantaggicomplessità dell’architetturacostiminore modularità
Sistemi per BD >> Concetto di Indipendenza dei Dati
45G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Sommario
IntroduzioneSistema Informativo e Sistema Informatico
DBMS Modello logico e modello fisico
Panoramica sui modelliSchema e IstanzaLinguaggi per basi di dati
Indipendenza dei dati
Sistemi per BD >> Sommario
46G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Ringraziamenti
Ringraziamenti
Questa lezione è basata sul materiale didattico predisposto dal Prof. Paolo Atzeni ([email protected]) per il suo corso di Basi di Dati