Introduzione al corso



Documenti analoghi
Introduzione al corso

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

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

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

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf

Fasi di creazione di un programma

DATABASE.

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

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

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Progettazione e realizzazione di un applicativo Web Annunci Immobiliari

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

Progettaz. e sviluppo Data Base

Progetto di Applicazioni Software

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

L architettura di un DBMS

Esercitazione di Basi di Dati

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Raggruppamenti Conti Movimenti

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

Progettazione di una base di dati Ufficio della Motorizzazione

Sistemi Informativi T

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

Introduzione ai database relazionali

1. BASI DI DATI: GENERALITÀ

N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( )

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria

INGEGNERIA DEL SOFTWARE

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Esercitazione 01: DDL e DML di base

Ottimizzazione delle interrogazioni (parte I)

Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE

Corso di Informatica (Basi di Dati)

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

Basi di dati I. Esercitazione proposta

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

IL SISTEMA INFORMATIVO

Progettazione di Basi di Dati

Volumi di riferimento

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Basi di Dati Corso di Laura in Informatica Umanistica

Istituto Tecnico Commerciale Statale e per Geometri E. Fermi Pontedera (Pi)

Compito Basi di Dati. Tempo concesso: 90 minuti 18 Gennaio 2007 Nome: Cognome: Matricola:

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

Dispensa di database Access

Corso di Laboratorio di Basi di Dati

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

Base di dati e sistemi informativi

GESTIONE FATTURE (VELINE)

CONCETTO DI ANNIDAMENTO

Capitolo 13. Interrogare una base di dati

Organizzazione degli archivi

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

BASE DI DATI: sicurezza. Informatica febbraio ASA

database: modello entityrelationship

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

Il sistema C.R.M. / E.R.M.

DATABASE RELAZIONALI

DBMS (Data Base Management System)

BASI DI DATI - : I modelli di database

PROMUOVERSI MEDIANTE INTERNET di Riccardo Polesel. 1. Promuovere il vostro business: scrivere e gestire i contenuti online» 15

Le Basi di Dati. Le Basi di Dati

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Sistemi centralizzati e distribuiti

Elena Baralis 2013 Politecnico di Torino 1

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione all Architettura del DBMS

Informatica per le discipline umanistiche 2 lezione 10

Basi di Dati e Microsoft Access

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

INNOVAZIONE XNOTTA PER PORTALI TURISTICI

SQL prima parte 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 2011/12

Informatica (Basi di Dati)

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

Ottimizzazione Multi Obiettivo

Basi di Dati Relazionali

Lezione 8. La macchina universale

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

RELAZIONE PROGETTO DATABASE GESTIONE BIBLIOTECA PERSONALE

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Data Base. Prof. Filippo TROTTA

LO SVILUPPO DELLE COMPETENZE RELAZIONALI DEL PERSONALE INTERNO A CONTATTO CON IL CLIENTE

Corso di Informatica

Sistemi Informativi e Basi di Dati

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Informatica per le discipline umanistiche 2 lezione 14

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Architettura MVC-2: i JavaBeans

Esercitazione 7 Progettazione concettuale. Versione elettronica: L07.progConcettuale.pdf

Appello di BD del Corso di laurea in Informatica del 9/1/2007 Compito e soluzioni

Basi Di Dati, 09/12/2003

Transcript:

Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia Email: paolo.ciaccia@unibo.it Web: http://www-db.deis.unibo.it/~pciaccia Ricevimento: giovedì 9:30-11:00, c/o IEIIT (ex-csite) Introduzione Sistemi Informativi L-B 2 1

La Home Page di SI L-B Contiene: Copia dei lucidi in formato PDF Guida al lab Testi e soluzioni delle esercitazioni svolte in lab Testi e soluzioni di prove d esame Regole d esame Bibliografia Avvisi Introduzione Sistemi Informativi L-B 3 Orario Lunedì ore 10-12 Aula 0.2 Lunedì ore 12-13 Aula 2.6 Il laboratorio avrà inizio verso la quarta-quinta settimana di lezioni In totale: 6 esercitazioni (18 ore) Introduzione Sistemi Informativi L-B 4 2

Obiettivi del corso Cosa: Il corso intende fornire gli strumenti necessari per imparare a progettare ed amministrare Basi di Dati relazionali progetto amministro quindi utilizzo Come: presentando una metodologia di progettazione basata sul modello Entity-Relationship e illustrando i principi costruttivi dei DBMS Perché: per poter agevolmente gestire (disegnare e comprendere) DB complicati, per capire come si possono migliorare le prestazioni, per sapere come funziona un DBMS, Il corso richiede necessariamente familiarità con i contenuti di Sistemi Informativi L-A!! Introduzione Sistemi Informativi L-B 5 Programma del corso Aula Laboratorio Progettare una base di dati Modello E-R Progettazione concettuale Progettazione logica Vincoli Il sistema DB-MAIN disegno di schemi E-R progettazione concettuale progettazione logica Tecnologia dei DBMS Memorizzazione dei dati Indici Elaborazione di query Transazioni Introduzione Sistemi Informativi L-B 6 3

Modalità d esame L esame si svolge in laboratorio Tipicamente: 1. Progettazione concettuale di una base di dati usando DB-MAIN 2. Progettazione logica, vincoli, ecc. 3. Esercizio su aspetti tecnologici Introduzione Sistemi Informativi L-B 7 Progettazione Prima parte del corso Aspetti metodologici Modello concettuale Aderenza di ciò che progettiamo a ciò che vorremmo rappresentare (la realtà ) Introduzione Sistemi Informativi L-B 8 4

Ricordiamo Immatricolazione Verbalizzazione DomandaLaurea PianiStudio DBMS Dati Ognuna delle molteplici applicazioni che usa i dati di un DBMS ha i suoi specifici requisiti, quindi: Per progettare una buona base di dati bisogna innanzitutto capire bene che dati deve contenere e che relazioni esistono tra tali dati Sembra semplice (sembra) Introduzione Sistemi Informativi L-B 9 Un esempio di requisiti Introduzione Sistemi Informativi L-B 10 5

il relativo DB (concettuale) Introduzione Sistemi Informativi L-B 11 e un possibile schema relazionale Prodotti(PCod,udm,descrizione) ProdLocali(PCod,Satellite) ProdTerrestri(PCod,prezzo,periodo) Partite(PartCod,PCodLocale,quantità,data,prezzo,Satellite) Supermercati(nome,n_coloni,Satellite) Satelliti(Nome) QuoteAssegnate(Satellite,PCodTerrestre,quantità) Rivendite(SatelliteProvenienza,PartCod) PrezziRivendite (PartCod,SatelliteProvenienza,SatelliteDestinazione,prezzo,quantità) Scambi(Supermercato,PCodLocale,PCodTerrestre,data,n_locali,n_terrestri) Introduzione Sistemi Informativi L-B 12 6

e un altro schema (simile ma diverso) Prodotti(PCod,udm,descrizione,tipo,Satellite,prezzo,periodo) Partite(PartCod,PCodLocale,quantità,data,prezzo,Satellite) Supermercati(nome,n_coloni,Satellite) Satelliti(Nome) QuoteAssegnate(Satellite,PCodTerrestre,quantità) Rivendite(SatelliteProvenienza,PartCod) PrezziRivendite (PartCod,SatelliteProvenienza,SatelliteDestinazione,prezzo,quantità) Scambi(Supermercato,PCodLocale,PCodTerrestre,data,n_locali,n_terrestri) In un DB reale è normalissimo che vi siano centinaia-migliaia di tabelle! Introduzione Sistemi Informativi L-B 13 e uno schema errato (?!) Scambi(Supermercato,PCodLocale,PCodTerrestre,data,n_locali,n_terrestri) Introduzione Sistemi Informativi L-B 14 7

Perché queste complicazioni.. Per non perdersi Per dotarsi di strumenti efficaci, chiari e sintetici in grado di rappresentare i dati di interesse e le loro relazioni E importante imparare a ragionare a diversi livelli di astrazione, così come si fa quando si deve sviluppare del software Quindi: il modello relazionale sarà il nostro target, ma dobbiamo sforzarci di pensare più in grande Introduzione Sistemi Informativi L-B 15 Dati e vincoli Come visto in Sistemi Informativi L-A, sappiamo che è cosa normale che i dati che si vogliono gestire devono rispettare dei vincoli: di dominio e di tupla assenza di valori nulli chiavi e chiavi primarie chiavi straniere ( foreign keys ) Ma da dove hanno origine questi vincoli? I vincoli si esprimono a livello di schema, sulla base di un analisi della realtà che si vuole modellare La conoscenza dei vincoli è quindi essenziale per: Progettare un buon DB (qualità dei dati ) Analizzare la "bontà" di un DB Introduzione Sistemi Informativi L-B 16 8

Dati e vincoli: ancora? In Sistemi Informativi L-B ci occupiamo di capire come hanno origine i vincoli, ovvero come ciò che rappresentiamo a livello concettuale genera automaticamente dei vincoli sugli schemi relazionali imparare a far rispettare (mediante query SQL, trigger e transazioni) quei vincoli che non si possono esprimere mediante DDL Esempio: In ogni ordine ci deve essere almeno un prodotto ordinato Ordini LineeOrdini IdOrdine Cliente Data Importo IdOrdine IdLinea CodProdotto Qtà A123 Rossi 01/12/2004 1000 A123 1 P0014 10 A234 Verdi 12/12/2004 500 A123 2 P1233 3 Questo DB non va bene!! Introduzione Sistemi Informativi L-B 17 Tecnologia dei DBMS Seconda parte del corso Aspetti sistemistici e algoritmici Cosa c è sotto NB: Nell edizione 2009-10 a questa parte verrà data minore enfasi, in quanto tali argomenti, notevolmente ampliati e approfonditi, verranno trattati nel corso di Tecnologia delle Basi di Dati M Ad esempio Introduzione Sistemi Informativi L-B 18 9

come fa un DBMS a eseguire le interrogazioni SQL? Introduzione Sistemi Informativi L-B 19 I 3 ingredienti di base Il linguaggio SQL è dichiarativo (non-procedurale), e pertanto ogni richiesta può dar luogo a diverse modalità specifiche di esecuzione Un DBMS è in grado di determinare la modalità (piano di accesso) più efficiente, facendo ricorso a 3 strumenti di base: Metodi di accesso, che prendono i dati Operatori, che elaborano i dati Ottimizzatore, che compone gli operatori Introduzione Sistemi Informativi L-B 20 10

Cos è un metodo di accesso? È un modo per accedere ai dati (tabella), supportato da una specifica implementazione fisica Ad es. facendo ricorso a opportuni indici ad albero (B+-tree), si possono risolvere in maniera efficiente richieste del tipo: Prendi le sole righe della tabella Incassi in cui Importo ha un valore compreso tra 20000 e 40000 index_scan(incassi.importo,[20000,40000]) Data Ora Cassa Prodotto Qtà Importo 20-12-1997 17:53 21 Panettone GnamGnam 1Kg 2 26000 20-12-1997 17:53 21 Spumante Bollicin 1 lt. 5 60000 20-12-1997 18:01 21 Dentifricio WhiteTeeth 1 3400 20-12-1997 18:02 15 Spumante Bollicin 1 lt. 2 24000 21-12-1997 9:06 3 Caffè BlackMoka 250 gr. 1 4100 Introduzione Sistemi Informativi L-B 21 Cos è un operatore? È un operatore ;-), ossia: Prende in input dei dati (una o più tabelle!) e produce un output (una tabella!) Ad es. l operatore di Sort prende in input una tabella, la ordina secondo il valore di uno o più campi e produce in output la tabella ordinata sort(incassi,[importo]) Data Ora Cassa Prodotto Qtà Importo 20-12-1997 18:01 21 Dentifricio WhiteTeeth 1 3400 21-12-1997 9:06 3 Caffè BlackMoka 250 gr. 1 4100 20-12-1997 18:02 15 Spumante Bollicin 1 lt. 2 24000 20-12-1997 17:53 21 Panettone GnamGnam 1Kg 2 26000 20-12-1997 17:53 21 Spumante Bollicin 1 lt. 5 60000 Gli operatori sono molteplici e variano da un DBMS all altro; tutti i DBMS però supportano quelli definiti dall algebra relazionale Introduzione Sistemi Informativi L-B 22 11

Cos è l ottimizzatore? È un modulo del DBMS che ha il compito di determinare il migliore piano di accesso per una richiesta, componendo in modo opportuno gli operatori e i metodi di accesso a disposizione Migliore in che senso? Nel senso che il DBMS reputa tale piano di accesso il più economico in termini di risorse consumate In generale (i dettagli dipendono dal DBMS specifico), la scelta si avvale di: Meccanismi di enumerazione dei piani di accesso Informazioni statistiche sui dati che permettono di stimare, mediante opportuni modelli, i costi di esecuzione delle varie operazioni Introduzione Sistemi Informativi L-B 23 Esempi di piani di accesso Vendite della cassa 5 del 20/12/1997 ordinate per prodotto SELECT * FROM Incassi WHERE Data = 20/12/1997 AND Cassa = 5 ORDER BY Prodotto Sort[Prodotto] Sort[Prodotto] Filter[Data,=,20/12/97] Filter[Data,=,20/12/97] Filter[Cassa,=,5] Filter[Cassa,=,5] ix_scan[cassa,5] ix_scan[data,20/12/97] ix_scan[prodotto,_] Data Ora Cassa Prodotto Qtà Importo 20-12-1997 17:53 5 Panettone GnamGnam 1Kg 2 26000 20-12-1997 17:53 21 Spumante Bollicin 1 lt. 5 60000 20-12-1997 18:01 5 Dentifricio WhiteTeeth 1 3400 21-12-1997 18:02 5 Spumante Bollicin 1 lt. 2 24000 21-12-1997 9:06 3 Caffè BlackMoka 250 gr. 1 4100 Introduzione Sistemi Informativi L-B 24 12

Un piano di accesso vero Introduzione Sistemi Informativi L-B 25 13