Post on 11-Jan-2016
description
Sistemi di Elaborazione delle Informazioni Mod.I
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Data Base
• Cos’è un DB
• DBMS, cosa sono e quali i vantaggi
• Modelli dei dati
• Progettazione concettuale
• Progettazione logica
• Progettazione fisica
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Cos’è un DB
L’insieme dei dati usati in uno specifico sistema informativo, di tipo..aziendale, scientifico etc.
Un DB è formato da 2 tipi di informazioni:• I dati (entità del sistema da modellare)• Le strutture (metadati, che descrivono le
cartteristiche comuni delle varie categorie di dati, nomi e tipi dei valori)
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Cos’è un DB
Es. di dati e Struttura (Studenti)
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Cos’è un DB
Un DB deve rappresentare i diversi aspetti della realtà, oltre i dati anche le relazioni
Il DB deve inoltre avere i seguenti requisiti:• I dati devono essere organizzati con ridondanza
minima (non duplicati inutilmente)• Devono essere utilizzabili contemporaneamente
da più utenti (unica versione dei dati)• Devono essere permanenti (memorie di massa e
tecniche di storage)
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
DBMS
Sistema di gestione di una base di dati
Prima: mainframe e uso diretto delle strutture del file system(le applicazioni accedono direttamente agli archivi, conoscono la struttura dei dati, definiscono le relazioni, permettono l’uso contemporaneo dei dati, gestisc la permanenza)
Dopo: componente dedicato alla gestione
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
DBMS
Le applicazioni si rivolgono al DBMS per accedere ai dati:
• Raggruppamento delle funzioni di gestione del DB -> sviluppo applicazioni più semplice
• Controllo delle operazioni fatte dalle applicazioni sul DB
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
DBMS
Vantaggi del DBMS:
• Indipendenza dei dati dall’applicazione• Riservatezza nell’accesso ai dati• Gestione dell’integrità fisica dei dati• Sicurezza e ottimizzazione nell’uso dei dati
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
DBMS - Indipendenza dei dati dall’applicazione
Prima (approccio file system):dati strettamente correlati all’applicazione; le applicazioni devono conoscere il formato fisico dei dati, localizzazione sui dispositivi di memorizzazione, tecniche usate per ottimizzare i tempi di ricerca.
Dopo (DBMS):indipendenza dalle applicazioni -> migliore manutenzione software S.I.;poiché modifiche alla struttura fisica dei dati non comporta necessariamente modifiche al software del S.I.
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
DBMS-Riservatezza nell’accesso ai dati
Prima (approccio file system):non consente visioni logiche diverse dello stesso insieme di dati -> impossibile discriminare l’utenza nell’accesso ai dati
Dopo (DBMS):consente visioni logiche multiple e contemporanee della stessa struttura fisica dei dati.
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
DBMS-Gestione dell’integrità fisica dei dati
Il DBMS garantisce la persistenza dei dati:garantendo la registrazione delle informazioni nel tempo e assicurandone l’integrità, evitando l’incosistenza attraverso il controllo degli accessi contemporaneo
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
DBMS-Gestione dell’integrità logica dei dati
Stabilire dei vincoli in fase di definizione dei dati in modo che non sia possibile aggiungere dati o apportare modifiche (es.range, tipi enumerativi..) che non abbiano un senso nel contesto in esame.
Vincoli su:• Singole categorie di dati• Relazioni tra categorie
Un caso particolare di integrità logica su una relazione è l’integrità referenziale; impone che in una categoria di dati vi siano elementi non associati mediante la relazione in esame.
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
DBMS-Sicurezza e ottimizzazione nell’uso dei dati
Il DBMS permette la centralizzazione della gestione di utenti e risorse.-> è possibile stabilire per ciascun utente i diritti di accesso alle unità di informazione del DB.
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Modelli dei dati
Dal sistema reale al DB:(fasi di progettazione)
- progetto concettuale- progetto logico- progetto fisico
Ad ogni fase esistono esistono tecniche per la rappresentazione degli aspetti rilevanti della realtà da modellare.
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Modelli dei dati
Ad ogni fase di progettazione esistono specifici modelli per la rappresentazione dei dati, attraverso i quali è possibile generare lo schema.
Def:• Un modello stabilisce le convenzioni per
esprimere i diversi aspetti della realtà• La rappresentazione generata seguendo le
regole del modello è detta schema
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Modelli dei dati
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Progettazione concettuale
Obiettivo: rappresentazione completa ed efficace della realtà interessante ai fini informativi in modo indipendente dal DBMS.
I modelli usati sono definiti modelli semantici, il più diffuso il modello E/R
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Progettazione concettuale
Il modello concettuale prevede:• L’individuazione di oggetti concreti o astratti rilevanti per il sistema
informativo e la classificazione in entità• La definizione degli attributi, per la descrizione delle proprietà
caratteristiche di ogni entità• La definizione delle Associazioni tra entità
Il modello concettuale rappresenta i dati e le relazioni tra essi attraverso uno schema. Lo schema finale deve essere indipendente:
• dal valore dei dati, • dall’uso dei dati e quindi dalle procedure, funzioni e programmi che
elaborano questi dati, • da ciò che deve essere mostrato all’utente di questi dati (viste
parziali per gli utenti).
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Entità-Esempi
• Nella gestione di un magazzino, le entità possono essere cliente, fornitore, articolo etc....
• Per la gestione di un albergo le entità potrebbero essere: cliente, camera
• Per un’agenzia turistica le entità potrebbero essere: cliente, viaggio
• Per individuare le entità nel contratto con il committente i soggetti (o in qualche caso i sostantivi) sono buoni candidati per le entità.
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Associazione-CardinalitàUna relazione tra due insiemi di entità viene classificata in base alla sua cardinalità
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Le cardinalità massime consentono di classificare le associazioni binarie in base al tipo di corrispondenza:
Associazione 1 : 1 o biunivoca (uno a uno). In questo caso la cardinalità massima per entrambe le entità coinvolte è pari ad uno
Associazione 1 : N (uno a N o uno a molti). In questo caso un’entità dell’associazione ha cardinalità massima pari ad uno, l’altra pari ad N
Associazioni N : M (N ad M o molti a molti). In questo caso entrambe le entità coinvolte nell’associazione hanno cardinalità massima pari a N
Associazione-Cardinalità
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Associazione -Esempi
• Un cliente compra un articolo (i) (un articolo è comprato da più clienti)
• Un cliente prenota una stanza d’albergo (una stanza è prenotata da più clienti)
• Un turista acquista un pacchetto turistico (un pacchetto turistico è acquistato da più turista).
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Progettazione concettuale
Individuate le entità e le associazioni, queste vengono rappresentate in maniera grafica per fornire una rappresentazione complessiva del sistema informativo
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
• Realizzare un’agenda elettronica. Si vuole memorizzare:
– un elenco di amici con un’indicazione del cognome, del nome e del telefono
– tutti gli appuntamenti del proprietario. Per ogni appuntamento si vuole memorizzare la data, l’ora ed il luogo dell’appuntamento nonchè la persona con cui si ha l’appuntamento.
• Realizzare l’agenda nelle seguenti ipotesi: – ogni appuntamento è con un solo amico
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Amico
CognomeNome
TelefonoCodice
Appuntamento
DataOraLuogo
N
1
Esempio Schema concettuale
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Esempio Schema concettuale
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Astrazione
Come si identificano gli oggetti nella realtà d’interesse? Per questo si riflette sui meccanismi di astrazione che permettono di ottenere uno schema della realtà.
Astrazione: Processo logico per cui, prescindendo dai particolari degli oggetti, se ne considerano solo i caratteri generali. (Es autovettura)
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Astrazioni
Tre tipi di astrazione:
• Classificazione• Aggregazione• Generalizzazione
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
classificazione
Viene definita una classe a partire da un insieme di oggetti che possiedono proprietà comuni.(es. autovettura)
Ci porta alla definizione di una classe, con cui si denota un insieme di oggetti della rappresentazione.. detti istanze della classe (es.opel corsa)
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
aggregazione
Altro meccanismo di astrazione è l’aggregazione che definisce un concetto a partire da altri concetti.(veicolo+proprietario+data acquisto-> Proprietà)
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
generalizzazione
Definisce un concetto a partire da altri definiti mediante l’astrazione di classificazione.(studente+docente+borsista -> persona)
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Astrazione
Alla individuazione di una classe si può giungere attraverso differenti processi di astrazione
• (classificazione,possiedono ruote->veicoli)• (aggregazione)• (generalizzazione,autovettura motociclo
furgone -> veicoli)
Il modello E/R consente la rappresentazione delle tre astrazioni (entità==astraz. di classificazione)(relazioni==astraz. di aggregazione)
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Progettazione logicaHa lo scopo di tradurre lo schema concettuale, espresso
mediante un modello semantico, in una rappresentazione espressa mediante un modello logico.
Modello logico: descrive la struttura dei dati negli archivi elettronici. Oltre ai dati vengono descritte le strutture di supporto per facilitare le operazioni che si devono effettuare con i dati
Risultato di questa fase è una definizione delle strutture dati e della loro organizzazione.
In questa fase si determina l’organizzazione del data base (flat file, data base gerarchico, reticolare, relazionale ad oggetti od altro), ed in funzione dell’organizzazione scelta si determina la struttura logica di ogni elemento.
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Progettazione logica
Dipende strettamente dal DBMS usato
Ulteriore compito del progetto logico è l’individuazione all’interno dello schema logico delle parti che sono rilevanti per le singole applicazioni..definite viste o sottoschemi
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Progettazione fisica
Viene definito come le strutture definite a livello logico devono organizzate negli archivi e nelle strutture del file system.
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Uso dei DBMS
Nell’uso di un DBMS vengono distinti tre tipi di linguaggi in base alle funzioni eseguite sui dati:
• DDL (per la def dello schema logico del DB)• DML (per le operazioni di interrogazione e
manipolazione dei dati)• DCL (per operazioni di controllo dei dati;
gestione utenti, diritti di accesso..)