Basi di Dati e Conoscenza



Похожие документы
N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( )

Progettaz. e sviluppo Data Base

Prefazione Sistemi informativi e basi di dati Il modello relazionale Il modello ER

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

Corso di Laboratorio di Basi di Dati

1. BASI DI DATI: GENERALITÀ

Corso di Informatica (Basi di Dati)

ITI M. FARADAY Programmazione modulare a.s

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Introduzione ai sistemi di basi di dati

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

Lorenzo Braidi. Database design. Libro_datadesign.indb :06:17

Al giorno d oggi, i sistemi per la gestione di database

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione al data base

Corso sul linguaggio SQL

Sistemi Informativi e Basi di Dati

Database. Si ringrazia Marco Bertini per le slides

ISTITUTO TECNICO ECONOMICO MOSSOTTI

Data Base. Prof. Filippo TROTTA

DBMS (Data Base Management System)

Informatica (Basi di Dati)

Archivi e Basi di Dati

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati

Informatica I per la. Fisica

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

Il database management system Access

Corso di Basi di Dati e Conoscenza

Organizzazione degli archivi

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

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

PIANO DI LAVORO. a.s / 2015

Base di dati e sistemi informativi

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Indice Prefazione SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9

Corso base di Informatica. Microsoft Excel. Microsoft Access INFORMATICA. Docente: Durata: 40 ore. Destinatari

I Sistemi Informativi

Lezione V. Aula Multimediale - sabato 29/03/2008

database: modello entityrelationship

Corso di Informatica

Docente. Sistemi Informativi. Programma. Programma. Ing. Fabrizio Riguzzi

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

PROGRAMMA DI CLASSE 5AI

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Le Basi di Dati. Le Basi di Dati

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

Sistemi Informativi. Ing. Fabrizio Riguzzi

Progettazione di Basi di Dati

Progettaz. e sviluppo Data Base

Corso di INFORMATICA AZIENDALE (4 CFU)

DATABASE.

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

Organizzazione delle informazioni: Database

Basi di dati. Basi di dati = database. Basi di dati

Informatica B. Contenuti. Introduzione alle Basi di Dati e ai DBMS. Introduzione a dati e basi dati DBMS Modello dei dati

Lezione 9. Applicazioni tradizionali

Corso di Informatica RDBMS RDBMS. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

PIANO DI LAVORO DEL PROFESSORE

Raggruppamenti Conti Movimenti

Introduzione alla teoria dei database relazionali. Come progettare un database

Facoltà di Farmacia - Corso di Informatica

BASI DI DATI - : I modelli di database

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Lezione 1. Introduzione e Modellazione Concettuale

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Sistemi Informativi. Ing. Fabrizio Riguzzi

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Sistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE

I database. Cosa sono e a cosa servono i Database

Introduzione all Architettura del DBMS

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

Access. P a r t e p r i m a

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Soluzioni per l'integrazione e l'accesso alle informazioni. Visus RAD. Andrea Rocchini

Istituto Angioy Informatica BASI DI DATI. Prof. Ciaschetti

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

Corso di Informatica

1.1 Introduzione alle basi di dati

La Metodologia adottata nel Corso

MODELLO RELAZIONALE. Introduzione

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

TEORIA sulle BASI DI DATI

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

LABORATORIO di INFORMATICA

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

DATABASE. nozioni di base

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Data Warehousing (DW)

Транскрипт:

Basi di Dati e Conoscenza II anno Loredana Vigliano Stanza O103 TEL. 0672594645 vigliano@mat.uniroma2.it

Obiettivi del corso I parte Conoscere l' algebra su cui si basa la teoria dei Database Relazionali Imparare a progettare e a costruire un Database Relazionale Utilizzare al meglio l' SQL

Obiettivi del corso II parte Approfondire la conoscenza delle basi di dati Ottimizzare la gestione di una base di dati migliorandone le prestazioni. Avere una panoramica delle altre realtà esistenti sul trattamento dei dati.

Propedeuticità obbligatorie Per poter essere ammessi all esame di Basi di Dati bisogna aver superato : Matematica Discreta Programmazione dei calcolatori con laboratorio

Prova scritta Modalità d' esame Consegna di un progetto completo di Database Solo se si supera la prova scritta Seguendo le linee guida di progetto Prova orale Solo se si supera la prova scritta e il progetto viene accettato

Programma del corso di Basi di dati - I parte Introduzione, Storia e Definizioni Algebra relazionale e cenni di Calcolo relazionale Flusso di progetto e visione dei dati Dai concetti allo schema fisico Modello concettuale dei dati Entità, relazioni, cardinalità, chiavi e attributi

Programma del corso di Basi di dati - I parte (2) Disegno logico DB Schema Entity-Relationship ed esempi. Disegno fisico DB Integrità, congruenza, consistenza e non ridondanza Forme normali Le prime 5 forme normali Dipendenze funzionali

Programma del corso Basi di dati - I parte (3) Query language e implementazioni su mysql Creazioni tabelle e DML Creazione indici e integrità semantica SQL Select Opzioni, confronti, appartenenza, operatori ed ordinamenti Join, equijoin e nonequijoin Select nidificate e alias Funzioni aritmetiche, di insieme, di stringa Viste e gestione Sicurezza Realizzazione progetto (esame)

Programma del corso Basi di dati - II parte Introduzione Organizzazione fisica dei dati Modellazione dei dati in UML Ottimizzazione degli indici Normalizzazione e Denormalizzazione Ottimizzazione delle interrogazioni Ottimizzazioni in MySQL

Programma del corso Basi di dati - II parte (2) Transazioni Proprietà acide Controllo della concorrenza» Locking a due fasi MySQL e Storage Engine MySQL e ottimizzazioni Basi di dati attive Trigger e Stored Procedure Cursor, Trigger e Stored Procedure in MySQL Altre caratteristiche per le performance di MySQL

Programma del corso Basi di dati - II parte (3) Basi di dati geospaziali e GIS Basi di dati su architetture distribuite Architettura client-server Basi di dati distribuite Commit a due fasi Parallelismo Basi di dati replicate

Programma del corso Basi di dati - II parte (4) Database NoSQL Architetture per l analisi dei dati Data Warehouse Data Mining

Libri consigliati I parte Atzeni, Ceri, Paraboschi, Torlone Basi di dati, modelli e linguaggi di interrogazione, McGraw-Hill. Welling-Thomson MySQL Tutorial, o altro manuale anche da web.

Libri consigliati II parte Atzeni,Ceri,Fraternali,Paraboschi,Torlone Basi di dati - Architetture e linee di evoluzione ed. McGraw-Hill 2nd edition Schwartz,Zaitsev,Tkachenko,Zawodny, Lentz & Balling High Performance MySQL ed. O'Reilly 2nd edition

Definizione Nei sistemi informatici (e non solo) tutte le informazioni vengono rappresentate per mezzo di dati I sistemi informativi esistono da molto prima della diffusione dei calcolatori elettronici

Definizione Base di dati o Database Insieme (organizzato) di tutte le informazioni utili presenti in un luogo (azienda, università, mente di qualcuno, ecc.) Data independence La struttura di un DB deve dare garanzia che modifiche dei dati non richiedano modifiche ai programmi applicativi e/o alle tecniche di accesso ai dati stessi

Definizione Base di dati o Database Collezione di informazioni registrate in formato leggibile dall elaboratore elettronico e relativa ad un preciso dominio di conoscenze (azienda, università, mente di qualcuno, ecc.), organizzata allo scopo di poter essere consultata dai suoi utilizzatori. (Brunella Longo - 1993)

Definizione Un Modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in modo che essa risulti comprensibile ad un elaboratore (e non solo ).

Definizione di Ullman (2) o anche.. Un Modello di dati è un formalismo matematico composto da : una notazione per descrivere i dati un insieme di operazioni per manipolare tali dati

Storia dei database e dei Modelli Prima del 1960 di dati (1) Tanta, tanta, tanta carta e altro Anni 60 Computer Due modelli di dati che dipendono dalla struttura fisica Gerarchico Reticolare (CODASYL)

Storia dei database e dei Modelli di dati (2) Gerarchico A B C D E

Storia dei database e dei Modelli Reticolare di dati (3) A B C D

Storia dei database e dei Modelli Anni 60 di dati (4) Crescono un po le capacità di memoria, ma tutti si concentrano a rendere efficienti i programmi di accesso ai dati. Anni 70-72 Edgar F. Codd separa l organizzazione logica dai metodi di memorizzazione fisica

Storia dei database e dei Modelli di dati (5) Relazionale E.F.Codd anni 70 A R1 B R2 C

Storia dei database e dei Modelli di dati (6) Anni 70-72 Codd rivoluziona il concetto di migliorare le prestazioni NON dalla programmazione ma con l organizzzazione dei dati. Semplici tabelle Il modello relazionale basato sui valori ha successo anche per le aumentate capacità di memoria.

Storia dei database e dei Modelli di dati (7) Dal 1973 primi prototipi di società UCB di Berkeley --> INGRES porterà a Ingres Corp., Sybase, MS/SQL Server. Usava QUEL. Relational Software Inc. di Larry Ellison --> un primo prodotto nel 77 o 79 porterà a Oracle IBM --> progetto System R porterà a SQL/DS & DB2, AllBase di HP. Usava SEQUEL --> poi SEQUEL/2, poi SQL

Storia dei database e dei Modelli di dati (8) Dal 1973 primi prototipi di società System R in particolare sviluppò diverse tecnologie Structured Query Language (SQL) di Donald Chamberlin e Ray Boyce Ottimizzatore di query di Pat Selinger Compilatore di query di Raymond Lorie La possibilità di ridefinire dati online. Boyce lavora con Codd sulla BCNF. Viene coniato il termine RDBMS.

Storia dei database e dei Modelli 1976 di dati (9) Peter Chen propone il suo Entity- Relationship Model for Database Design (schemi E-R), altro importante passo in avanti per i modelli concettuali di dati.

Storia dei database e dei Modelli di dati (10) Anni 80 Boom commercializzazione computer Primi DBMS relazionali 77-79 Relational Software Inc. 1981 IBM annuncia SQL/DS 1983 IBM annuncia DB2 Metà anni 80 SQL come standard intergalattico Avvento PC Rbase 5000,Paradox, OS/2, DbaseIII, DbaseIV.

Storia dei database e dei Modelli di dati (11) Primi anni 90 Grosse applicazione - grandi prezzi : Sybase, Oracle Modello client-server Inizi prototipi ODBMS Metà anni 90 Boom di Internet/WWW Web/DB cresce esponenzialmente

Storia dei database e dei Modelli di dati (12) Tardi anni 90 Connettori Web/Internet/DB (Java Servlets, JDBC, Oracle Developer 2000) Appare l Open Source (Apache, MySQL) Inizio 21 secolo le compagnie presenti sul mercato : IBM (compra Informix), Microsoft, Oracle, (Sun compra MySQL).

Storia dei database e dei Modelli di dati (13) Futuro Terabyte???? Datawarehousing, data mining e data mart Standard per i successori di SQL (fallimento attuale)? La next great thing --> XML con Java per Database? Object Oriented Everything per Database Linked Open Data (Tim Berners-Lee)

vai a Modello relazionale

2 punti di vista Come costruisco un DB? Flusso di progetto Cosa vedo? Visione dei dati

Flusso di progetto di un database Analisi dei requisiti (definizione environment) Modello concettuale DB (Oggetti) Disegno logico DB (schema E-R, Yourdon) Disegno fisico DB (normalizzazione tabelle)

Vista utente Strati della conoscenza Schema esterno : TABELLE Vista amministratore DB o azienda Schema concettuale : Schema E-R o RM/T Vista fisica Schema interno : catene, hash, indici

Organizzazione fisica dei dati L organizzazione fisica dei dati di un database deve essere efficiente, ciò significa che il sistema di gestione di un database (DBMS) deve avere la capacità di rispondere alle richieste dell utente il più velocemente possibile.

Organizzazione fisica dei dati (2) I dati sono organizzati in file I file sono divisi in record Record logici, quelli visibili Record fisici, con informazioni del record e campi INFORMAZIONI CAMPI

Organizzazione fisica dei dati (3) INFORMAZIONI Puntatore al prossimo record Tipo record Lunghezza record Bit di cancellazione Eventuali Offset dei campi Un puntatore è una coppia (b,k)

Organizzazione fisica dei dati (4) CAMPI Eventuale offset del campo Campo vero e proprio

Organizzazione fisica dei dati (5) File Heap Tipi di file Record inseriti nei blocchi senza ordine Accesso ai record tramite directory di puntatori ai blocchi Proliferazione di indirizzi indiretti

Organizzazione fisica dei dati (6) File Hash Tipi di file Record ripartiti in bucket in base al valore della chiave Ogni bucket ha 1 o più blocchi ed è organizzato come un Heap Funzione Hash buona Puntatori a lista collegano i blocchi di un bucket

Organizzazione fisica dei dati (7) Tipi di file File con indice (sparso) ISAM ISAM (indexed sequential access method) Record ordinati in crescenza (lasciando il 20% dei blocchi liberi) e non puntati File indice formato da coppie (v,b) Directory del file indice Metodi di scansione Ricerca binaria o dicotomica Ricerca per interpolazione

Organizzazione fisica dei dati (8) File B-tree Tipi di file Generalizzazione del file con indice Concetto dell albero binario evita spreco di spazio