Sistemi di Elaborazione delle
Informazioni Mod.I
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
Associazione-Cardinalità
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
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
Esempio Schema concettuale
Amico
Cognome
Nome
Telefono
Codice
1
N
Appuntamento
Data
Ora
Luogo
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 logica
Ha 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..)
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I
Ing. L.Testa
Scarica

DataBase