di Basi di Dati: Overview

Slides:



Advertisements
Presentazioni simili
Corso di Basi di Dati Progettazione di Basi di Dati
Advertisements

Basi di Dati e Sistemi Informativi
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
CORSO elementare su DATABASE Applicativo utilizzato OpenOffice 3.0.
Fondamenti di Informatica A - Massimo Bertozzi LE RAPPRESENTAZIONI CONCATENATE.
UNIVERSITA’ DI MODENA E REGGIO EMILIA Prof. Maria Angela Becchi Medicina di Comunità Integrazione Ospedale-Servizi territoriali nel curare e prendersi.
Basi di dati - Fondamenti
La progettazione concettuale
Database Accesso Utenti diversi Programmi diversi Modelli di database
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Le Basi di dati: progettazione concettuale.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Corso di Ingegneria del Web A A
Secondo Compito: PROGETTAZIONE DI UN DATABASE Claudia Angione
PROGETTAZIONE DATABASE SECONDO COMPITO CAROLINA CASIELLO
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
PROGETTAZIONE CONCETTUALE
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
A. A – 2008 Basi di dati 1 Corso Prof
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Corso di Basi di Dati Il Linguaggio SQL
Microsoft Office Access
Raccolta ed Analisi dei Requisiti nella Progettazione
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
La normalizzazione delle relazioni
Basi di Dati e Sistemi Informativi
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Corso di Basi di Dati Il Linguaggio SQL
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Un’università vuole raccogliere ed organizzare in un database
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Il modello relazionale
Organizzazione della Memoria
FAQ.
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
SAS® OnDemand for Academics SAS Studio
Progettazione logica: Il modello relazionale
Gli schemi concettuali
Il sistema informativo di Pronto Soccorso Più in dettaglio
OBJECT ORIENTED DATABASE
Basi di dati - Fondamenti
Partizionamento/accorpamento di concetti
Dino Pedreschi Dipartimento di Informatica a.a. 2011– 2012
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
SQL per la modifica di basi di dati
La modellazione concettuale
Le basi di dati: progettazione concettuale.
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Corsi di Laurea in Biotecnologie
Il modello relazionale
Progettazione di una base di dati
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Introduzione ai DBMS I Sistemi di Gestione di Basi di Dati sono strumenti software evoluti per la gestione di grandi masse di dati residenti su memoria.
Il questionario: progettazione e redazione II Modulo
Transcript della presentazione:

di Basi di Dati: Overview Corso di Basi di Dati Progettazione di Basi di Dati: Overview Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

Progettazione di DB Negli esempi visti fin’ora, abbiamo studiato come implementare una base di dati in SQL, a partire da uno schema relazionale già definito. IMPIEGATO UFFICI Codice Nome Cognome Dipartimento Capo Dipartimento Sede CREATE TABLE IMPIEGATO( CODICE SMALLINT PRIMARY KEY … .. …

Progettazione di DB Q. Come procedere se dobbiamo realizzare da zero un nuovo sistema informativo? Es. Progettazione di un sistema informativo per gestire i dati di un reparto ospedaliero (anagrafica pazienti, anagrafica medici, cartelle cliniche, etc). … In questo caso, partire direttamente con l’implementazione delle tabelle SQL può essere complesso se non impossibile (vedi dopo)…

integrata del fascicolo sanitario Progettazione di DB PROBLEMA1: Dimensionamento del problema. Negli esempi proposti fin qui, uno schema di un DB era composto da max 5 tabelle… In pratica, un DB di un sistema informativo di medie dimensioni può contenere decine di tabelle … Es. rete SOLE, gestione integrata del fascicolo sanitario

Progettazione di DB PROBLEMA2: Analisi dei requisiti Quali sono le specifiche del sistema che si vuole realizzare? Quali sono i dati d’interesse nel modello? Quali sono le operazioni sui dati da gestire? Nella pratica, capire le richieste dei clienti è un processo solo apparentemente semplice …

? ? Progettazione di DB PROBLEMA3: Traduzione nel modello relazionale Q. Supponendo di aver chiarito cosa si deve realizzare, ed i dati da gestire, come passare da una specifica informale dei dati ad un schema relazionale? SPECIFICHE Il sistema deve gestire i dati relativi ai ricoveri di ciascun paziente, tenendo traccia delle terapie mediche giornaliere somministrate, degli esami di laboratorio effettuati, etc ? ? PAZIENTE RICOVERO TERAPIA … ... … ... …

Progettazione di DB PROBLEMA3: Traduzione nel modello relazionale Senza una buona progettazione, possono emergere anomalie ed errori nella fase di traduzione nel modello relazionale … RICOVERI CodRecovero Nome Cognome Reparto Primario 1236565 Mario Rossi P. Soccorso Davide Bianchi 4545327 Marco 3423423 Maria 5435345 Michele Verdi Queste informazioni sono ridondanti …

Progettazione di DB PROBLEMA3: Traduzione nel modello relazionale Senza una buona progettazione, possono emergere anomalie ed errori nella fase di traduzione nel modello relazionale … Es. Si vogliono modellare le informazioni dei conti correnti di un ente di credito. Ogni conto può essere intestato a più clienti. Ogni cliente può disporre di più di un conto. CLIENTI NumCliente Nome Cognome NumConto CONTI NumConto TipoConto Credito

Progettazione di DB Come procedere? Esistono tecniche e metodologie consolidate per progettare una “buona” base di dati a partire dai suoi requisiti. In generale, la progettazione è un solo uno dei componenti del ciclo di vita di un sistema informativo (vedi prossima slide …) REQUISITI PROGETTAZIONE DB SQL

{ Progettazione di DB Studio di fattibilità Raccolta/analisi requisiti Oggetto di studio del modulo corrente { Raccolta/analisi requisiti Progettazione di un sistema Informativo Ciclo di vita Modulo precedente Implementazione Validazione Funzionamento

Progettazione di DB 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

Progettazione di DB 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 società 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, età, 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.

Progettazione di DB 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 …

Progettazione di DB 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

Progettazione di DB In questo corso, vedremo una metodologia “classica” di progettazione basata su 3 fasi … ANALISI REQUISITI PROGETTAZIONE CONCETTUALE Cosa si rappresenta Come lo si rappresenta FILE1 FILE2 FILEn Tabella1 Tabella2 TabellaN PROGETTAZIONE FISICA PROGETTAZIONE LOGICA

Progettazione di DB Ogni fase della progettazione produce una rappresentazione della base di dati attraverso uno schema: Progettazione Concettuale  Progettazione Logica  Progettazione Fisica  SCHEMA CONCETTUALE SCHEMA LOGICO (dipendente dal modello dei dati) SCHEMA FISICO (dipendente dal DBMS in uso)

Progettazione di DB 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

Progettazione di DB In questa fase, ci si focalizza sul contenuto informativo dei dati ad alto livello di astrazione, senza focalizzarsi sull’implementazione. In output, si produce un modello concettuale: indipendente dallo schema logico (relazionale) indipendente dal DBMS in uso Utilità della progettazione concettuale: Creare un’astrazione completa dei dati da rappresentare Capire le relazioni tra i dati del modello Fornire una documentazione della base di dati

Progettazione di DB Sono disponibili molti modelli concettuali per la progettazione di basi di dati. MODELLO ENTITA’ -RELAZIONE (ER) UNIFIED MODELING LANGUAGE (UML)

Progettazione di DB 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

Progettazione di DB In questa fase, si rappresenta la base di dati nello schema logico del DMBS (nel nostro caso, nello schema relazionale). La progettazione logica comprende: Traduzione dello schema concettuale Ottimizzazione dello schema logico ottenuto Tabella1 TabellaN Tabella2

Progettazione di DB Una volta ottenuto lo schema logico, è necessario analizzare la qualità del prodotto finale: Rimozione delle ridondanze (normalizzazione) Analisi delle prestazioni In base alle operazioni previste sui dati, lo schema prodotto è efficiente dal punto di vista delle prestazioni? Attributo1 … Attributom Attributo1 Attributo2 … AttributoN Attributo1 Attributom

Progettazione di DB 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

Progettazione di DB In questa fase, si descrivono le strutture per la memorizzazione dei dati su memoria secondaria, e l’accesso (efficiente) ai dati. 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