INFORMATICA GENERALE Prof. Alberto Postiglione Scienze ...dsc.unisa.it/alberto/alberto/11-12/ig -...

26
INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno 2.1b: DB e DBMS

Transcript of INFORMATICA GENERALE Prof. Alberto Postiglione Scienze ...dsc.unisa.it/alberto/alberto/11-12/ig -...

INFORMATICA GENERALE

Prof. Alberto Postiglione

Scienze della Comunicazione

Università degli Studi di Salerno

2.1b: DB e DBMS

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 2

T i di if iTesti di riferimento Atzeni Ceri Paraboschi Torlone Atzeni, Ceri, Paraboschi, Torlone

“Basi di Dati – Modelli e linguaggi di interrogazione”Mc Graw Hill – 2008 (III Edizione)

Altri testi di consultazione e approfondimento sui DBMS: Elmasri Navathe Elmasri, Navathe

“Sistemi di Basi di Dati: Fondamenti”Pearson Education Italia, 2007 (V Edizione)

INFORMATICA GENERALE

Prof. Alberto Postiglione

Scienze della Comunicazione

Università degli Studi di Salerno

SISTEMI INFORMATIVI, INFORMAZIONI E DATI

A i 1 1Atzeni, cap. 1.1

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 4

Si i f iSistema informativo Per lo svolgimento di una qualsiasi attività sia individuale che Per lo svolgimento di una qualsiasi attività sia individuale che

collettiva sono essenziali• Disponibilità di informazioni• Disponibilità di informazioni• Capacità di gestirle in modo efficace

Un Sistema Informativo permette di organizzare e gestire le i f i iinformazioni

Un Sistema Informativo non è necessariamente automatizzato• i Sistemi Informativi esistono da molto prima della invenzione dei p

computer• Esistono organizzazioni la cui ragion d’essere è la gestione di

informazioni (p. es. servizi anagrafici e banche) e che operano da secoli.

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 5

Si i f i i i f iSistema informativo e sistema informatico La parte automatizzata di un Sistema Informativo è La parte automatizzata di un Sistema Informativo è

detta Sistema Informatico Attualmente gran parte dei sistemi informativi sono

anche sistemi informatici, a causa della diffusione ,dell’informatica

Sistema aziendaSistema azienda

Sistema organizzativo

Sistema informativo

Sistema informatico

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 6

R i d ll’i f iRappresentazione dell’informazione

Nelle atti ità mane più semplici le informazioni Nelle attività umane più semplici, le informazioni vengono rappresentate utilizzando tecniche naturali e legate alle attività stesse:•Lingua scritta o parlataLingua scritta o parlata•Disegni e figure•Numeri•Suoni•Suoni•…

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 7

R i d ll’i f iRappresentazione dell’informazione

Nei Sistemi Informatici le informazioni engono Nei Sistemi Informatici, le informazioni vengono rappresentate per mezzo dei Dati

i quali vengono rappresentati all’interno del computer, a loro volta tramite successioni di 0 e 1loro volta, tramite successioni di 0 e 1

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 8

D i d I f i iDati ed Informazioni Da un Vocabolario della lingua italiana (“Istituto Da un Vocabolario della lingua italiana ( Istituto

dell‘Enciclopedia Italiana“, 1987)•dato: ciò che è immediatamente presente alla conoscenza,

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

• informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti situazioniavere conoscenza più o meno esatta di fatti, situazioni, modi di essere.

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 9

D i d I f i iDati ed Informazioni I Dati da soli non hanno alcun significato I Dati da soli non hanno alcun significato

•I dati sono insiemi di valori, senza interpretazione.

•“Mario Rossi” oppure “25775” da soli non dicono nullaMario Rossi oppure 25775 da soli non dicono nulla

•S i d i d i di•Se uno sconosciuto per strada mi guarda e mi dice semplicemente “15” ricevo un dato, ma non ho alcuna informazione e la mia conoscenza non aumenta (forse sorgono solo dubbi sullo stato di salute mentale dello sconosciuto)

•In un romanzo giallo, gli indizi sono dei semplici dati.

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 10

D i d I f i iDati ed Informazioni I Dati interpretati e correlati forniscono Informazione I Dati interpretati e correlati forniscono Informazione

•I dati sono una versione “grezza” dell’informazione•I dati “Mario Rossi” e “25775” in risposta alla domanda

“Nome del dipendente e suo numero di telefono” pforniscono informazione

•Se uno sconosciuto per strada mi guarda e mi dice “fra 15Se uno sconosciuto per strada mi guarda e mi dice fra 15 metri c’è una persona che regala soldi” ricevo un’informazione la mia conoscenza aumenta e forseun informazione, la mia conoscenza aumenta e forse migliora la mia situazione finanziaria (anche se probabilmente mi sorgeranno comunque dei dubbi sulloprobabilmente mi sorgeranno comunque dei dubbi sullo stato di salute mentale degli abitanti di un paese in cui si

l ldi t d )regalano soldi per strada)

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 11

D i d I f i iDati ed Informazioni•In un romanzo giallo la scoperta del colpevole avviene•In un romanzo giallo, la scoperta del colpevole avviene

“interpretando” i dati, cioè deducendo da tanti dati sconnessi (un bottone verde una penna gialla e l’abbaiaresconnessi (un bottone verde, una penna gialla e l abbaiare di un cane) fatti e situazioni.

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 12

D i A li i iDati e Applicazioni I Dati sono più stabili (duraturi) delle stesse procedure I Dati sono più stabili (duraturi) delle stesse procedure

che li gestiscono.•Frequentemente è necessario sostituire ad una procedura

un’altra più aggiornata (perché magari è cambiata la normativa).

•Migrazione dei dati: La nuova versione della proceduraMigrazione dei dati: La nuova versione della procedura utilizza i dati esistenti che quindi devono “migrare” dalla precedenteprecedente.

•Dati “più importanti” delle procedurel Dati sono una “risorsa” importante per l’organizzazione

che li gestisce.g Essi sono un patrimonio significativo da proteggere.

INFORMATICA GENERALE

Prof. Alberto Postiglione

Scienze della Comunicazione

Università degli Studi di Salerno

BASI DI DATI E SISTEMI DI GESTIONE DI BASI DI DATI

A i 1 2Atzeni, cap. 1.2

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 14

G i d i D i DBMSGestione dei Dati senza DBMS Approccio convenzionale alla gestione dei dati: in Approccio convenzionale alla gestione dei dati: in

assenza di un software specifico (il DBMS), la gestione d i d i è ffid i i i i i idei dati è affidata ai programmi scritti con i comunilinguaggi di programmazione (Cobol, C, C++, Java)

Con l’approccio convenzionale, il programmatore •memorizza i dati in “files” sulla memoria di massa•memorizza i dati in files” sulla memoria di massa.

•Un file consente di memorizzare e ricercare i dati, ma offre meccanismi primitivi di accesso e di condivisionemeccanismi primitivi di accesso e di condivisione

•crea un programma per ogni “operazione” da fare••I programmi sono autonomi e indipendenti gli uni dagli altri,

cioè ciascuno di essi definisce e utilizza uno o più files “privati”• l i i i h•I dati vengono replicati tante volte quanti sono i programmi che

li utilizzano (con problemi di ridondanza e incoerenza)

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 15

G i d i D i / DBMSGestione dei Dati senza/con DBMS

SenzaSenza DBMS

PROGRAMMA 1 PROGRAMMA 2 PROGRAMMA 3

ConDBMS

DATA BASE MANAGEMENT SYSTEM

DBMSArchivio AArchivio BArchivio CArchivio DArchivio DArchivio E

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 16

DB DBMSDB e DBMSBASE DI DATI (DB=Database)BASE DI DATI (DB=Database)

collezione di dati (tipicamente molto corposa)•memorizzati in un computer•organizzati in forma strutturataorganizzati in forma strutturata•condivisi tra più utenti (anche migliaia) e da questi

ibiliaccessibili contemporaneamentesui quali è possibile operare efficientemente ricerche e q p paggiornamenti

DBMS (Data Base Management System)DBMS (Data Base Management System) Software che permette di gestire un Database (es.:

memorizzare, cancellare, interrogare in modo efficiente e semplice i dati)

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 17

D B M S (DBMS)DataBase Management System (DBMS) Prodotti software (complessi) disponibili sul mercato; Prodotti software (complessi) disponibili sul mercato;

esempi:•Access•DB2•Oracle•I f i•Informix•Sybase•SQLServer

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 18

D B M S (DBMS)DataBase Management System (DBMS) Più formalmente: Un DBMS è un Sistema Software che Più formalmente: Un DBMS è un Sistema Software che

gestisce collezioni di dati: •Grandi•Condivise•Persistenti

dgarantendo•Affidabilità•Privatezza•Efficienza•Efficienza•Efficacia

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 19

L B i di D i diLe Basi di Dati sono … grandi Il DB è di dimensioni molto maggiore della memoria Il DB è di dimensioni molto maggiore della memoria

centrale dei sistemi di calcolo utilizzati •i dati devono quindi essere gestiti in memoria di massa

il limite è solo quello fisico dei dispositivi

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 20

L B i di D i di iLe Basi di Dati sono ... condivise Il DB è condiviso cioè applicazioni e utenti diversi Il DB è condiviso, cioè applicazioni e utenti diversi

devono poter accedere a dati comuni, anche contemporaneamente.

In questo modo •Si id l id d•Si riduce la ridondanza•Si evita l’inconsistenza. Si ha inconsistenza di dati quando

in un dato momento esistono due o più versioni di uno stesso dato che non presentano lo stesso livello di paggiornamento. •Questo si verifica quando un programma accede e aggiorna solo la Questo s ve ca qua do u p og a a accede e agg o a so o a

propria copia di un dato, lasciando inalterate le altre copie dello stesso dato.

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 21

G i d li A i C di i iGestione degli Accessi CondivisiProblematiche legate alla “condivisione”Problematiche legate alla “condivisione”

Alcune operazioni non interferiscono l’una con l’altra(es.: la lettura di un estratto conto da più parti)

Altre operazioni vanno eseguite non simultaneamente Altre operazioni vanno eseguite non simultaneamente(prelievo e deposito di denaro). In questo caso c’è un meccanismo di “blocco” di un’operazione mentre è inmeccanismo di blocco di un operazione mentre è in corso un’altra operazione critica.

Il DB può anche essere distribuito in più parti (luoghi fisicamente lontani))•Procedure per la prenotazione posti aereo (DB è composto

d i ti)dai posti)•Procedure per accesso a prelievo Bancomat

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 22

L B i di D i i iLe Basi di Dati sono ... persistenti Il DB è persistente cioè i dati hanno un tempo di vita Il DB è persistente cioè i dati hanno un tempo di vita

indipendente dalle singole esecuzioni dei programmi h li iliche li utilizzano

I dati “sopravvivono” ai processi

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 23

I DBMS i ffid bili àI DBMS garantiscono ... affidabilità Affidabilità (per le basi di dati): Affidabilità (per le basi di dati):

• resistenza a malfunzionamenti hardware e software

Il DBMS garantisce l’affidabilità dei dati cioè è capace di Il DBMS garantisce l affidabilità dei dati, cioè è capace di conservare praticamente intatto il contenuto della base di d i h i di i h d fdati, anche in presenza di guasti hardware e software.

Presenta meccanismi sofisticati di backup/recovery con i quali è possibile recuperare dati persi a seguito di guastiquali è possibile recuperare dati persi a seguito di guasti hw/sw del sistema

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 24

I DBMS i iI DBMS garantiscono ... privatezza Per ogni utente è specificato il tipo di operazione che Per ogni utente è specificato il tipo di operazione che

può effettuare (autorizzazione dell’accesso)•accesso in lettura / scrittura / eliminazione / esecuzione

Ad esempio, in un Database bancario:Ad esempio, in un Database bancario:•Un cliente può leggere il suo estratto conto, ma non

modificarlo se non tramite un’operazione di prelievomodificarlo, se non tramite un operazione di prelievo. •Un cliente non può leggere l’estratto conto di altri. •Lo sportellista può leggere e modificare solo alcuneLo sportellista può leggere e modificare solo alcune

informazioni sul conto di un cliente (non può cioè eseguire tutte le operazioni; ad esempio non puòeseguire tutte le operazioni; ad esempio non può modificare l’importo del fido assegnato).

•Il Dir tt r p ò leggere e modificare t tti i campi del•Il Direttore può leggere e modificare tutti i campi del conto.

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 25

I DBMS d bb ffi i iI DBMS debbono essere ... efficienti Il DBMS usa efficientemente le risorse disponibili Il DBMS usa efficientemente le risorse disponibili

•svolge tutte le operazioni utilizzando un insieme di risorse d ( l d ) d (ddi spazio (memoria principale e secondaria) e di tempo (di esecuzione e di risposta) che sia accettabile per gli utenti

Questa caratteristica dipende da almeno tre fattori: Questa caratteristica dipende da almeno tre fattori:•Bontà della progettazione (fattore umano)•Tecniche scelte per l’implementazione del progetto

(fattore umano legato a scelte basate sulla qualità ( g qdell’insieme di funzionalità disponibili)

•Dimensionamento adeguato del sistema informaticoDimensionamento adeguato del sistema informatico (fattore tecnologico)

Prof Alberto PostiglioneUD 2.1b

Informatica Generale (11/12)Scienze della Comunicazione – Università di SalernoDBMS: Database (DB) e DataBase Management System (DBMS) 5 ott 2011 Dia 26

I DBMS d bb ffi iI DBMS debbono essere ... efficaci Un DBMS rende produttive le attività degli utilizzatori Un DBMS rende produttive le attività degli utilizzatori,

offrendo servizi e funzionalità articolate, potenti e fl ibiliflessibili•Un DBMS mette a disposizione un insieme di strumenti p

software che rendono veloce l’accesso ai dati•questo corso è in buona parte dedicato ad illustrare come iquesto corso è in buona parte dedicato ad illustrare come i

DBMS perseguono l'efficacia