Basi di Dati

46
G. Mecca – [email protected] – Università della G. Mecca – [email protected] – Università della Basilicata Basilicata Basi di Dati Sistemi per Basi di Dati: Introduzione versione 2.0

description

Basi di Dati. Sistemi per Basi di Dati: Introduzione. versione 2.0. Sistemi per BD >> Sommario. Sommario. Introduzione Sistema Informativo e Sistema Informatico Definizione di DBMS Modello logico e modello fisico Panoramica sui modelli Schema e Istanza Linguaggi per basi di dati - PowerPoint PPT Presentation

Transcript of Basi di Dati

Page 1: Basi di Dati

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

Page 2: Basi di Dati

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

Page 3: Basi di Dati

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

Page 4: Basi di Dati

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

Page 5: Basi di Dati

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

Page 6: Basi di Dati

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

Page 7: Basi di Dati

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

Page 8: Basi di Dati

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

Page 9: Basi di Dati

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

Page 10: Basi di Dati

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

Page 11: Basi di Dati

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

Page 12: Basi di Dati

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

Page 13: Basi di Dati

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

Page 14: Basi di Dati

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

Page 15: Basi di Dati

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

Page 16: Basi di Dati

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

Page 17: Basi di Dati

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

Page 18: Basi di Dati

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

Page 19: Basi di Dati

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

Page 20: Basi di Dati

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

Page 21: Basi di Dati

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

Page 22: Basi di Dati

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

Page 23: Basi di Dati

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

Page 24: Basi di Dati

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

Page 25: Basi di Dati

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

Page 26: Basi di Dati

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

Page 27: Basi di Dati

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

Page 28: Basi di Dati

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

Page 29: Basi di Dati

29G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

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

Page 30: Basi di Dati

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

Page 31: Basi di Dati

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

Page 32: Basi di Dati

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

Page 33: Basi di Dati

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

Page 34: Basi di Dati

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

Page 35: Basi di Dati

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)

Page 36: Basi di Dati

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

Page 37: Basi di Dati

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

Page 38: Basi di Dati

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

Page 39: Basi di Dati

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

Page 40: Basi di Dati

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

Page 41: Basi di Dati

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

Page 42: 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

Page 43: 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

Page 44: Basi di 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

Page 45: Basi di 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

Page 46: Basi di Dati

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