ARCHITETTURA DI UN DBMS

Documenti analoghi
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1

Sistemi informativi D B M G. Introduzione. Introduzione alle basi di dati D B M G 2. Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1

Basi di Dati. Concetti e Principi Generali. Maria Mirto

Introduzione alle basi di dati. A. Ferrari

Introduzione alle Basi di Dati

D. Gubiani Introduzione alle Basi di Dati 3. La porzione automatizzata di un sistema informativo viene in

Basi di Dati (BD): Lezione 2 Concetti e Architetture di un Sistema di BD

Prof. Pagani corrado SISTEMI INFORMATIVI E DATABASE

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

SISTEMI INFORMATIVI AZIENDALI

I DATI E LA LORO INTEGRAZIONE 63 4/001.0

DBMS. Alice Pavarani

Basi di dati. Elena Baralis Politecnico di Torino

BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1

LINGUAGGI E UTENTI DI UN DBMS

DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire:

SISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1

INFORMATICA. Prof. MARCO CASTIGLIONE ITS Tito Acerbo - PESCARA

PROGRAMMAZIONE DIDATTICA DI DIPARTIMENTO A.S. 2017/2018

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

Basi di dati. Docente Prof. Alberto Belussi. Anno accademico 2009/10

Fondamenti di Teoria delle Basi di Dati

Basi di dati Basi di dati per bioinformatica

Le Basi di dati: generalità. Unità di Apprendimento A1 1

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno

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

Corso di. Basi di Dati I. 1. Introduzione

Modello Relazionale. Schemi. Schemi. Schemi. In ogni base di dati si possono distinguere: Es. (relazioni INSEGNAMENTO e MANIFESTO)

Basi di Dati: Introduzione

Corso di. Basi di Dati I. 1. Introduzione

record a struttura fissa

BASI DI DATI INTRODUZIONE

Programma Master Programmatore Java

Teoria delle Basi Di Dati. Basi di Dati: Introduzione. Definizione di Database (o Base di Dati) Caratteristiche di un DB

INTRODUZIONE. Prof. Fabio A. Schreiber. Dipartimento di Elettronica e Informazione Politecnico di Milano PROGRAMMA DEL CORSO

MS Access Un DBMS relazionale per Windows?

Microsoft Access. Nozioni di base. Contatti: Dott.ssa Silvia Bonfanti

SISTEMI INFORMATIVI E DATABASE

Informatica II Basi di Dati (08/09) Parte Introduzione. Sistemi informativi e basi di dati. Sistemi informativi e basi di dati

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Introduzione ai sistemi di basi di dati

Basi di dati. Base di dati

Basi di dati. Giuseppe De Giacomo. Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

Cap. 1-I 1 I sistemi informatici

ITI M. FARADAY. Programmazione a. s

Elementi di Informatica LB Basi di Dati. Anno accademico 2007/2008 Prof. Stefano Contadini

Ricevimento studenti Lunedì ore 11-13

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Corso Informatica di Base. Basi di Dati

Componenti di un DBMS

A.s Programma di Informatica

Basi di dati. Giuseppe De Giacomo. Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza

UNITA CAPITALIZZABILI PER LA FIGURA PROFESSIONALE: TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE

Sistemi Informativi Corso di Laurea in Ingegneria dell Integrazione d Impresa (E-Business)

Cap. 1-I 1 I sistemi informatici

Gestione dati e archivi

Sistemi informativi per i beni culturali

Basi di Dati Concetti Introduttivi

Prefazione. Parte Prima Basi di dati relazionali: modello e linguaggi 15

SISTEMA INFORMATIVO E SISTEMA INFORMATICO. Sistema informativo e sistema informatico

ISTITUTO PARITARIO MICHELANGELO - RIMINI- PIANO DI LAVORO

Basi di dati. Basi di dati = database

Informatica per le Scienze Umane. Introduzione al corso: programma

GESTIONE DELLE INFORMAZIONI E BASI DI DATI

Corso di Sistemi di Elaborazione delle informazioni

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI

Informatica di Base - 6 c.f.u.

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica

A livello fisico, un istanza di base di dati Oracle è composta. Gubiani & Montanari Oracle Database 3

Parte I Introduzione

Bibliografia e strumenti. Obiettivi del corso. Comunicazione docente

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale

Basi di Dati. Corso di Laurea in Informatica Corso B A.A. 2015/16. Dr. Claudia d'amato. Dipartimento di Informatica, Università degli Studi Bari

Basi di dati Modelli e linguaggi di interrogazione

SQL per le applicazioni. Basi di dati. Elena Baralis. Pag Politecnico di Torino 1 D B M G2 D B M G4 D B M G5 D B M G6. SQL per le applicazioni

Architettura Client-Server. In a nutshell

INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione

Introduzione. Basi di Dati. Testo: Azteni e altri. Basi di Dati (II ed.). McGraw Hill. Maurizio Gabbrielli Ricevimento Martedi 14.

PROGETTAZIONE DI BASE DI DATI. Metodologie e modelli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Lezione 1. Introduzione ai sistemi di basi di dati

IL PATRIMONIO DI DATI E LE BASI DI DATI

Progettazione logica 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/2013

Basi di Dati Relazionali

Indirizzo Liceo Scientifico opzione Scienze Applicate Classe 1 a sez. F Anno Scolastico

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13

INTRODUZIONE ALLE BASI DI DATI

Basi di dati. Maurizio Lenzerini. Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza

IL MODELLO RELAZIONALE

Transcript:

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 i mezzi per realizzare questa astrazione Struttura della base di dati: tipi di dati, associazioni, vincoli Operazioni di base sui dati: aggiornamenti e interrogazioni Operazioni definite dall utente

Categorie di modelli di dati Due estremi Modelli di dati concettuali (alto livello, semantici) Vicini al modo in cui gli utenti percepiscono i dati Modelli di dati fisici (basso livello, interno) Dettagli sul modo in cui i dati sono memorizzati dal computer Fra i due estremi Modelli di dati rappresentabili Concetti che possono essere compresi dagli utenti finali, ma non lontani dal modo in cui i dati sono memorizzati nel computer Modelli di dati autodescrittivi Descrizione dei dati associata ai dati (XML, e alcuni modelli NoSQL) Modelli di dati concettuali Entità Un oggetto (o concetto) del mondo reale Attributo Proprietà di interesse delle entità Associazione fra due o più entità Rappresenta una interazione fra le entità

Modelli di dati implementabili Rappresentano i dati usando strutture di record Modello relazionale Oggi il più diffuso Modello reticolare e modello gerarchico Molto usati nel passato Modello a oggetti Più vicino ai modelli concettuali Schemi e istanze Lo schema descrive la struttura della base di dati (aspetto intensionale), sostanzialmente invariante nel tempo Diagramma di schema rappresenta la struttura di ciascun tipo di record Lo stato della base di dati è l insieme dei dati in una base di dati in un determinato istante (aspetto estensionale) Il primo inserimento di dati viene chiamato popolamento Il DBMS deve garantire che ogni stato della base di dati sia valido spesso chiamato anche istanza o snapshot

Schema di una base di dati Architettura a tre livelli

Architettura a tre livelli spesso chiamato livello logico Indipendenza logica dei dati È la capacità di poter cambiare lo schema logico senza dover cambiare gli schemi esterni o i programmi applicativi Il progettista deve modificare coerentemente solo la definizione della vista e i mapping fra livelli I programmi applicativi che fanno riferimento agli schemi esterni non devono essere modificati Si possono modificare i vincoli nello schema logico senza influenzare gli schemi esterni o i programmi applicativi che fanno riferimento agli schemi esterni

Indipendenza fisica dei dati È la capacità di cambiare lo schema interno senza dover cambiare lo schema logico o gli schemi esterni. Cambiamenti allo schema interno Riorganizzazione file per creare strutture di accesso addizionali Riorganizzazione file per migliorare recupero e aggiornamento La realizzazione dell indipendenza dei dati logica e fisica può causare inefficienze (rallentamenti) Le richieste a ciascun livello devono essere tradotte in richieste al livello inferiore Linguaggi per definire gli schemi DDL (Data Definition Language) Per definire lo schema logico. La maggior parte dei DBMS usa questo linguaggio anche per la definizione dello schema interno SDL (Storage Definition Language) Usato dai DBMS che mantengono una netta distinzione fra livello logico e interno per specificare lo schema interno. Il mapping fra livello logico e interno può essere specificato in DDL o SDL VDL (View Definition Language) Dovrebbe esistere in un DBMS aderente all architettura a tre livelli. Nella pratica le viste sono definite tramite DDL

Linguaggi per la manipolazione dei dati DML (Data Manipulation Language) Per recuperare i dati, inserire nuovi dati, modificare o cancellare dati esistenti DML di alto livello (non-procedurale) Le operazioni possono essere specificate direttamente al DBMS tramite un terminale Le operazioni possono essere incapsulate (embedded) all interno di un linguaggio di programmazione (un precompilatore le estrae) DML di basso livello (procedurale) Deve essere incapsulato in un linguaggio di programmazione DML di basso e alto livello DML di basso livello record-at-a-time perché recuperano un record alla volta. Usano i costrutti iterativi tipici dei linguaggi di programmazione DML di alto livello set-oriented perché possono recuperare molti record in una singola istruzione Sono detti linguaggi dichiarativi perché specificano cosa recuperare e non come

Linguaggi usati dai DBMS Nei DBMS attuali DDL, SDL, VDL e DML non sono considerati linguaggi distinti (la distinzione è solo logica) Ad esempio, SQL (standard) consente di specificare operazioni di DDL, VDL e DML di alto livello La definizione della memorizzazione fisica è tipicamente mantenuta separata La versione attuale di SQL non prevede operazioni SDL (erano un componente di SQL nelle prime versioni) Linguaggi di programmazione e linguaggi dei DBMS Si parla di incapsulamento se, ad esempio, si inseriscono istruzioni SQL in C Una base di dati orientata agli oggetti fornisce invece un unico linguaggio integrato per la scrittura di applicazioni e per le funzionalità del DBMS Ad esempio C++ con opportune estensioni Alcuni DBMS relazionali offrono linguaggi integrati (ad esempio, PL/SQL di Oracle)

Utenti della base di dati e linguaggi Utenti casuali DML di alto livello Programmatori DML incapsulato Utenti non sofisticati Interfacce amichevoli Interfacce dei DBMS Interfacce a menu per la navigazione Guida passo-passo nella formulazione dell interrogazione Interfacce a moduli (form) Per utenti non sofisticati: si riempiono i campi in un modulo pre-definito Interfacce grafiche L utente costruisce l interrogazione manipolando un diagramma dello schema (ad es. usando un mouse)

Interfacce dei DBMS (cont.) Interfacce in linguaggio naturale Interfacce vocali Interfacce per utenti non esperti Viene definito un piccolo insieme di comandi abbreviati (ad esempio, i tasti funzione) per le operazioni più frequenti Cassieri di banca Terminali di prenotazione voli Interfacce per il DBA Comandi privilegiati di amministrazione Ambiente di un DBMS

Moduli di un DBMS Programmi di utilità di un DBMS Sono di ausilio alle operazioni del DBA Caricamento dati da file esistenti (strumenti di conversione) Backup: copia di sicurezza della base di dati su nastro Riorganizzazione dei file per incrementare le prestazioni Monitoraggio delle prestazioni per programmare eventuali operazioni di manutenzione Altri strumenti per ordinare i file, gestire la compressione dei dati, controllare l accesso da parte degli utenti, ecc.

Strumenti, ambienti applicativi e comunicazione Strumenti CASE (Computer Aided Software Engineering) Per la progettazione di basi di dati Dizionario dei dati (Deposito di informazioni) Per immagazzinare schemi, vincoli, decisioni di progettazione, standard d uso, ecc. Ambienti di sviluppo applicazioni Software di comunicazione Architettura fisica centralizzata

Architettura logica client/server Architettura fisica client/server Comunicazioni fra applicazioni client e DataBase Server ODBC (Open DataBase Connectivity)

Architettura logica a tre livelli Classificazione dei DBMS Rispetto al modello logico dei dati Relazionale Uso di tabelle A oggetti Uso di classi, gerarchie, metodi Relazionale e a oggetti Modello relazionale esteso agli oggetti Modelli NoSQL key-value, document based, column nased, graph, XML... Modelli di vecchia generazione Reticolare, Gerarchico

Classificazione dei DBMS (cont.) Rispetto al numero di utenti Singolo utente (DBMS per uso personale) Multiutente Rispetto al numero di siti in cui è distribuita la base di dati Centralizzato Distribuito DDBMS omogenei usano lo stesso software in più siti DBMS federati (software middleware per accedere a diverse basi di dati sviluppate autonomamente) Classificazione dei DBMS (cont.) Rispetto al costo Open-source e supporto da terze parti DBMS per uso personale DBMS Enterprise Rispetto alle opzioni per i cammini di accesso ai file Rispetto alla finalità General-purpose Special-purpose (ad es., prenotazioni aeree, elenchi telefonici, ecc.) consentono l ottimizzazione delle prestazioni

EVOLUZIONE DEL MERCATO DEI DBMS Gartner 2013 Magic Quadrant Operational DBMS

Gartner 2014 Magic Quadrant Operational DBMS Gartner 2015 Magic Quadrant Operational DBMS

Gartner 2016 Magic Quadrant Operational DBMS