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

Documenti analoghi
Basi di dati Basi di dati per bioinformatica

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

Basi di dati. Elena Baralis Politecnico di Torino

Elena Baralis 2007 Politecnico di Torino 1

Introduzione alle Basi di Dati

Basi di Dati. Concetti e Principi Generali. Maria Mirto

SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3

Basi di Dati Concetti Introduttivi

INFORMATICA PER LE SCIENZE UMANE a.a. 2016/2017

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016

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

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

Basi di Dati Concetti Introduttivi

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

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

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012. Basi di dati

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)

Corso di Basi di Dati/Laboratorio di Basi di Dati

Informatica per l Ambiente e il Territorio

Informatica per l Ambiente e il Territorio

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

Fondamenti di Teoria delle Basi di Dati

Basi di dati Introduzione

Che cos è l informatica?

Università di Roma La Sapienza Laurea in Ingegneria Informatica. Basi di Dati. Anno Accademico 2003/2004 Canale M-Z.

Cap. 1-I 1 I sistemi informatici

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

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a

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

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

SISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1

Basi di dati (database)

ARCHITETTURA DI UN DBMS

Progettazione di basi di dati

Corso di Sviluppi dell Informatica e della Telematica a.a (ultima edizione v.o. 509)

Informatica per le Scienze Umane. Introduzione al corso: programma

SISTEMA INFORMATIVO E SISTEMA INFORMATICO. Sistema informativo e sistema informatico

Bibliografia e strumenti. Obiettivi del corso. Comunicazione docente

Sistema azienda. Sistema azienda (o sistema della organizzazione) uno o più obiettivi, o fini istituzionali

INFORMATICA. Prof. MARCO CASTIGLIONE ITS Tito Acerbo - PESCARA

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato

Sistemi Informativi e Basi di Dati

SISTEMI INFORMATIVI E DATABASE

LINGUAGGI E UTENTI DI UN DBMS

Informatica di Base - 6 c.f.u.

Basi di dati Modelli e linguaggi di interrogazione

Syllabus A042 Insegnamenti disciplinari

Tecnologie di Sviluppo per il Web Lab. di Tecnologie di Sviluppo Web

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Le basi di dati. Base di dati = dati + DBMS.

Corso di Laurea in Informatica Basi di Dati a.a

Organizzazione del Corso: Corso di Basi di Dati 1. Obbiettivi (2): Propedeuticità. Orari. Testi Consigliati

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011. Basi di dati

DBMS. Alice Pavarani

Linee di programmazione

Anno Accademico 2007/2008. Sistemi Informativi. Corso di Laurea in Ingegneria della Gestione Industriale

Corso di Laurea in Informatica Basi di Dati a.a

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Introduzione ai calcolatori Elettronici

Basi di Dati. Prof.ssa Rosalba Giugno

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

Metodologie e modelli di progetto

DB e DBMS. Corso di Fondamenti di Informatica (PEU-Z) Dott.ssa Rossella Aiello

Introduzione. Sommario. Il software. Definizione di Ingegneria del software

Corso di Laurea Ingegneria Civile

Corso di Informatica (Basi di Dati)

A proposito di informatica

Basi di dati Architetture e linee di evoluzione

I DATI E LA LORO INTEGRAZIONE 63 4/001.0

Ciclo di vita di un sistema informativo

Sommario. Introduzione... 13

Informatica Documentale

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

Architettura CPU. Memoria principale (RAM) Dispositivi di ingresso. Dispositivi di uscita. Memoria secondaria (memoria di massa)

Informatica (Basi di Dati)

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

FONDAMENTI DI INFORMATICA

Tecnologie di Sviluppo per il Web Lab. di Tecnologie di Sviluppo Web

Sistemi di Elaborazione delle Informazioni (C.I. 15) Basi di dati Introduzione teorica

Corso di Laurea Ingegneria Informatica

BASI DI DATI E UTENTI DI BASI DI DATI

Fondamenti di Informatica

Liceo Scientifico V. Volterra Fabriano. Informatica Basi di dati Anno C Scienze Applicate Prof. Amedeo De Amicis

Le basi di dati. Le basi di dati. dalla teoria all'utilizzo di tutti i giorni. Alessandro Tanasi

Fondamenti di informatica. Introduzione al corso di Fondamenti di informatica I e II (informatici) Anno Accademico

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

I database. Introduzione alla teoria delle basi di dati

CALCOLATORI ELETTRONICI

Fondamenti di Informatica (lettere A-I) A

Corso di Sistemi di Elaborazione delle informazioni

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

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

Archivi e basi di dati

Architettura MVC-2. Alberto Belussi. Anno accademico 2006/2007

Lezione 1: Introduzione al Corso Mercoledì 30 Settembre 2009

Transcript:

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 (aula c) Martedì 11.30 13.30 (aula A) Ricevimento Lunedì 14.30 16.30 2

Informazioni generali sull organizzazione Testi e eserciziari P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone Basi di dati: modelli e linguaggi di interrogazione (III edizione) McGraw-Hill P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone Basi di dati: architetture e linee di evoluzione (II edizione) McGraw-Hill E. Baralis, A. Belussi, G. Psaila Basi di dati: temi d esame svolti Progetto Leonardo Editrice Esculapio 3

Percorso didattico Insegnamento: BASI DI DATI 4 Unità didattiche CFU I Sem II Sem Teoria 9 ~44 ore ~32 ore Laboratorio 3 0 ~36 ore

Programma 5 Insegnamento: BASI DI DATI Sul sito di facoltà: http://www.scienze.univr.it Oppure prossimamente sul sito di dipartimento: http://www.di.univr.it Pagina dell insegnamento

Modalità d esame Modulo Teoria (9 crediti) ESAME SCRITTO: Progettazione concettuale/logica di una base di dati Algebra relazionale SQL Domande di teoria (indici, concorrenza, transazioni, ecc..) Dati multimediali XML 6 Modulo Laboratorio (3 crediti) ESAME SCRITTO: Tecnologie per applicazioni web data-centric: Servlet, JSP, JDBC Progettazione logica di un applicazioni web Implementazione di applicazioni web secondo l approccio MVC-2 SQL oppure PROGETTO di una applicazione WEB Progettazione dell applicazione Implementazione MVC-2 (servlet/jsp, PHP, )

Relazione con gli altri insegnamenti del corso 7 Programmazione I e II Architettura degli Elab Algoritmi Ingegneria Software Metodologie di progettazione Java Sistemi Operativi File System e Memoria secondaria Reti di calcolatori Web, HTTP, ecc.. Basi di Dati

Relazione con Algoritmi (e Strutture Dati) 8 Algoritmi e strutture dati Memoria Centrale (RAM, ) MEMORIA VOLATILE Accesso veloce e casuale Basi di dati Memoria secondaria (nastri, dischi, memorie a stato solido) MEMORIA PERSISTENTE Accesso lento e via strutture sequenziali (file)

Relazione con Algoritmi (e Strutture Dati) 9 Tempo di vita dei dati Memoria Centrale Dati Programmi tempo Memoria secondaria Dati Programmi tempo

Evoluzione dell informatica applicata 10 anni 60: applicazioni negli ambienti di ricerca scientifica (laboratori) con enfasi sui programmi (e quindi sugli algoritmi). anni 70: nascono le applicazioni informatiche in ambito gestionale

Applicazioni gestionali 11 Caratteristiche algoritmi di elaborazione semplici. grande quantità di dati CONDIVISI da PIU applicazioni. Tali caratteristiche derivano dall ambiente in cui vennero introdotte le applicazioni informatiche (anni 70): IL SISTEMA INFORMATIVO

Sistema Informativo 12 Definizione è l insieme delle attività umane e dei dispositivi di memorizzazione ed elaborazione che organizza e gestisce l informazione di interesse di un organizzazione di dimensioni qualsiasi N.B.: un sistema informativo NON contiene necessariamente tecnologia informatica.

Sistema Informativo 13 Dato Elemento di conoscenza di base costituito da simboli che devono essere elaborati. Informazione Interpretazione dei dati che permette di ottenere conoscenza più o meno esatta di fatti e situazioni.

Sistema Informativo 14 Schema descrittivo Archivio A1 Procedura P1 Procedura P4 Procedura P3 Utente TIPO A Procedura P5 Archivio A2 Amministratore Procedura P2 Utente TIPO B

Sistema Informativo e Basi di Dati 15 BASE DI DATI Definizione è una collezione di dati utilizzati per rappresentare con tecnologia informatica le informazioni di interesse per un sistema informativo

Applicazioni gestionali 16 Soluzione convenzionale Programma P1 Programma P3 Programma P2 File 1 File 3 File 2 File 4 File System File 5

Applicazioni gestionali 17 Problemi della soluzione convenzionale Scarsa efficienza nell accesso ai dati su file (struttura ad accesso sequenziale) Ridondanza nei dati (duplicazioni dello stesso dato su più file) Inconsistenza (aggiornamenti parziali) Progettazione dei dati replicata per ogni programma

Applicazioni gestionali Soluzione innovativa (anni 70-80) 18 Applicazione P1 Applicazione P2 Applicazione P3 Sistema per la Gestione di Basi di Dati Data Base Management System (DBMS) File System Mem. Sec

DBMS (Data Base Management System) 19 DBMS Definizione È un sistema che gestisce su memoria secondaria collezioni di dati (chiamate Basi di Dati ): GRANDI, CONDIVISE e PERSISTENTI assicurando: AFFIDABILITA, PRIVATEZZA e ACCESSO EFFICIENTE

DBMS: interazione 20 Utenti casuali Utenti programmatori Utenti finali Utenti DBA (Data Base Administrator) Applicazione Pi Applicazione Pj BD 1 Modello dei dati BD 2 DBMS BD 3 Applicazione Web Web Service

DBMS: interazione 21 Linguaggi di interazione: Linguaggio per la definizione dei dati (Data Definition Language - DDL) Linguaggio per l interrogazione e aggiornamento dei dati (Data Manipulation Language DML): Linguaggio di interrogazione: estrae informazioni da una base di dati (esempio: SQL, algebra relazionale) Linguaggio di manipolazione: popola la base di dati, modifica il suo contenuto con aggiunte, cancellazioni e variazioni sui dati (esempio: SQL)

DBMS: modello dei dati 22 Definizione È l insieme dei costrutti forniti dal DBMS per descrivere la struttura e le proprietà dell informazione contenuta in una base di dati. Costrutti: permettono di definire le strutture dati che conterranno le informazioni della base di dati (analogia con i costruttori di tipo di un linguaggio di programmazione) e di specificare le proprietà che dovranno soddisfare le istanze di informazione che saranno contenute nelle strutture dati

DBMS: modello dei dati 23 Modelli dei dati del passato Modello reticolare Modello gerarchico Modelli dei dati attuali Modello relazionale (E:F: Codd 1970) Modello ad oggetti Modello object-relational

Modello, schema e istanza 24 È fondamentale nel contesto delle basi di dati distinguere correttamente questi tre concetti: Modello dei dati: visto nel lucido precedente Schema di una base di dati: è la descrizione della struttura e delle proprietà di una specifica base di dati fatta utilizzando i costrutti del modello dei dati (lo schema di una base di dati è invariante nel tempo) Istanza di una base di dati: è costituita dai valori effettivi che in un certo istante popolano le strutture dati della base di dati (l istanza di una base di dati varia nel tempo)

Modello, schema e istanza 25 Esempio Modello dei dati Schema Istanza Basi di dati Tabella (o relazione) P(cognome: VARCHAR(40), nome: VARCHAR(30)) cognome nome Rossi Mario Bianchi Lia Linguaggi di progr. Array Class Persona { String cognome; String nome; } Class X { Persona[] p; p = new Persona[100]; p Persona Nome: Mario } Cognome: Rossi

Architettura di un DBMS (schema based) 26 Schema Esterno 1 Schema Esterno n Livello Esterno Livello Logico Schema Logico Schema Interno Livello Interno

Architettura di un DBMS 27 Schema Logico: è la rappresentazione della struttura e delle proprietà della base di dati attraverso i costrutti del modello dei dati del DBMS Schema Interno: è la rappresentazione della base di dati per mezzo delle strutture fisiche di memorizzazione (file dati, file indice, ecc ) Schema Esterno: descrive una porzione dello schema logico di interesse per uno specifico utente o applicazione (attraverso viste sullo schema logico)

Indipendenza dei dati 28 Indipendenza FISICA: lo schema logico della base di dati è completamente indipendente dallo schema fisico. Conseguenza variazioni delle strutture fisiche non impattano sullo schema logico e quindi sulle applicazioni

Indipendenza dei dati Indipendenza LOGICA: gli schemi esterni della base di dati sono indipendenti dallo schema logico. 29 Conseguenza variazioni dello schema logico (purché non tolgano dati) non impattano sugli schemi esterni e quindi sulle applicazioni (va eventualmente ridefinita solo l espressione di derivazione degli schemi esterni dallo schema logico viste )

Progettazione di una base di dati 30 Ciclo di vita del processo di automazione di un sistema informativo Studio di fattibilità Definisce i costi e le alternative possibili Raccolta e analisi dei requisiti Individua proprietà e funzionalità del sistema (dati e applicazioni) producendo una descrizione completa ma informale Progettazione

Progettazione di una base di dati 31 Ciclo di vita del processo di automazione di un sistema informativo Progettazione del sistema Progettazione dei dati Descrizione formale dei dati (SCHEMA) Progettazione delle applicazioni Descrizione formale delle applicazioni (SPECIFICA)

Progettazione di una base di dati 32 Ciclo di vita del processo di automazione di un sistema informativo Progettazione dei dati Implementazione su un DBMS Validazione e collaudo

Metodologia di progettazione dei dati 33 Una metodologia di progettazione è costituita da: Una decomposizione in passi dell attività di progetto Un insieme di strategie da seguire e di criteri di scelta Un insieme di modelli di riferimento

Metodologia di progettazione dei dati 34 Una buona metodologia deve Generale Facile da usare In grado di produrre un risultato di qualità (progetto completo e corretto).

Metodologia di progettazione dei dati 35 Requisiti della base di dati prodotti dalla fase di analisi Progettazione Concettuale Schema concettuale Progettazione Logica Schema logico Progettazione Fisica Schema fisico

Metodologia di progettazione dei dati 36 Progettazione concettuale OBIETTIVO Rappresentare il contenuto informativo della base di dati in modo formale ma indipendente dall implementazione (DBMS) e dalle operazioni.

Metodologia di progettazione dei dati 37 Progettazione logica OBIETTIVO Tradurre lo schema concettuale nello schema logico aderente al modello dei dati del DBMS scelto per l implementazione. Nella traduzione si tiene conto delle operazioni più frequenti che le applicazione eseguiranno sulla base di dati.

Metodologia di progettazione dei dati 38 Progettazione fisica OBIETTIVO Completare lo schema logico con i parametri relativi alla memorizzazione fisica dei dati e con gli opportuni metodi d accesso (INDICI).

Progettazione concettuale 39 Requisiti della base di dati prodotti dalla fase di analisi Progettazione Concettuale Schema concettuale SCHEMA CONCETTUALE: è un documento formale che rappresenta il contenuto della base di dati in modo indipendente dall implementazione (DBMS).

Schema Concettuale 40 Osservazioni Lo schema concettuale non è solo un prodotto intermedio del processo di progettazione della base di dati, ma costituisce anche una porzione del risultato finale. Esso rappresenta una descrizione ad ALTO LIVELLO del contenuto della base di dati, di facile comprensione anche per utenti poco esperti.