Le funzionalità di un DBMS
|
|
|
- Claudio Alfano
- 9 anni fa
- Visualizzazioni
Transcript
1 Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: Versione elettronica: DBMS.pdf Sistemi Informativi L-A
2 DBMS: principali funzionalità Le caratteristiche fondamentali di un DBMS sono 3, riassumibili dicendo che: un DBMS è un sistema software che gestisce grandi quantità di dati persistenti e condivisi La gestione di grandi quantità di dati richiede particolare attenzione ai problemi di efficienza (ottimizzazione delle richieste, ma non solo!) La persistenza e la condivisione richiedono che un DBMS fornisca dei meccanismi per garantire l affidabilità dei dati (fault tolerance), per il controllo degli accessi e per il controllo della concorrenza Diverse altre funzionalità vengono messe a disposizione per motivi di efficacia, ovvero per semplificare la descrizione dei dati, lo sviluppo delle applicazioni, l amministrazione di un DB, ecc. DBMS Sistemi Informativi L-A 2
3 Perché non i file system? Per gestire grandi quantità di dati in modo persistente e condiviso, sarebbe anche possibile fare uso dei file system, ma ciò ha una serie di inconvenienti, tra cui: Non sono disponibili i servizi aggiuntivi offerti da un DBMS I meccanismi di condivisione sono limitati, in particolare il livello di granularità è quello del file Due utenti non possono modificare contemporaneamente parti (record) diverse di uno stesso file L accesso a file condivisi richiede una descrizione degli stessi nel codice delle applicazioni, con rischi di descrizioni errate e quindi inconsistenti Per contro, la gestione dei dati mediante file system può risultare più efficiente che con un DBMS, proprio per la maggiore semplicità dei primi DBMS Sistemi Informativi L-A 3
4 Perché condividere i dati? I diversi settori in cui si articola una (grande) organizzazione e/o le diverse applicazioni hanno in comune vari dati di interesse. Pertanto la gestione integrata e la condivisione di tali dati permettono di evitare ripetizioni (ridondanza dovuta a copie multiple dello stesso dato), e quindi inutile spreco di risorse (memoria) Inoltre, la ridondanza può dar luogo a problemi di inconsistenza delle copie e, in ogni caso, comporta la necessità di propagare le modifiche, con ulteriore spreco di risorse (CPU e rete) Il settore Ordini di un azienda manifatturiera memorizza i propri dati in un file, non condiviso con gli altri settori aziendali. Ogni volta che arriva un ordine, i dati relativi devono essere trasmessi al settore Spedizioni, affinché l ordine possa essere evaso. A spedizione eseguita, i dati relativi devono essere ritrasmessi al settore Ordini nuovo ordine Ordini nuova spedizione Spedizioni DBMS Sistemi Informativi L-A 4
5 Il modello dei dati Dal punto di vista utente un DB è visto come una collezione di dati che modellano una certa porzione della realtà di interesse L astrazione logica con cui i dati vengono resi disponibili all utente definisce un modello dei dati; più precisamente: un modello dei dati è una collezione di concetti che vengono utilizzati per descrivere i dati, le loro associazioni, e i vincoli che questi devono rispettare Un ruolo di primaria importanza nella definizione di un modello dei dati è svolto dai meccanismi che possono essere usati per strutturare i dati (cfr. i costruttori di tipo in un linguaggio di programmazione) Ad es. esistono modelli in cui i dati sono descritti (solo) sotto forma di alberi (modello gerarchico), di grafi (modello reticolare) e di oggetti complessi (modello a oggetti) DBMS Sistemi Informativi L-A 5
6 Esempio: scuderie e piloti (1) nel modello gerarchico nel modello reticolare Ferrari Todt Dennis Todt Schumacher Barrichello Ferrari McLaren McLaren Schumacher Hakkinen Dennis Hakkinen Barrichello Coulthard Coulthard DBMS Sistemi Informativi L-A 6
7 Esempio: scuderie e piloti (2) e nel modello relazionale Ferrari Todt Ferrari Schumacher McLaren Dennis Ferrari Barrichello McLaren Hakkinen McLaren Coulthard ATTENZIONE: le tabelle sono solo un modo (conveniente) di rappresentare le relazioni DBMS Sistemi Informativi L-A 7
8 Schemi e istanze In ogni DB si hanno due componenti: Lo schema, che descrive la struttura dei dati (la cosiddetta parte intensionale del DB) L istanza, ovvero i dati veri e propri (la parte estensionale del DB) Lo schema permette di fatto di interpretare i dati dell istanza Scuderia D_S Scuderia Pilota Ferrari Todt Ferrari Schumacher McLaren Dennis Ferrari Barrichello McLaren Hakkinen McLaren Coulthard In generale, mentre un istanza varia nel tempo, lo schema tende a restare invariato, e variazioni dello schema comportano una ristrutturazione più o meno semplice del DB DBMS Sistemi Informativi L-A 8
9 Indipendenza fisica e logica Tra gli obiettivi di un DBMS vi sono quelli di fornire caratteristiche di: Indipendenza fisica L organizzazione fisica dei dati dipende da considerazioni legate all efficienza delle organizzazioni adottate. La riorganizzazione fisica dei dati non deve comportare effetti collaterali sui programmi applicativi Indipendenza logica Pur in presenza di uno schema logico integrato non è utile o conveniente che ogni utente ne abbia una visione uniforme La soluzione porta a quella che è comunemente nota come DBMS Sistemi Informativi L-A 9
10 Architettura a 3 livelli di un DBMS utente utente utente utente utente Schema esterno Schema esterno Schema esterno Schema logico Schema interno DB DBMS Sistemi Informativi L-A 10
11 Il livello fisico (o interno) Il DB fisico consiste di una serie di file, residenti su memorie di massa (dischi, nastri,...) che contengono dati, indici e altro Lo schema fisico descrive come il DB logico è rappresentato a livello fisico (ad es.: in quale/i file è memorizzata una relazione) Ferrari Barrichello McLaren Coulthard Todt Dennis Schumacher Hakkinen File: c://apps/db/data/scuderie La gestione del DB fisico è a carico di chi amministra il DBMS e non degli utenti, che quindi possono concentrarsi su aspetti di più alto livello per lo sviluppo delle loro applicazioni DBMS Sistemi Informativi L-A 11
12 Il livello delle viste (o esterno) Il livello esterno viene costruito a partire dallo schema logico integrato mediante la definizione di viste ad hoc, che descrivono parte dello schema logico secondo le esigenze dei diversi utenti Ad es. e possibile definire una vista che combina i dati di più relazioni: Pilota D_S Schumacher Barrichello Hakkinen Coulthard Todt Todt Dennis Dennis La distinzione tra livello esterno e logico può, in molti casi, risultare trasparente agli utenti, che, ad es., in un RDBMS vedono semplicemente un insieme di tabelle DBMS Sistemi Informativi L-A 12
13 A cosa servono le viste? Oltre a fornire una visione personalizzata del DB, le viste possono svolgere un ruolo importante anche per diversi altri motivi: Una ristrutturazione dello schema integrato può, in alcuni casi, essere opportunamente mascherata facendo uso di viste Mediante le viste è possibile regolare meglio il controllo degli accessi al DB, ad es. mascherando dati riservati Le viste possono essere usate per calcolare dinamicamente nuovi dati a partire da quelli memorizzati nel DB, senza per questo introdurre ridondanza Pilota DataNascita Il 28/09/2001 Pilota Età Schumacher 03/01/1969 Schumacher 32 Hakkinen 28/09/1968 Hakkinen 33 DBMS Sistemi Informativi L-A 13
14 I 3 livelli: una semplice analogia Per fissare meglio le idee, si considerino due classi Java, Pilota e Scuderia: Il livello logico corrisponde (in un certo senso) all interfaccia delle classi Il livello interno corrisponde alla loro implementazione concreta Il livello esterno può includere (un metodo di) una classe che usa i servizi delle classi Pilota e Scuderia public class Pilota { private String nome; private Date datanascita; public Date getdatanascita() { } } public int Eta(Pilota unpilota) { int eta = diffyears(new Data(),unPilota.getDataNascita()); return eta; } public class Scuderia { private Pilota[ ] ipiloti; public Scuderia() { ipiloti = new Pilota[2]; } public LinkedList getpiloti() { } } DBMS Sistemi Informativi L-A 14
15 I linguaggi dei DBMS Un DBMS mette a disposizione diversi linguaggi per interagire con le BD. Il livello di astrazione di tali linguaggi dipende fortemente dal modello dei dati cui ci si riferisce Una comune distinzione classifica i linguaggi sulla base delle funzioni svolte: DDL (Data Definition Language) Serve per definire gli schemi (logici, esterni, interni) DML (Data Manipulation Language) Serve per interrogare e modificare le istanze delle BD DCL (Data Control Language) Include comandi di vario tipo, ad es. per il controllo degli accessi SQL riunisce in sé istruzioni di tutte le tre tipologie (per cui si parla del DDL di SQL, del DML di SQL e del DCL di SQL) DBMS Sistemi Informativi L-A 15
16 Condivisione: regolamentare gli accessi Gli utenti di un DB sono naturalmente suddivisibili in diverse tipologie, a cui vanno pertanto associate autorizzazioni distinte Uno studente può leggere i propri dati, ma non quelli di altri studenti; inoltre non può modificare l elenco degli esami sostenuti ;-) Un docente può leggere i dati dei soli studenti del proprio corso; non può modificare l elenco degli esami già sostenuti da uno studente, ma può registrare esami del proprio corso La segreteria può leggere i dati di tutti e può registrare nuovi studenti La gestione delle autorizzazioni può essere oltremodo complessa, per questo motivo sono previste specifiche figure di Data Base Administrator (DBA) che conferiscono agli utenti i giusti privilegi Mediante il DCL di SQL la concessione dei privilegi è molto semplificata, e inoltre permette, oltre ad assegnare un privilegio ad un utente (ad es. leggere i dati di una tabella), anche di consentirgli di passarlo ad altri DBMS Sistemi Informativi L-A 16
17 Condivisione: gestire la concorrenza (1) Un DBMS deve garantire che gli accessi ai dati, da parte di diverse applicazioni, non interferiscano tra loro. Al fine di conservare l integrità dei dati è pertanto necessario far ricorso a opportuni meccanismi di controllo della concorrenza Es.: si considerino due richieste, T1 e T2, che cercano di eseguire in contemporanea un operazione di prelievo, rispettivamente di 80 e 50, dal conto corrente numero 123 che ha una disponibilità iniziale di 100 : CC = read(c_correnti; 123); if CC.disponibile >= Q then { CC.disponibile = CC.disponibile - Q; eroga la somma Q; write(c_correnti;cc)} else print( operazione non possibile ); DBMS Sistemi Informativi L-A 17
18 Condivisione: gestire la concorrenza (2) Una possibile esecuzione (non corretta!) è la seguente: T1 100 Preleva time Conto read 50 write 20 T2 read 100 Preleva write È compito del DBMS evitare tali esecuzioni non corrette ad es. impedendo a T1 di scrivere il nuovo saldo (20) e forzando la rilettura del saldo aggiornato (50) DBMS Sistemi Informativi L-A 18
19 Persistenza: protezione dai guasti Quando un applicazione deve operare più operazioni di modifica, è possibile che per qualche motivo (guasti, intervento dell utente, ecc.) solo una parte di queste venga effettivamente eseguita In questo caso, per garantire l integrità dei dati, il DBMS deve provvedere ad annullare tali modifiche Es.: se T1 volesse trasferire 50 dal conto 123 (saldo 100 ) al conto 235 (saldo 30 ), si potrebbe verificare la seguente situazione (indesiderata!): Conto read write T1 100 Preleva GUASTO!! time Conto read DBMS Sistemi Informativi L-A 19
20 Moduli di un DBMS Per quanto visto, e senza entrare troppo nei dettagli architetturali, si possono già individuare alcuni moduli fondamentali di un DBMS, che realizzano le funzionalità sin qui descritte: DBA Query Manager Transaction Manager DDL Compiler Logging & Recovery Manager Concurrency Manager QM: analizza, autorizza, ottimizza ed esegue le richieste TM: coordina le richieste L&RM: protegge dai guasti CM: gestisce accessi concorrenti DBMS Sistemi Informativi L-A 20
21 Riassumiamo: Un DBMS è un sistema software (complesso!) che gestisce grandi quantità di dati persistenti e condivisi, garantendone l integrità e la sicurezza mediante l esecuzione coordinata delle richieste, la protezione da malfunzionamenti e la realizzazione di una politica degli accessi Un modello dei dati è una collezione di concetti che vengono utilizzati per descrivere i dati, le loro associazioni, e i vincoli che questi devono rispettare Una base di dati si compone di uno schema, che ne descrive la struttura logica, e di un istanza, che consiste dei dati memorizzati Mediante un organizzazione a 3 livelli, un DBMS permette di ottenere gradi di indipendenza fisica e logica dei dati DBMS Sistemi Informativi L-A 21
Le funzionalità di un DBMS
Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le
Basi di Dati. Concetti e Principi Generali. Maria Mirto
Basi di Dati Concetti e Principi Generali Maria Mirto Organizzazione dei Dati Archivi o file Procedure di accesso in qualunque linguaggio di programmazione Duplicazione dati: ridondanza incoerenza formati
Elena Baralis 2007 Politecnico di Torino 1
Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,
Introduzione alle Basi di Dati
Introduzione alle Basi di Dati Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 1 Appunti dalle lezioni SQL
Basi di dati. Elena Baralis Politecnico di Torino
Libri di testo Atzeni, Ceri, Paraboschi, Torlone, Basi di dati, 2 a ed., McGraw Hill, 1999. Baralis, Belussi, Psaila, Basi di dati: temi d esame svolti, Esculapio, 2000. Introduzione - 2 Introduzione Sistema
Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza
Definizione 1 Lezione 2 Le basi di dati Gli archivi di dati Organizzato in modo integrato attraverso tecniche di modellazione di dati Gestiti su memorie di massa Con l obiettivo Efficienza trattamento
DBMS. Alice Pavarani
DBMS Alice Pavarani DBMS Insieme di programmi che offrono gli strumenti per gestire una base di dati Permette di: definire la struttura delle tabelle recuperare le informazioni manipolare i dati memorizzati
Prof. Pagani corrado SISTEMI INFORMATIVI E DATABASE
Prof. Pagani corrado SISTEMI INFORMATIVI E DATABASE ARCHIVIAZIONE DEI DATI I vari S.O. e i cosiddetti linguaggi ad alto livello mettono a disposizione varie tipologie di file per l archiviazione e gestione
Basi di dati Basi di dati per bioinformatica
Basi di dati Basi di dati per bioinformatica DOCENTI PROF. ALBERTO BELUSSI PROF CARLO COMBI Anno accademico 2013/14 Organizzazione degli insegnamenti 3 Basi di dati Basi di dati per Bioinformatica Teoria
Cap. 1-I 1 I sistemi informatici
Libro di testo A. Chianese,V. Moscato, A. Picariello, L. Sansone Basi di dati per la gestione dell informazione McGraw-Hill, 2007 Informazioni sul corso http://www.docenti.unina.it/lucio.sansone Ricevimento
DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11
Basi di dati DOCENTE PROF. ALBERTO BELUSSI Anno accademico 2010/11 Informazioni generali sull organizzazione Insegnamento annuale su due semestri Orario I Semestre Lunedì 11.30 13.30 (aula B) Martedì 11.30
Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13
Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2012/13 Informazioni generali sull organizzazione Insegnamento annuale su due semestri Orario I Semestre Lunedì 11.30 13.30
Fondamenti di Teoria delle Basi di Dati
Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 1: Introduzione Obiettivi La conoscenza della teoria delle basi di dati? No (o non solo) Piuttosto: Come si può affrontare un problema in
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di
SISTEMA INFORMATIVO E SISTEMA INFORMATICO. Sistema informativo e sistema informatico
BASE DI DATI Una base di dati, detta anche database, può essere considerata come una raccolta di dati logicamente correlati tra di loro e utilizzati per modellare una determinata realtà. In questo caso,
Cap. 1-I 1 I sistemi informatici
Libro di testo A. Chianese,V. Moscato, A. Picariello, L. Sansone Basi di dati per la gestione dell informazione McGraw-Hill Hill,, 2007 Ricevimento studenti Lunedì ore 11-13 Didattica su web Si interagisce
Progettazione di basi di dati
Progettazione di basi di dati Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: progettazionedb.pdf Sistemi Informativi L-B Progettazione di
SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3
SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3 Patrizio Pelliccione [email protected] Dipartimento di Informatica Università degli Studi dell Aquila RINGRAZIAMENTI Queste slides
INTRODUZIONE. Prof. Fabio A. Schreiber. Dipartimento di Elettronica e Informazione Politecnico di Milano PROGRAMMA DEL CORSO
BASI DI INTRODUZIONE Prof. Fabio A. Schreiber Dipartimento di Elettronica e Informazione Politecnico di Milano PROGRAMMA DEL CORSO INTRODUZIONE GENERALITA SULLE BASE DI E I LORO SISTEMI DI GESTIONE MODELLI
ARCHITETTURA DI UN DBMS
ARCHITETTURA DI UN DBMS Modelli di dati Un approccio con basi di dati fornisce un certo livello di astrazione dei dati Nasconde i dettagli sulla memorizzazione dei dati stessi Un modello dei dati fornisce
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Modelli dei Dati Prof. Alberto Postiglione Università degli
INFORMATICA. Prof. MARCO CASTIGLIONE ITS Tito Acerbo - PESCARA
INFORMATICA Prof. MARCO CASTIGLIONE ITS Tito Acerbo - PESCARA Database 1. ARCHIVI ITS Tito Acerbo - PE INFORMATICA Prof. MARCO CASTIGLIONE 2 1. Archivi ARCHIVIO Permanenza Razionalità Sistematicità Insieme
DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire:
DBMS Un DBMS deve garantire: Affidabilità Privatezza dei dati Efficienza Efficacia DBMS Affidabilità Un DBMS deve garantire di poter mantenere intatto il suo contenuto, anche in caso di malfunzionamento.
Corso di Basi di Dati/Laboratorio di Basi di Dati
Corso di Basi di Dati/Laboratorio di Basi di Dati ed. 2007-2008 Alfredo Cuzzocrea (ICAR & DEIS, Università della Calabria) 0984-494618 [email protected] http://si.deis.unical.it/~cuzzocrea SITO
SISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1
SISTEMI INFORMATIVI AZIENDALI introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale
Basi di dati. Maurizio Lenzerini. Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza
Basi di dati Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2003/2004 Canale A-L http://www.dis.uniroma1.it/ lenzerini/didattica/basididati/
Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti
Basi di dati Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Anno Accademico 2008/2009 Introduzione alle basi di dati Docente Pierangelo
BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1
BASI DI DATI basi di dati - introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale
DB e DBMS. Corso di Fondamenti di Informatica (PEU-Z) Dott.ssa Rossella Aiello
DB e DBMS Corso di Fondamenti di Informatica (PEU-Z) Dott.ssa Rossella Aiello Testi di riferimento Atzeni, Ceri, Paraboschi, Torlone Basi di Dati Mc Graw Hill 2014 (IV Edizione) Altri testi di consultazione
SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono
BASI DI DATI Una base di dati (database) è un insieme organizzato di informazioni caratterizzate da alcuni aspetti fondamentali: tra esse esiste un nesso logico (cioè sono in qualche modo inerenti ad un
DATABASE MODELLAZIONE DATI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica
DATABASE MODELLAZIONE DATI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI Informatica Modello e strutture dati Un modello di dati consiste in una rappresentazione astratta delle strutture
Le basi di dati. Base di dati = dati + DBMS.
Le basi di dati. Lo scopo di una base di dati è la gestione dell informazione (in genere una grande quantità di informazione). L informazione è difficile da definire, dal momento che i database vengono
