130 likes | 341 Views
Basi di dati. Maurizio Fermeglia Maurizio.fermeglia@di3.units.it www.mose.units.it. Sistemi informativi e basi di dati. Ogni organizzazione ha bisogno di memorizzare e mantenere informazioni specifiche. Per esempio: Utenze telefoniche Conti correnti bancari
E N D
Basi di dati Maurizio Fermeglia Maurizio.fermeglia@di3.units.it www.mose.units.it
Sistemi informativi e basi di dati • Ogni organizzazione ha bisogno di memorizzare e mantenere informazioni specifiche. Per esempio: • Utenze telefoniche • Conti correnti bancari • Studenti iscritti a un corso di laurea • Quotazioni di azioni nei mercati telematici • I sistemi informativi organizzano e gestiscono le informazioni necessarie alle attività di un’organizzazione: • Inizialmente non erano automatizzati (per esempio, gli archivi bancari) • Informatica gestione automatica dei dati basi di dati • Informazione memorizzata in modo rigoroso
Obbiettivi del corso • Capire il ruolo delle basi di dati nel panorama dell’informatica oggi • Concetti di sistemi informativi • Evoluzione architetturale • Modelli dei dati disponibili • Progettazione di una base di dati • Realizzazione di una base di dati • Struttura delle tabelle • Schema esterno • Accesso ai dati • Data base per applicazioni speciali
Base di dati • Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente, azienda, ufficio, persona) • Punti di vista • Metodologico • Tecnologico
Programma del Corso Basi Di Dati … • Introduzione e generalità (8 ore) • Evoluzione dei sistemi informativi • I sistemi di rete e l’informatica distribuita: evoluzioni architetturali • Il sistema orientato ai servizi (SoA) • Il middleware, Web service, Grid, cloud computing • Data base fondamenti (5 ore) • Concetto di dati e di gestione, motore Data Base, DBMS • Architettura di data base, livelli, schemi esterno ed interno • Modelli di dati • Le componenti di un Data base system • Sistemi gerarchici, reticolari e relazionali
...Programma del Corso Basi Di Dati... • Data Base Relazionali (6 ore) • Modello relazionale, regole di Codd • Relazioni e tabelle • Vincoli di integrità intra relazionali e chiavi • Vincoli di integrità inter relazionali: integrità referenziale • Algebra relazionale (cenni) e operatori, calcolo relazionale • Linguaggio SQL (9 ore) • Ruolo e standard, basi e fondamenti • Il concetto di Query e l’istruzione Select • Inserimento cancellazione e modifica dei dati • Modifica di un data base • Integrità dei dati, viste, controllo degli accessi • Transazioni e tecniche di locking
... Programma del Corso Basi Di Dati.... • Data Base relazionali: la progettazione di un DB (14 ore) • Entità – relazione • Strategia di progetto • Relazioni tra tabelle, normalizzazione • Un piano di progettazione del DB • Normalizzazione e relazioni molti-molti • SQL programmatico (5 ore) • Tecnica ‘embedded’ statica e dinamica, cursori • Tecnica client-server via API ed ODBC-OLE db • Tools di sviluppo lato client
... Programma del Corso Basi Di Dati.... • Programmabilità e data base (4 ore) • User definedfunction • Stored procedure • Data base attivi: trigger • Tecniche di accesso ai dati in ambiente distribuito (5 ore) • Accesso ai dati: metodologie • Architettura di ADO.NET: il Data set • LinQ ed Entityframework • Esempi di applicazione • Dati Semistrutturati in XML (6 ore) • Definizioni, DTD, CSS, XSL • XSLT, Xquery, Xpath • Gestione di dati XML con DBMS relazionali • NoSQL: NotOnly SQL (3 ore) • BASE contro ACID • Applicazioni: social networks
... Programma del Corso Basi Di Dati • Basi di dati per il supporto alle decisioni (6 ore) • OLAP ed OLTP: definizione di Data Warehouse • Rappresentazione multi-dimensionale dei dati • Realizzazione di un DW • Progettazione di un DW
Programma del Corso: parte pratica • Il Data Base MS-Access • Descrizione del motore • Oggetti di un Data base • Realizzazione di applicazioni (form e report) • Il Data Base MS-SQL server • Descrizione del motore, gestionedei device e sicurezze • Dimensionamento HW e configurazione • Gliindici, questisconosciuti • Performance tuning, SQL monitor e SQL profile • MS Analysis services (OLAP) • Esercitazione (20 ore) • MS Access 2010 - MS SQL2008 • MS Visio • XML • Sviluppo di un DB: architettura, implementazione, interfaccia client • Sviluppo di un DataWarehouse ed applicazione OLAP (Excel)
Testi e materiale didattico • Slides PPT e materialevariosu studenti.di3.units.it • Testoconsigliato • per parte generale sui DB: Atzeni,P., Ceri S., Paraboschi S, Torlone R, Basi di dati: modelli e linguaggi di interrogazione, Mc Graw Hill, IV edizione 2012 • per la parte specialistica: Atzeni,P., Ceri S., Paraboschi S, Torlone R, Basi di dati: : architetture e linee di evoluzione , Mc Graw Hill, II edizione 2007 • Testosu SQL: • SQL The complete reference – Groff e Weinberg • Testosu MS-Access • Microsoft Office Access 2010, Mondadori informatica, Silvia Vaccaro • Testosu MS SQL server 2012: • Tutorial sito Microsoft ed help on line.
Logistica • Orario • Lunedì – Giovedì 17.30 – 19.00 • AULA: Aula multimediale ed B • Esercitazioni: laboratorio informatico di Facoltà (più in la) • Totale ore: circa 70 (teoria e demo) + circa 20 (esercitazioni)
Esame • Quando • Su appuntamento in qualsiasimomento • Non confidatesugliappelli: se non ho prenotazioni non ci sono • Cosa • costruire un data base seguendo i metodi esposti nel libro • Usando un tool qualsiasi (Access, SQL server, …) • analisi di un problema qualsiasi (biblioteca di paese, archivio CD e DVD, gestione ditta,….), diagrammi entità – relazione, progettazione concettuale e logica e alla sua implementazione. • Come • L’esame inizia con la descrizione del DB: analisi, struttura, interfaccia. • spunto dal DB per qualche domanda di teoria (es: indici, integrità referenziale, transazioni, DB e Web,…). • Vedi esempio di riferimento file Videoteca.zip che contiene la presentazione PPT ed il file MDB per una videoteca. • Quanto • 18 a 23: un Data base funzionante con presentazione PPT progetto • Da 24 a 27: come sopra, più descrizione approfondita e giustificando a fondo le scelte fatte • Da 28 in su: come sopra più domande di teoria anche non direttamente legate al data base presentato