Basi di Dati e Sistemi Informativi

Slides:



Advertisements
Presentazioni simili
Corso di Fondamenti di Informatica
Advertisements

Presentazione del corso Paolo Atzeni 2/03/2012
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
PHP.
Una Introduzione alle Basi di Dati
Progetto Campus One: Azione e-learningGenova, 9 aprile 2002 Giancarlo Parodi DIBE Esperienze dal progetto Ingegneria On Line.
Connessione con MySQL.
Presentazione del Progetto
Università degli Studi di Modena e Reggio Emilia
Basi di Dati prof. A. Longheu
4 – Progettazione – Introduzione e Modello E-R
Gestione Dati & Archivi
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Active Server Pages.
L’uso dei database in azienda
Informatica A (informatica grafica) Allievi di Ingegneria Civile, L-Z
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
06/10/2009Basi di dati , presentazione1 Basi di dati (ordinamento DM 509/1999) Basi di dati I (ordinamento DM 270/2004) DocentePaolo.
Presentazione del corso Paolo Atzeni 1/03/2011
04/10/2010Basi di dati , presentazione1 Basi di dati I (ordinamento DM 270/2004) già Basi di dati (ordinamento DM 509/1999) DocentePaolo.
Basi di dati II Presentazione del corso (include la presentazione di Tecnologia delle basi di dati, corso attivo fino al e sostituito.
Basi di dati Università Degli Studi Parthenope di Napoli
Tecniche Avanzate di Progettazione Software aa 2002/2003 Docente Maura Cerioli Studio 331 (terzo piano lato monte) Tel
Programma del Corso Dati e DBMS DBMS relazionali SQL
Daniel Stoilov Tesi di Laurea
JDBC(TM) Database Access
DBMS ( Database Management System)
Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi
Introduzione ai Database Management System (DBMS)
Implementare un modello di dati
Corso di Laurea in Informatica per il Management
Università del Salento Facoltà di Ingegneria Corso di Basi di dati I a.a
Università del Salento Facoltà di Ingegneria Corso di Basi di dati I a.a
Corso di Basi di Dati Progettazione di Basi di Dati
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
Basi di Dati e Sistemi Informativi
Presentazione Data Base Ovvero: il paradigma LAPM (Linux - Apache - PHP - mySQL) come supporto Open Source ad un piccolo progetto di Data Base relazionale,
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
DATABASE Introduzione
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
DB- Sistemi Informativi
Corso di Laurea in Ingegneria per l’Ambiente e il Territorio Informatica per l’Ambiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Accesso a basi di dati con ASP.
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
I DATABASE.
Ispirer Systems Presentazione dell’azienda Copyright (c) Ispirer Systems Ltd. Tutti i diritti riservati.
Database Concetti di base
Programmazione Web Presentazione del corso /2015.
IV D Mercurio DB Lezione 2
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Introduzione alle basi di dati
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione Programma del Corso.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione Programma del Corso.
Progettazione di basi di dati: metodologie e modelli
Informatica Introduzione alle basi di dati Lezione 1 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Eprogram informatica V anno.
Le basi di dati.
Introduzione ai Database Management System (DBMS)
Docente: Prof. Carlo Batini Laurea Magistrale in Informatica Modulo Architetture Dati A.A
Transcript della presentazione:

Basi di Dati e Sistemi Informativi Corso di Laurea in Informatica per il Management Universita’ di Bologna Docente: Marco Di Felice Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

Docente Dr. Marco Di Felice Dipartimento di Scienze dell’Informazione Via M. Anteo Zamboni 7, 40126 Bologna Email: difelice@cs.unibo.it Sito web: http://www.cs.unibo.it/~difelice Orario di ricevimento: Martedi’, ore 9.30-13.30

Orari del Corso Mercoledi’, ore 15.30-18.30, Aula Ercolani 2 Giovedi’, ore 16.30-18.30, Aula Ercolani 2 Venerdi’, ore 10.30-13.30, Aula Ercolani 2 Durata corso: 26 Settembre – 20 Dicembre 2012 (80 ore circa di lezioni frontali) – 12 c.f.u

Obiettivi del Corso Fornire le basi dell'utilizzo e della progettazione di basi di dati basate sul modello relazionale. Introdurre le caratteristiche principali dei moderni software di gestione delle basi di dati (DBMS) Introdurre gli strumenti e le metologie per l'integrazione di basi di dati all'interno di un sistema informatico.

Contenuti del Corso Un Sistema Informativo (SI) e’ una componente di un’organizzazione il cui scopo e’ quello di gestire le informazioni utili ad i fini dell’organizzazione stessa. Organizzazione  Azienda, Ufficio, Ente, Universita’, etc

Obiettivi del Corso “ Ogni due giorni produciamo tante informazioni quante ne abbiamo prodotte in tutta la nostra storia fino al 2003” Eric Schmidt (Presidente esecutivo di Google)

Biblioteca reale di Alessandria d’Egitto Contenuti del Corso L’esistenza di un Sistema Informativo e’ indipendente dalla sua automatizzazione. Biblioteca reale di Alessandria d’Egitto IV-I secolo a.C 400000 rotoli presenti.

Censimenti e Registro Anagrafe. Contenuti del Corso L’esistenza di un Sistema Informativo e’ indipendente dalla sua automatizzazione. Censimenti e Registro Anagrafe. Nell’Antica Roma, i censimenti venivano effettuati dalla fine del IV secolo a.c. Gli elenchi dei censiti, distinti secondo il possesso o meno dei diritti civili e politici, la classe patrimoniale e l'età, venivano utilizzati come liste elettorali, ruoli per l’esazione dei tributi e liste di leva.

Contenuti del Corso La porzione automatizzata di un sistema informativo prende il nome di Sistema Informatico. All’interno di un sistema informatico, le informazioni sono rappresentate da dati, che hanno bisogno di essere interpretati per fornire informazioni. SISTEMA SISTEMA INFORMATIVO SISTEMA INFORMATICO DATI

Contenuti del Corso Informazione (def): notizia, dato, elemento che consente di avere conoscenza piu’ o meno esatta di fatti, situazioni e modi d’essere. Dato (def): elementi di informazione constituiti da simboli che devono essere elaborati. NOTA: Senza interpretazione, il dato non e’ molto utile! FERRARI, 8

Contenuti del Corso Una base di dati e’ una collezione di dati che rappresentano le informazioni di un’organizzazione. Approccio convenzionale: files per memorizzare i dati in modo persistente le informazioni nella memoria di massa. Approccio del corso: dati gestiti attraverso sistemi software specifici noti come Data Base Management System (DBMS). Da qui in avanti nel corso  Una base di dati e’ una collezione di dati gestita da un DBMS.

Contenuti del Corso Un DBMS e’ un sistema software che e’ in grado di gestire collezioni di dati che sono grandi, condivise e persistenti, assicurando la loro affidabilita’ e privatezza. DB grandi  dipende dall’organizzazione, ma si puo’ arrivare all’ordine dei giga/tera-bytes ed oltre. DB condivisi  applicazioni ed utenti diversi devono poter accedere a dati comuni, in maniera consistente tra gli accessi. DB persistenti  memorizzazione su memoria secondaria. DB affidabili  alta tolleranza ad i guasti, con funzionalita’ avanzate di ripristino e backup. DB sicuri  meccanismi di autenticazione degli utenti. DB efficienti  performance accettabili per l’utente.

Contenuti del Corso Solo nel 2011, il mercato dei DMBS ha avuto una crescita del 6.5% con ricavi complessivi pari a 33.9 billioni di dollari. Il mercato dei DBMS e’ dominato da 4 vendor, che da soli occupano una percentuale di ricavi pari al 75% del totale: Oracle (10 billioni di dollari di ricavi nel 2011). IBM Microsoft SAP Oltre a queste 4 aziende, 14 altri vendor hanno ricavato profitti pari a 100 milioni di dollari (ciascuno). Fonte: IDC

Contenuti del Corso 4th Dimension Adabas D Alpha Five Apache Derby Aster Data Altibase BlackRay CA-Datacom Clarion Clustrix CSQL CUBRID Daffodil database DataEase Database Management Dataphor Java DB Empress Embedded Database EnterpriseDB eXtremeDB FileMaker Pro Firebird Greenplum GroveSite H2 Helix database HSQLDB IBM DB2 IBM Lotus Approach Infobright Informix Ingres InterBase InterSystems Caché GT.M Linter MariaDB MaxDB Microsoft Access Microsoft Jet Database Engine (part of Microsoft Access) Microsoft SQL Server Lista (parziale) dei DBMS piu’ utilizzati.

Contenuti del Corso Microsoft SQL Server Express Microsoft Visual FoxPro Mimer SQL MonetDB mSQL MySQL Netezza NonStop SQL Openbase OpenLink Virtuoso OpenLink Virtuoso Server OpenOffice.org Base Oracle Oracle Rdb for OpenVMS Panorama PostgreSQL Progress Software RDM Server SAND CDBMS Sav Zigzag ScimoreDB SmallSQL SQLBase SQLite Sybase SQL AdvantageServer Teradata TimesTen txtSQL Unisys RDMS 2200 UniData UniVerse Vertica VMDS VISTADB Lista (parziale) dei DBMS piu’ utilizzati.

Contenuti del Corso Numero di righe presenti nel data-base … Fonte: Winter Corporation, 2005

Contenuti del Corso Nel corso, forniremo un’introduzione al mondo dei Sistemi Informativi e delle Basi di dati (DB) da quattro punti di vista differenti: Utente  come usare un DB (aggiungere/modificare informazioni, recuperare informazioni da un DB, etc). Progettista  come progettare un DB. Programmatore  come sviluppare applicazioni Web/stand-alone che si interfaccino con un DB [CENNI]. Progettista di DBMS  come e’ fatto un DBMS [CENNI].

Contenuti del Corso Nel corso, forniremo un’introduzione al mondo dei Sistemi Informativi e delle Basi di dati (DB) da quattro punti di vista differenti: Utente  come usare un DB (aggiungere/modificare informazioni, recuperare informazioni da un DB, etc). Progettista  come progettare un DB. Programmatore  come sviluppare applicazioni Web/stand-alone che si interfaccino con un DB [CENNI]. Progettista di DBMS  come e’ fatto un DBMS [CENNI].

Contenuti del Corso Dato un DB gestito da un DBMS (es. DB che gestisce i dati di studenti/docenti dell’universita’ di Bologna), vedremo come si implementano operazioni di: Inserimento/modifica (es. inserisci nuovo studente). Ricerca (es. trova tutti i docenti di un certo dipartimento). Creazione/modifica dello schema (es. estendi il DB in modo da gestire anche le informazioni dei tecnici) Creazione di un nuovo DB …

Contenuti del Corso Per conseguire tali competenze, e’ necessario studiare due aspetti complementari: Come sono strutturati i dati all’interno di un DBMS, ossia il modello logico dei dati. Come si interagisce con il modello logico per eseguire operazioni di accesso ai dati/modifica/ricerca/etc, ossia il linguaggio per la specifica delle operazioni sui dati.

Contenuti del Corso Un modello di dati e’ un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in modo che essa risulti comprensibile ad un elaboratore. Modello Relazionale  consente di organizzare i dati in record di dimensione fissa mediante tabelle. Colonne=Campi del record Corso Codice Corso Nome Docente Basi di dati 0121 M. Di Felice Programmazione 1213 C. Laneve Sistemi Operativi 1455 D. Sangiorgi { Righe= Record

Modello Relazionale: overview In pratica, una base di dati di medio/grandi dimensioni puo’ essere costituita da molte tabelle… CORSI ESAMI Nome Corso Codice Corso Codice Docente Basi di dati 0121 00 Programmazione 1213 01 Sistemi Operativi 1455 02 Corso Studente Voto 0121 4324235245 30L 1213 25 9854456565 18 STUDENTI Matricola Cognome Nome Data Nascita 4324235245 Rossi Giorgio 12/12/1987 6247673587 Bianchi Michele 04/12/1987 9854456565 Verdi Marco 11/04/1988

Contenuti del Corso Ogni DBMS mette a disposizione degli appositi linguaggi per le operazioni di definizione dello schema e di manipolazione/accesso ai dati stessi. Linguaggi testuali ad hoc, specifici del DBMS in uso. Interfacce grafiche (es. Access). Linguaggio SQL (Structured Query Language)  standard di riferimento per il modello dati relazionale.

Contenuti del Corso Esempio di operazioni sui dati: data la tabella con le informazioni relative ai corsi attivi per il primo semestre, implementare una procedura per recuperare in maniera automatica il codice del corso di “Basi di Dati”. CORSI NomeCorso CodiceCorso Nome Docente Basi di dati 0121 M. Di Felice Programmazione 1213 C. Laneve Sistemi Operativi 1455 D. Sangiorgi

Contenuti del Corso Con gli strumenti tradizionali (Java+file): String s; BufferedReader reader=new BufferedReader(new FileReader(“myfile”)); while (s=reader.readLine()) ! =null) { StringTokenizer token=new StringTokenizer(s); if (token.nextToken().equals(“Basi di dati”)) System.out.println(token.nextToken()); } reader.close(); PROBLEMI: - Codice alquanto elaborato Necessario conoscere il path del file Accesso sequenziale al file …

Contenuti del Corso Usando DBMS ed il linguaggio SQL Select CodiceCorso From CORSI Where (NomeCorso=“Basi di dati”); Completa astrazione da come/dove i dati sono memorizzati su disco!

Programma del Corso Parte I: Modelli e Linguaggi per Basi di Dati Il modello relazionale: concetti di base, vincoli di integrita' e chiavi. Algebra e calcolo relazionali (cenni): operatori algebrici, calcolo relazionale su domini Il linguaggio SQL: definizione dei dati, modifica dei dati, interrogazioni, definizione di viste, transazioni.

Contenuti del Corso Nel corso, forniremo un’introduzione al mondo dei Sistemi Informativi e delle Basi di dati (DB) da quattro punti di vista differenti: Utente  come usare un DB (aggiungere/modificare informazioni, recuperare informazioni da un DB, etc). Progettista  come progettare un DB. Sviluppatore  come sviluppare applicazioni Web/stand-alone che si interfaccino con un DB [CENNI]. Progettista di DBMS  come e’ fatto un DBMS [CENNI].

Contenuti del Corso PROBLEMA: Progettazione di un sistema informativo per un’organizzazione (es. progettare il sistema informativo di un ente di formazione che eroga corsi). Progettazione dell’applicazione. Progettazione della base di dati.

Contenuti del Corso PROBLEMA: Progettazione di un sistema informativo per un’organizzazione (es. progettare il sistema informativo di un ente di formazione che eroga corsi). Q. Come procedere? A. L’implementazione dipende dal caso specifico, tuttavia esistono aspetti metodologici di natura generale che possono essere adottati per progettare una “buona base di dati”.

{ Contenuti del Corso Studio di fattibilita’ Oggetto di studio del modulo corrente { Raccolta/analisi requisiti Progettazione di un sistema Informativo Ciclo di vita Modulo precedente Implementazione Validazione Funzionamento

Contenuti del Corso Analisi dei requisiti e progettazione in dettaglio … Studio/analisi dei requisiti Risultati Fasi della progettazione SCHEMA CONCETTUALE Progettazione concettuale SCHEMA LOGICO Progettazione logica SCHEMA FISICO Progettazione fisica

Contenuti del Corso Analisi dei requisiti e progettazione in dettaglio … Studio/analisi dei requisiti Risultati Fasi della progettazione SCHEMA CONCETTUALE Progettazione concettuale SCHEMA LOGICO Progettazione logica SCHEMA FISICO Progettazione fisica

Contenuti del Corso Esempio: Progettazione di una base di dati per un ente che eroga corsi di formazione. SPECIFICA dei REQUISITI sui DATI Si vuole progettare una base di dati per una societa’ che eroga corsi, di cui si vogliono rappresentare i dati dei docenti e dgli studenti. Per gli studenti, identificati da un codice, si vuole tenere traccia del codice fiscale, cognome, eta’, sesso, e corsi che stanno seguendo/hanno seguito. I corsi hanno un codice, un titolo e possono avere varie edizioni con date di inizio/fine e numero degli studenti. Per gli insegnanti, si vuole memorizzare il codice, il cognome, l’afferenza, il nome del corso che insegnano/hanno insegnato.

Contenuti del Corso Esempio: Progettazione di una base di dati per un ente che eroga corsi di formazione. SPECIFICA delle OPERAZIONI sui DATI Inserimento di un nuovo studente (in media, ogni mese) Inserimento di un nuovo docente (in media, ogni anno) Inserimento di un nuovo corso (in media, ogni anno) Stampa di tutti i corsi attivi (ogni giorno) Stampa di tutti igli studenti dell’ultimo anno …

Contenuti del Corso Analisi dei requisiti e progettazione in dettaglio … Studio/analisi dei requisiti Risultati Fasi della progettazione SCHEMA CONCETTUALE Progettazione concettuale SCHEMA LOGICO Progettazione logica SCHEMA FISICO Progettazione fisica

Contenuti del Corso Passo1: Produrre uno schema concettuale dei dati e delle relazioni tra dati che compongono il sistema informativo. Codice Studente … Modello Entita’-Relazione (ER) Inscrizione Docenza Corso Docente Codice … Nome …

Contenuti del Corso Analisi dei requisiti e progettazione in dettaglio … Studio/analisi dei requisiti Risultati Fasi della progettazione SCHEMA CONCETTUALE Progettazione concettuale SCHEMA LOGICO Progettazione logica SCHEMA FISICO Progettazione fisica

Contenuti del Corso Passo2: Traduzione del modello concettuale nel modello logico relazionale … Piu’ soluzioni sono possibili … Quale scegliere? Soluzione 1 (pessima). Utilizzo di una sola tabella … Codice Studente Codice Fiscale Cognome Eta Sesso Codice Corso Titolo Inizio Fine Codice Prof Afferenza 323 NULL Di Matteo 23 M 212 Basi di Dati 10/3/2012 10/5/2012 1212 DiFelice Unibo 123 Poli 24 143 Giusti 25 163 Di Cinzio 27 214 Sistemi Operativi 12/3/2013 13/5/2013 1215 Sangiorgi

Contenuti del Corso Passo3: Analizzare la qualita’ dello schema DB prodotto, ed ottimizzarlo/ristrutturarlo … Codice Studente Codice Fiscale Cognome Eta Sesso Codice Corso Titolo Inizio Fine Codice Prof Afferenza 323 NULL Di Matteo 23 M 212 Basi di Dati 10/3/2012 10/5/2012 1212 DiFelice Unibo 123 Poli 24 143 Giusti 25 163 Di Cinzio 27 214 Sistemi Operativi 12/3/2013 13/5/2013 1215 Sangiorgi Ridondanze dei dati costi aggiuntivi (memoria utilizzata)

Contenuti del Corso Passo3: Specificare i vincoli sui dati che devono essere rispettati dallo schema. Il codice dello studente deve essere univoco. Il codice del docente deve essere univoco. Il codice fiscale di uno studente puo’ non essere specificato. Per un dato corso, identificato dal codice, data inizio e data fine, deve esistere solo un docente. …

Contenuti del Corso Analisi dei requisiti e progettazione in dettaglio … Studio/analisi dei requisiti Risultati Fasi della progettazione SCHEMA CONCETTUALE Progettazione concettuale SCHEMA LOGICO Progettazione logica SCHEMA FISICO Progettazione fisica

Programma del Corso Parte II: Progettazione di Basi di Dati Progettazione concettuale: il modello E/R, raccolta ed analisi di requisiti, strategie di progettazione concettuale, verifica di qualita'. Progettazione logica: ristrutturazione degli schemi E/R, traduzione nel modello relazionale. Tecniche di normalizzazione: forme normali (Boyce-Codd, terza forma normale), decomposizione in forma normale.

Contenuti del Corso Nel corso, forniremo un’introduzione al mondo dei Sistemi Informativi e delle Basi di dati (DB) da quattro punti di vista differenti: Utente  come usare un DB (aggiungere/modificare informazioni, recuperare informazioni da un DB, etc). Progettista  come progettare un DB. Sviluppatore  come sviluppare applicazioni Web/stand-alone che si interfaccino con un DB [CENNI]. Progettista di DBMS  come e’ fatto un DBMS [CENNI].

Programma del Corso Nel Web, gran parte dei siti di organizzazioni ed aziende gestiscono i dati attraverso un DB gestito da un DBMS (Sito web  Applicazione web).

Programma del Corso Componenti di un’applicazione web: Web-server (HTTP-based) Linguaggio di scripting server-side DBMS (relazionale) 2. Parametri MT 3. SQL Query 1. HTTP request Web-server DBMS 5. Pagina Web (dinamica) 4. Dati 6. HTTP response Browser (client)

Programma del Corso Il Web Meta-Tier (MT) contiene un interprete di linguaggi di scripting server side. Tali linguaggi dispongono di librerie per: Interfacciarsi con un DBMS, ed inserire codice SQL all’interno di uno script. Generare dinamicamente il codice HTML, che deve essere poi visualizzato sul browser del client.

Programma del Corso Linguaggi/Tecnologie di scripting server-side ASP.NET PHP Python + Django Ruby on Rails Java Server Pages (JSP) and Java Servlet Common Gateway Interface (CGI) …

Libreria Java Database Connection (JDBC) Programma del Corso In maniera simile, e’ possibile scrivere applicazioni stand-alone che si interfacciano con DB gestiti da un DBMS relazionale. Codice Java SQL query DBMS Dati Libreria Java Database Connection (JDBC)

Programma del Corso In questo caso, il codice SQL e’ immerso nel codice del linguaggio ospite (es. Java). String url = "jdbc:mysql://hostname/database”; Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection c = DriverManager.getConnection(url, properties); … int id = ... get ID from somewhere ... String sql = "SELECT Name FROM Users WHERE Id = " + id; ResultSet rs = st.executeQuery(sql);

Programma del Corso Parte III: SQL per Applicazioni [cenni] Esempi di DBMS: PostgreSQL, MySQL. Basi di Dati ed Applicazioni Web. SQL e Java: Java Database Connectivity (JDBC)

Contenuti del Corso Nel corso, forniremo un’introduzione al mondo dei Sistemi Informativi e delle Basi di dati (DB) da quattro punti di vista differenti: Utente  come usare un DB (aggiungere/modificare informazioni, recuperare informazioni da un DB, etc). Progettista  come progettare un DB. Sviluppatore  come sviluppare applicazioni Web/stand-alone che si interfaccino con un DB [CENNI]. Progettista di DBMS  come e’ fatto un DBMS [CENNI].

Contenuti del Corso Q. Come memorizzare i dati di una tabella su memoria secondaria? Quali strutture dati e metodologie utilizzare? FILE1.dat NomeCorso Codice Docente Basi di dati 0121 M. Di Felice Programmazione 1213 C. Laneve Sistemi Operativi 1455 D. Sangiorgi 0001000 111010 101110 Struttura sequenziale Struttura ad accesso calcolato (hash) Struttura ad albero

Contenuti del Corso Alcune operazioni su DB sono particolarmente delicate, e devono essere gestite in maniera opportuna, secondo la regola del tutto o niente.

Contenuti del Corso Transazione  unita’ elementare di lavoro in un DBMS (DBMS transazionali). Proprieta’ ACIDE delle transazioni: Atomicita’ Consistenza Isolamento Persistenza Come garantire tali proprieta’ in un DBMS?

Programma del Corso Parte IV: Progettazione fisica e Struttura di un DBMS [cenni] Strutture dati per la memorizzazione di tuple su memoria secondaria. Transazioni: proprieta' ed implementazione.

Motivazioni del Corso Q. Come posso utilizzare le competenze del corso?

Competenze Professionali Q. Come posso utilizzare le competenze del corso? Database Administrator Progettista di Database Analista/Sviluppatore SQL Database Specialist …

Obiettivi del Corso Fonte: Gartner, 2012

Esame del Corso L’esame consiste di: Prova scritta (obbligatoria) Progetto (obbligatoria) Prova orale (facoltativa) Calcolo del voto finale (senza orale): Voto_Finale=0.75* Voto_Scritto + 0.25 * Voto_Progetto

Esame del Corso Vincoli d’esame (pochi): NON sono definiti vincoli di validita' temporale sul voto del progetto e dell'esame scritto. NON c'e' alcuna restrizione sul numero di prove che si possono sostenere. Chi si presenta ad una prova, perde l'eventuale voto precedentemente acquisito. NON e' possibile consultare testi, dispense, appunti, etc durante lo svolgimento della prova.

Esame del Corso Il progetto consiste nella progettazione ed implementazione di un'applicazione (Web) che integri un piccolo sistema informativo. Il progetto puo' essere svolto individualmente o in gruppi di max 3 unita'. Il progetto puo' essere proposto dal gruppo stesso, previa approvazione della proposta dal docente. Inviare email con subject: "[DB1] Proposta Progetto DB 2013”, indicando i nomi dei partecipanti.

Esame del Corso Consegna via email con subject: "[DB2] Consegna Progetto DB 2013”, allegando: (i) tutti i sorgenti del progetto; (ii) una breve relazione. Date di consegna del progetto per l'a.a. 2012/2013: 1 Febbraio 2013, 1 Marzo 2013, 1 Aprile 2013, 1 Giugno 2013, 1 Luglio 2013, 1 Ottobre 2013, 1 Dicembre 2013. In seguito alla consegna, si ricevera' una email dal docente con la convocazione per la discussione del progetto, che consiste in una presentazione (tenuta da tutti i componenti del gruppo) del progetto + demo.

Libri di Testo P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone, Basi di dati: Modelli e Linguaggi di interrogazione, 3ed, McGraw-Hill P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone, Basi di dati: Architetture ed evoluzione, 2ed, McGraw-Hill

Suggerimenti Seguire le lezioni in aula. Controllare con regolarita’ la mailing list ed il sito del corso. Utilizzare gli orari di ricevimento. Essere propositivi!