Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o...

62
+ CdL Economia A.A. 2012/2013 Cenni su Basi di Dati Laboratorio di Informatica Domenica Sileo Università degli Studi della Basilicata

Transcript of Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o...

Page 1: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+

CdL Economia A.A. 2012/2013 Cenni su Basi di Dati

Laboratorio di Informatica

Domenica Sileo Università degli Studi della Basilicata

Page 2: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Sommario

n Introduzione n Sistema Informativo n Database Management System (DBMS) n Modello dei Dati n Progettare una base di dati n Tipologie di DBMS n Panoramica sui DBMS Relazionali n Database vs foglio Elettronico

D. Sileo A.A 2012/2013

2 Cenni su Basi di Dati >> Basi di Dati: Sommario

Page 3: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Introduzione

n Oggetto della lezione n Sistemi di Gestione di Basi di Dati o

“Database Management Systems” (DBMS) n Sono tipicamente utilizzati nelle

organizzazioni complesse n molti dati da gestire n processi complessi n i dati sono cruciali per lo svolgimento delle

attività

D. Sileo A.A 2012/2013

3 Cenni su Basi di Dati >> Basi di Dati : Introduzione

Page 4: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Introduzione

n In particolare n i DBMS sono una componente fondamentale

del sistema informatico di una grande organizzazione

n Un sistema informatico è una componente fondamentale del sistema informativo n ed una componente fondamentale del

sistema organizzativo

D. Sileo A.A 2012/2013

4 Cenni su Basi di Dati >> Basi di Dati : Introduzione

Page 5: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Introduzione

n Organizzazione complessa (es: azienda, banca, ente pubblico, … ma anche fantacalcio…) è dotata di un sistema organizzativo e informativo

n Sistema Organizzativo n complesso delle strutture, delle regole e

delle procedure che regolano lo svolgimento delle attività

n Es: banca – regolamento apertura c/c n Es: anagrafe – procedure per la reg. nascite

D. Sileo A.A 2012/2013

5 Cenni su Basi di Dati >> Basi di Dati : Introduzione

Page 6: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Sistema Informativo

n Sistema informativo n la parte del sistema organizzativo che presiede ai

processi di raccolta, conservazione e utilizzo delle informazioni

n L’esistenza del sistema informativo è in parte indipendente dalla sua automatizzazione

n esistono ancor prima dei calcolatori elettronici (es. archivi delle banche)

n Esempi n banca – registrazione prelievi su c/c, emissione

estratto conto; anagrafe – registrazione nascita emissione certificato di nascita

D. Sileo A.A 2012/2013

6 Cenni su Basi di Dati >> Basi di Dati : Sistema Informativo

Page 7: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Sistema Informatico

n Sistema informatico n la porzione informatizzata e automatizzata del

sistema informativo n Collezione di applicazioni che gestiscono i

dati e i flussi informativi n In pratica, in molti casi: n sistema informativo = sistema informatico n ma non è sempre così

D. Sileo A.A 2012/2013

7 Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico

Page 8: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Sistema Informatico

n Informazione n notizia, dato o elemento che consente di

avere conoscenza più o meno esatta di fatti, situazioni, modi di essere

n Dato n ciò che è immediatamente presente alla

conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati

D. Sileo A.A 2012/2013

8 Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico

Page 9: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Sistema Informatico

n I dati devono essere interpretati per diventare informazioni (conoscenza) n Esempio: 1 3 10 12 17 20 21 30

n Risultati del Totogol concorso 28 del 3 marzo 2002 n 1 3 10 12 17 20 21 30

Quote 8pt: € 215.594,00

D. Sileo A.A 2012/2013

9 Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico

Page 10: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Basi di Dati

n È una collezione di dati utilizzati per rappresentare le informazioni di interesse per un sistema informatico

n Osservazione n i dati hanno caratteristiche più stabili rispetto

a quelle delle procedure che operano su di essi, e quindi costituiscono una “risorsa” per l’organizzazione che li gestisce

D. Sileo A.A 2012/2013

10 Cenni su Basi di Dati >> Basi di Dati : Definizione

Page 11: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Basi di Dati

n obiettivo dei DBMS: il trattamento dei dati per ottenere informazione

D. Sileo A.A 2012/2013

11

Organizzazione complessa (es: azienda) Sistema organizzativo

Sistema informativo

Sistema informatico

DBMS

Struttura a livelli

Cenni su Basi di Dati >> Basi di Dati : Definizione

Page 12: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Sistema informatico

n I sistemi informatici n sono presto stati considerati fondamentali

nelle grandi organizzazioni n Esistono da prima che esistessero i DBMS n Erano basati su un’architettura diversa

rispetto a quella attuale

D. Sileo A.A 2012/2013

12 Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico

Page 13: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Sistema informatico

n Architettura tradizionale: applicazioni e file per memorizzare i dati in modo persistente sulla memoria di massa

D. Sileo A.A 2012/2013

13 Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico

Applicazione n.3 Es: erogazione contr.

Applicazione n.2 Es: certif. elettorali

Applicazione n.1 Es: dati nascite

Disco

File A

File B

File C

Page 14: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Sistema informatico

n Un file consente di memorizzare e ricercare dati, ma fornisce solo semplici meccanismi di accesso e condivisione

n Nelle applicazioni le procedure scritte in un linguaggio di programmazione sono completamente autonome n Ciascuna di esse definisce e utilizza uno o più file

privati n Eventuali dati di interesse per più programmi

vengono replicati tante volte per quanti programmi li utilizzano

D. Sileo A.A 2012/2013

14 Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico

Page 15: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Sistema informatico

n Problemi principali di questa architettura n dimensioni dei dati n efficienza n condivisione dell’accesso (ridondanza) n affidabilità n sicurezza

D. Sileo A.A 2012/2013

15 Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico

Page 16: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Esempio: Informazioni dei docenti

n Ufficio del personale n Gestione carriera

n Presidenze di facoltà n Incarichi di insegnamento

n Web ateneo n Informazioni dei corsi e dei docenti

n Ufficio Stipendi n Informazioni sulla carriera e sugli incarichi

didattici per le retribuzioni

D. Sileo A.A 2012/2013

16 Cenni su Basi di Dati >> Basi di Dati : Sistema Informativo

Page 17: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Database Management System (DBMS) n Architettura basata su DBMS: gestisce in modo

integrato e flessibile le informazioni di interesse per diversi soggetti limitando i rischi di ridondanza e incoerenza

17

Appl. n.2

Appl. n.1

Base di Dati (dati)

DBMS (servizi)

Cenni su Basi di Dati >> Basi di Dati : DBMS

Page 18: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Database Management System (DBMS) n Sistema per gestire grandi collezioni di dati

persistenti n in modo n Efficiente n Efficace

n garantendo servizi di: n Condivisione n Affidabilità n Sicurezza e privatezza

D. Sileo A.A 2012/2013

18 Cenni su Basi di Dati >> Basi di Dati : DBMS

Page 19: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Database Management System (DBMS)

n Grandi n possono avere dimensioni enormi e comunque molto

maggiori della memoria centrale disponibile n Devono prevedere la gestione in memoria secondaria

n Condivise n Diverse applicazioni e utenti devono poter accedere a

dati comuni n Si riduce la ridondanza dei dati (evitando ripetizioni) e

si riduce la possibilità di inconsistenza n Si dispone di meccanismi per la gestione della

concorrenza D. Sileo A.A 2012/2013

19 Cenni su Basi di Dati >> Basi di Dati : DBMS

Page 20: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Database Management System (DBMS) n Persistenti n Hanno un tempo di vita che non è limitato a

quello delle singole esecuzioni dei programmi che le utilizzano

n Affidabilità n Capacità del sistema di conservare il

contenuto delle basi di dati anche in caso di guasti

n Garantiscono funzionalità di salvataggio e ripristino (recupero dei dati in caso di guasti)

D. Sileo A.A 2012/2013

20 Cenni su Basi di Dati >> Basi di Dati : DBMS

Page 21: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Database Management System (DBMS) n Sicurezza e Privatezza n Ciascun utente viene abilitato a svolgere

soltanto alcune azioni sui dati attraverso dei meccanismi di autorizzazione

n Esempio: n l’accesso ai dati dei cittadini è protetto agli

utenti non autorizzati n gli utenti autorizzati (impiegati) hanno diversi

livelli di autorizzazione

D. Sileo A.A 2012/2013

21 Cenni su Basi di Dati >> Basi di Dati : DBMS

Page 22: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Database Management System (DBMS) n Caratteristiche del DBMS n efficienza, efficacia

n Efficienza n utilizzo di risorse di calcolo (tempo e spazio)

accettabile per gli utenti n relativa alla complessità dei servizi

n Efficacia n Rendono produttive le attività dei loro utenti n centralizzazione dei servizi n semplicità della scrittura di applicazioni

D. Sileo A.A 2012/2013

22 Cenni su Basi di Dati >> Basi di Dati : DBMS

Page 23: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+ 23

Base di Dati

applicazioni

DBMS

utenti finali

amministratori

programmatori applicativi utenti

casuali

Cenni su Basi di Dati >> Basi di Dati : DBMS

Database Management System (DBMS)

D. Sileo A.A 2012/2013

Page 24: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Database Management System (DBMS) n Alcuni esempi di DBMS n varie categorie di licenza

n Commerciali, Fascia alta n IBM DB2, Oracle, Microsoft SQL Server, Sybase

n Commerciali, Fascia bassa n Microsoft Access, FileMaker

n Open Source n MySQL (www.mysql.com) n PostgreSQL (www.postgresql.org)

D. Sileo A.A 2012/2013

24 Cenni su Basi di Dati >> Basi di Dati : DBMS

Page 25: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Modello dei Dati

n Come fanno le applicazioni e gli utenti a interagire con il DBMS ? n devono conoscere l’organizzazione dei dati n devono sapere come comunicare con il DBMS

n Devono conoscere: n Il modello dei dati del DBMS n Il linguaggio del DBMS

D. Sileo A.A 2012/2013

25 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Modello dei dati

Page 26: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Modello dei Dati

n Il modello dei dati rappresenta l’insieme di strutture e di regole per la rappresentazione delle informazioni e per renderle comprensibili ad un elaboratore

n Modello logico dei dati n astrazione per il programmatore ma riflettono

una particolare organizzazione (per es. tabelle, a grafi, ad alberi, etc..)

n Modello fisico dei dati n al livello della macchina

D. Sileo A.A 2012/2013

26 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Modello dei dati

Page 27: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Modello dei Dati

n Ogni modello fornisce dei meccanismi di strutturazione

n Esempi di modello logico n In linguaggio C: tipi base, array, strutture,

puntatori n In linguaggio Java: tipi base, array, classi,

oggetti, ereditarietà n Esempi di modello fisico n strutture per la rappresentazione dei bit

(registri della memoria, file su disco)

D. Sileo A.A 2012/2013

27 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Modello dei dati

Page 28: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Modello dei Dati

n Ogni DBMS è basato su precisi modelli n Modello logico n descrizione dei dati visibili alle applicazioni

n Modello fisico n strutture per la gestione della persistenza su

disco

D. Sileo A.A 2012/2013

28 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Modello dei dati

Page 29: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Progettare una base di dati

n Problema affrontato: voglio organizzare le informazioni relative una certa realtà in un DB

n voglio mantenere informazioni su quali studenti hanno sostenuto quali esami e con quale risultato

n quindi mettere in relazione le informazioni relative agli studenti e quelle relative ai corsi

D. Sileo A.A 2012/2013

29 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione

Page 30: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Progettare una base di dati

n Problema affrontato: voglio organizzare le informazioni relative una certa realtà…

D. Sileo A.A 2012/2013

30 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione

Page 31: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Progettare una base di dati

n Data una realtà da modellare (es. studenti e corsi) occorre capire quali informazioni sono utili (es. “matricola” è utile per rappresentare gli studenti)

n Capire come le informazioni utili sono correlate (es. chi ha sostenuto quale esame)

n Sapere chi può accedere a quali informazioni per eseguire quali azioni

n Avere strumenti per operare interrogazioni sui dati (es. quanti esami ha sostenuto Rossi nel 2002? Con quale media?)

D. Sileo A.A 2012/2013

31 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione

Page 32: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Progettare una base di dati

n  Data una realtà da modellare (es. studenti e corsi) occorre capire quali informazioni sono utili (es. “matricola” è utile per rappresentare gli studenti)

n Capire come le informazioni utili sono correlate (es. chi ha sostenuto quale esame)

n Sapere chi può accedere a quali informazioni per eseguire quali azioni

n Avere strumenti per operare interrogazioni sui dati (es. quanti esami ha sostenuto Rossi nel 2002? Con quale media?)

D. Sileo A.A 2012/2013

32 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione

Page 33: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Progettare una base di dati

n Analisi dei Requisiti n Raccolta e studio delle funzionalità che il

sistema dovrà avere n Comporta l’interazione con gli utenti del

sistema e si conclude in una descrizione informale dei suoi requisiti

D. Sileo A.A 2012/2013

33 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione

Descrizione informale

Analisi dei requisiti

Page 34: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Progettare una base di dati

n Analisi Concettuale n Ha lo scopo di rappresentare la realtà di

interesse in termini di una descrizione precisa e completa ma indipendente dai criteri di rappresentazione usati dal sistema informatico scelto per gestire la base di dati (rappresentazione astratta ) → modello entity-relation

D. Sileo A.A 2012/2013

34 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione

Page 35: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Progettare una base di dati

n Progettazione logica n Ha lo scopo di rappresentare la realtà di

interesse in termini di una descrizione ancora indipendente dai dettagli fisici ma concreta, in quanto presente nei sistemi di gestioni delle basi di dati n Lo schema concettuale definito nella fase

precedente viene tradotto nello schema logico → modello relazionale

D. Sileo A.A 2012/2013

35 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione

Schema Logico Progettazione Logica

Page 36: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Progettare una base di dati

n Progettazione fisica n Lo schema logico viene completato con le

specifica dei parametri fisici di memorizzazione dei dati (organizzazione dei file e degli indici)

n Si definisce lo schema fisico dei dati che dipende dal sistema di gestione di basi di dati scelto

D. Sileo A.A 2012/2013

36 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione

Schema Fisico Progettazione fisica

Page 37: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Progettare una base di dati

n Progettazione fisica n Lo schema logico viene completato con le

specifica dei parametri fisici di memorizzazione dei dati (organizzazione dei file e degli indici)

n Si definisce lo schema fisico dei dati che dipende dal sistema di gestione di basi di dati scelto

D. Sileo A.A 2012/2013

37 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione

Page 38: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Modello dei Dati

38

Disco (file)

Schema fisico DBMS Appl. n.2

Appl. n.1

Schema logico

es: struttura delle tabelle o delle classi

strategia di memorizz. (struttura dei file)

Cenni su Basi di Dati >> Basi di Dati : DBMS >> Modello dei dati

D. Sileo A.A 2012/2013

Page 39: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Tipologie di DBMS

n I DBMS n si differenziano rispetto al modello che

utilizzano per la descrizione delle basi di dati n Le principali categorie n DBMS relazionali – la categoria tradizionale n DBMS a oggetti n DBMS basati su XML

D. Sileo A.A 2012/2013

39 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS

Page 40: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Tipologie di DBMS

n DBMS relazionali n i dati sono organizzati in “tabelle” (relazioni) n la tabella è un insieme di “record” (ennuple) n con un insieme di attributi n di tipi opportuni (numeri, stringhe, date…) n i dati in tabelle diverse sono correlati sulla

base dei valori n Modello Fisico n file, pagine e record (proprietario)

D. Sileo A.A 2012/2013

40 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS

Page 41: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+ 41

Matricola Cognome Nome Data di nascita

6554 Pinco Pallino 05/12/1978

8765 Neri Paolo 03/11/1976

3456 Rossi Maria 01/02/1978

9283 Verdi Luisa 12/11/1979

studenti

Codice Titolo Docente

01 Analisi Sempronio

02 Chimica Bruni

04 Chimica Verdi

corsi

Studente Voto Corso

3456 30 04

3456 24 02

9283 28 01

esami

6554 26 01

Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS

D. Sileo A.A 2012/2013

Page 42: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Tipologie di DBMS

n DBMS relazionali a oggetti n sono un compromesso tra DBMS relazionali e

DBMS a oggetti n I dati sono organizzati in tabelle… ma n Limitate funzionalità per la definizione di tipi

(classi) n Limitate funzionalità per la definizione di

oggetti (identificatori) n Limitate funzionalità per la creazione di

gerarchie

D. Sileo A.A 2012/2013

42 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS

Page 43: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Tipologie di DBMS

n DBMS basati su XML n i dati sono organizzati in strutture

gerarchiche (alberi) n ogni albero ha un insieme di nodi

(elementi) n oggetti diversi sono correlati sulla base di

relazioni di contenimento n Modello Fisico n vari possibili modelli n standard: file di testo basato su marcatori

D. Sileo A.A 2012/2013

43 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS

Page 44: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+ 44

studenti

studente studente studente

cognome nome matricola dataNascita esamiSost

esame esame

6554 Pinco Pallino 5/12/1978

… …

corso

codice titolo

01

docente

voto

Analisi Sempronio

26

Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS

Page 45: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+<xml version=“1.0” ?> <studenti> <studente> <matricola>6554</matricola> <cognome>Pinco</cognome>

<nome>Pallino</nome> <dataDiNascita>15/12/1978</dataDiNascita>

<esamiSostenuti> <esame> <corso> <codice>01</codice>

<titolo>Analisi</titolo> <docente>Giacomo</docente> <voto>26</voto> </corso> </esame>

... </studenti>

D. Sileo A.A 2012/2013

dire%va  standard  

elem

en.  

Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS

Page 46: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Panoramica sui DBMS Relazionali

n Che cosa deve conoscere del modello lo sviluppatore dell’applicazione?

n Schema e istanza n il modello logico (e non il modello fisico) n la struttura dei dati e non necessariamente i

dati veri e propri n In altri termini n lo “schema” n e non necessariamente l’istanza

D. Sileo A.A 2012/2013

46 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali

Page 47: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Panoramica sui DBMS Relazionali

n Lo schema (componente intensionale) n descrizione della struttura - stabile nel tempo

n L’istanza (componente estensionale) n i valori (cioè i dati) - variabile nel tempo

D. Sileo A.A 2012/2013

47 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali

Matricola Cognome Nome Data di nascita

6554 Pinco Pallino 05/12/1978

8765 Neri Paolo 03/11/1976

3456 Rossi Maria 01/02/1978

9283 Verdi Luisa 12/11/1979

studenti

Schema Studenti

Matricola

Cognome

Nome

Data di nascita

Record

Campo

Page 48: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Panoramica sui DBMS Relazionali

n  I dati vengono strutturati in tabelle, in particolare un dbms relazionale può essere pensato come un insieme di tabelle

n Ogni tabella mantiene informazioni di tipo omogeneo

n Diverse tabelle sono collegate (in relazione) fra loro grazie alla presenza di un campo comune, che permette di mettere in relazione i dati delle due tabelle

D. Sileo A.A 2012/2013

48 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali

Page 49: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Panoramica sui DBMS Relazionali

n I dati vengono inseriti in tabelle seguendo una certa struttura logica

n Come modificare la struttura?: Inserire nuovi record, inserire nuovi campi in un record

n Come aggiornare i contenuti?: modificare i valori di una cella etc…

n Di solito esistono dei vincoli che devono essere rispettati nella base di dati n Un aggiornamento sia di struttura che di contenuto

deve rispettare questi vincoli n Quando i vincoli sono rispettati si dice che la base di

dati è consistente

D. Sileo A.A 2012/2013

49 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali

Page 50: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Panoramica sui DBMS Relazionali

n Quali vincoli? n sul dominio di valori che può assumere una certa

informazione (campo) n es.: banca dati dell’Università → i voti devono essere

compresi tra 0 e 30 n Sull’unicità dei valori

n ogni studente deve avere un numero di matricola diverso dall’altro

n vincoli che fra informazioni correlate n es. anagrafe: i dati relativi al coniuge sono presenti

solo se la persona è sposata

D. Sileo A.A 2012/2013

50 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali

Page 51: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Panoramica sui DBMS Relazionali

n Schema logico n descrizione dell’intera base di dati per mezzo del

modello logico adottato (strutture secondo cui i dati sono organizzati nel modello logico, es. tabelle)

n Schema fisico (o interno) n  rappresentazione dello schema logico per mezzo di

strutture fisiche di memorizzazione (es. relazione realizzata fisicamente per mezzo di un file sequenziale)

n Schema esterno n Costituisce la descrizione di una porzione della base

di dati di interesse, per mezzo del modello logico n  relativo alla gestione della sicurezza

D. Sileo A.A 2012/2013

51 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali

Page 52: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Panoramica sui DBMS Relazionali

n Non tutti gli utenti hanno gli stessi privilegi n Schema esterno per un utente: porzione

della base di dati che l’utente è autorizzato a vedere

n Viste: strumento attraverso cui si definisce lo schema esterno

n Es: base di dati comunale dei cittadini n tabella “cittadino”, attributo “imponibile a

fini fiscali” n vista “cittadinoSenzaDatiFiscali”

D. Sileo A.A 2012/2013

52 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali

Page 53: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Architettura Standard a Tre Livelli

D. Sileo A.A 2012/2013

53 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali

BD

Schema logico

Schema esterno

Schema fisico

Schema esterno

Schema esterno

applicazione applicazione utente applicazione utente

L’architettura a livelli garantisce l’indipendenza dei dati

Page 54: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Panoramica sui DBMS Relazionali

n Il concetto di indipendenza dei dati è la caratteristica fondamentale dei DBMS

n Permette a utenti e applicativi di interagire ad un elevato livello di astrazione

n Può essere caratterizzata ulteriormente: n indipendenza dei dati rispetto alle

applicazioni n indipendenza dello schema logico rispetto

allo schema fisico n indipendenza degli schemi esterni rispetto

allo schema logico

D. Sileo A.A 2012/2013

54 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali

Page 55: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Panoramica sui DBMS Relazionali

n Su un DBMS è possibile specificare operazioni di vario tipo, in particolare quelle relative a schemi e istanze

n È possibile distinguere due categorie: n  DDL (Data Definition Language) utilizzati per definire gli

schemi logici, esterni e fisici e le autorizzazioni per l’accesso

n  DML (Data Manipulation Language) utilizzati per l’interrogazione e l’aggiornamento delle istanze

n Ogni modello ha i suoi linguaggi n Per esempio nei db relazioni: SQL-92

D. Sileo A.A 2012/2013

55 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali

Page 56: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+SQL: Un esempio

D. Sileo A.A 2012/2013

56 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali

SELECT Matricola, Cognome, AVG(Voto) FROM Studenti, Esami WHERE Matricola = Studente GROUP BY Matricola, Cognome

Matricola Cognome AVG(voto)

6554 Pinco 26

8765 Neri 28

3456 Rossi 27

Lista degli Attributi

Lista delle Tabelle

Condizione

Clausula

Page 57: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Panoramica sui DBMS Relazionali

n Vantaggi n Permettono di considerare i dati come una risorsa

comune di una organizzazione a disposizione di tutte le sue componenti

n È possibile la centralizzazione dei servizi n La condivisione permette di ridurre ridondanze e

inconsistenze n L’indipendenza dei dati favorisce lo sviluppo di

applicazioni più flessibili e facilmente modificabili n Svantaggi

n complessità dell’architettura n costi

D. Sileo A.A 2012/2013

57 Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali

Page 58: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Database vs Fogli elettronici

n Considerazione: n un programma di foglio elettronico come

Excel ha diverse funzioni uguali a quelle di un DBMS n permette di organizzare dati in tabelle MA

gli obiettivi sono diversi e di conseguenza emergono delle differenze

n Quali?

D. Sileo A.A 2012/2013

Cenni su Basi di Dati >> Basi di Dati >> Database vs Fogli Elettronici

Page 59: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Database vs Fogli elettronici

n Un DBMS è pensato per trattare in modo facile GRANDI quantità di dati, organizzati in tabelle dalla STRUTTURA rigida e mi interessa fare solo operazioni di archiviazione e consultazione

n Un foglio elettronico è pensato per trattare quantità di dati più piccole, con struttura più flessibile (creo le tabelle come voglio) e il focus è sulle operazioni di elaborazione e analisi dei dati, non tanto sull’archiviazione e recupero

D. Sileo A.A 2012/2013

Cenni su Basi di Dati >> Basi di Dati >> Database vs Fogli Elettronici

Page 60: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Database vs Fogli elettronici

n Nel caso dei fogli elettronici ho maggior flessibilità nell’organizzazione dei dati → es. possiamo organizzare gli elementi per righe ma anche per colonne, destinare liberamente le celle a contenere un certo risultato etc

n Nel caso dei database nei record di una tabella i campi si succedono tutti con la stessa struttura

n Collaborazione dei due tipi di programmi per elaborare in modo sofisticato grandi quantità di dati: n  il DBMS accede all’archivio dei dati, n  il foglio elettronico elabora i dati reperiti

D. Sileo A.A 2012/2013

Cenni su Basi di Dati >> Basi di Dati >> Database vs Fogli Elettronici

Page 61: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Sommario

n Introduzione n Sistema Informativo n Database Management System (DBMS) n Modello dei Dati n Tipologie di DBMS n Panoramica sui DBMS Relazionali n Database vs foglio elettronico n Ringraziamenti

n Parte del materiale di questa lezione è stato sviluppato a partire dalle lezioni della Dott.ssa Anna Vicari

D. Sileo A.A 2012/2013

61 Cenni su Basi di Dati >> Basi di Dati: Sommario

Page 62: Laboratorio di Informatica€¦ · Oggetto della lezione ! Sistemi di Gestione di Basi di Dati o “Database Management Systems” (DBMS) ! Sono tipicamente utilizzati nelle organizzazioni

+Termini della Licenza

n This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

n Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

D. Sileo A.A 2012/2013

62 Cenni su Basi di Dati >> Basi di Dati: Termini della licenza