G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per Basi di Dati:...

Post on 01-May-2015

227 views 2 download

Transcript of G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per Basi di Dati:...

G. Mecca – mecca@unibas.it – Università della BasilicataG. Mecca – mecca@unibas.it – Università della Basilicata

Basi di Dati

Sistemi per Basi di Dati:

Introduzione

versione 2.0

2G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Problemi ed Esigenze

Dimensioni dei dati Efficienza Condivisione dell’accesso

ridondanza Affidabilità Sicurezza

Sistemi per BD >> Introduzione >> Sistema Informativo

14G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Figure Coinvolte

Base di Dati

applicazioniapplicazioni

DBMSDBMS

utenti finaliutenti finali

amministratoriamministratori

programmatoriprogrammatoriapplicativiapplicativiutentiutenti

casualicasuali

Sistemi per BD >> Concetto di DBMS

21G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Sistemi per BD >> Concetto di Modello >> Panoramica sui Modelli

30G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Ringraziamenti

Ringraziamenti

Questa lezione è basata sul materiale didattico predisposto dal Prof. Paolo Atzeni (atzeni@dia.uniroma3.it) per il suo corso di Basi di Dati