L'Informazione
- L'informazione è un bene a valore crescente, necessario per pianificare e
controllare con efficacia le attività dell'organizzazione, e rappresenta la
materia prima che viene trasformata dai sistemi informativi
- All'interno di un'azienda, ad es., le informazioni vengono usate per decidere
come allocare le risorse per il raggiungimento degli obiettivi aziendali
- E' necessario definire i processi per la raccolta delle informazioni per
pianificare, organizzare, controllare le attività aziendali
- Le informazioni sono poi utilizzare per misurare le prestazioni delle attività
Il Sistema Informativo
Utenti
Operazioni
Passeggeri
Amministrazione
DELETE
FROM Voli
WHERE Partenza = "BLQ"
AND
Ora = 08:40
Modello
Concettuale
SELECT Ora
FROM Voli
WHERE Partenza = "BLQ"
DBMS
Schema
Parser, ...
Part. - > Città
Part., Ora -> Dest.
Scheduler, ..
Vincoli
Metodi di
accesso
read, write
Progettazione DB
Esecuzione
- Un sistema informativo è un
insieme di risorse (di
qualunque natura) e di
metodologie finalizzate alla
raccolta, all'uso e allo scambio
di informazioni
- La gestione delle informazioni
con strumenti informatici
avviene normalmente tramite
una Base di Dati, che è una
collezione di dati che
rappresentano le informazioni
di interesse per
un'organizzazione.
Sistemi Informativi
- Un sistema informativo è un componente di una organizzazione il cui scopo è gestire (acquisire, elaborare,
memorizzare, produrre, distribuire) le informazioni utili per gli scopi dell'organizzazione stessa.
- Elementi costituenti un sistema informativo:
- Patrimonio di dati: ciò che genera le informazioni;
- Nucleo applicativo: insieme di procedure per l'acquisizione e trattamento dei dati e produzione di informazioni;
- Risorsa umana: insieme delle persone che sovrintendono queste procedure;
- Infrastruttura tecnologica: insieme di mezzi e strumenti necessari al trattamento, trasferimento ed archiviazione delle informazioni
- Insieme di principi generali: che determinano il comportamento del sistema (ad es., criteri di accentramento/decentramento
dell'architettura)
- Possibili approcci ai Sistemi Informativi:
- Tecnico: Modelli, strumenti e metodologie per progettare e usare Sistemi Informativi
- Comportamentale: influenza dei Sistemi Informativi sulle organizzazioni e gli individui
- Economico: Valutazioni di efficacia e convenienza economica
Sistemi Informativi vs. Sistemi Informatici
- L'esistenza del Sistema Informativo è in parte indipendente dalla
sua automazione che avviene tramite strumenti propri della
tecnologia dell'informazione
- La parte automatizzata di un Sistema Informativo viene chiamata
Sistema Informatico
Sistema Informativo
Sistema Informatico
Dai Dati alle Informazioni
- Nei Sistemi Informatici le informazioni vengono rappresentate
per mezzo di dati, che hanno bisogno di essere interpretati per
fornire informazioni
Dato :
"Mario Rossi" e 0898932989
Informazione :
Il numero di telefono di Mario Rossi è 0898932989
Il File System
- Un file è una collezione di dati che risiede su un dispositivo di memoria esterna ed è
strutturata in accordo ai requisiti di un'applicazione.
- Un File System fornisce solo semplici meccanismi di accesso e condivisione
Emissione
fatture
Indirizzo
-Cliente
Ana grafe
clienti
Inserimento
Ordini
Indirizzo
Cliente
Ordini
Registro
fatture
Indirizzo
Cliente
Fatture
La ripetizione dell'indirizzo del cliente consente alle applicazioni
Registro fatture e inserimento ordini di operare allo stesso tempo
Svantaggi File System
- I file possono presentarsi in formati tra loro incompatibili, e i
programmi devono adattarsi a convenzioni diverse anche a
distanza di anni. Questo complica la condivisione dei dati tra
applicazioni differenti.
- Rischio di replicazione dei dati con conseguente spreco di
memorizzazione
- Se abbiamo dei file condivisi bisogna sviluppare delle soluzioni
specifiche per la concorrenza: esempio due programmi vogliono
modificare il contenuto di un file contemporaneamente
Basi di dati (Database)
- Un DBMS (Data Base Management System) è un sistema software in grado di
gestire collezioni di dati grandi, condivise e persistenti, assicurando la loro
affidabilità e privatezza.
- Una Base di Dati è una collezione di dati gestita da un DBMS.
Sistema Informativo
Sistema Informatico
DBMS
BASE DI DATI
DBMS
- L'approccio basato su DBMS supera
l'utilizzo di file locali gestiti dalle singole
applicazioni, adottando un sistema di
gestione dei dati indipendente dalle
applicazioni e specializzato in questa
funzione.
- II DBMS offre un'interfaccia comune alle
applicazioni che richiedono dei dati
- I dati quindi non sono di propietà di una
singola applicazione ma le applicazioni
accedono ai dati tramite il DBMS
Programmi
...
DBMS
DB
Peculiarità dei DBMS
- Gestione di grandi moli di dati persistenti
- Gestione della condivisione tra diversi utenti ed applicazioni
- gestione delle transazioni
- Garantisce la affidabilità dei dati, cioè la capacità di ripristino a fronte di
malfunzionamenti (resilienza)
- meccanismi di salvataggio (backup) e ripristino (recovery)
- Offre una "visione strutturata" dei dati
- modello (logico) dei dati
- Garantisce la privatezza dei dati
- meccanismi di autorizzazione
Database Vs. File System
La gestione delle informazioni è centralizzata in una rappresentazione integrata e
non ridondante
Emissione
fatture
Indirizzo
cliente
Anagrafe
clienti
Inserimento
Ordini
`DBMS
Ordini
Registro
fatture
Fatture
Una granularita' piu' fine consente l'uso condiviso della
risorsa indirizzo cliente
Vantaggi DBMS
- I dati sono condivisi e questo porta due vantaggi fondamentali:
- Si riduce la ridondanza: le informazioni non vengono replicate, cosa che
invece avverrebbe se la gestione fosse fatta tramite file locali
- Si riduce l'inconsistenza: dal momento che le copie di un singolo dato
sono eliminate, si evita l'avvenire di inconsistenze (ad es. un dato viene
modificato e la sua copia no)
Vantaggi DBMS: Prestazioni e Sicurezza
- Dal momento che i DBMS devono gestire grandi moli di dati, vengono
implementate delle best-practices per gestire:
- Efficacia ed efficienza: Le tecniche di memorizzazione utilizzano migliorano le
prestazioni di archiviazione e accesso alle informazioni, che altrimenti
dovrebbero essere implementate in ogni singolo programma.
- Affidabilità: Sono implementate tecniche di protezione e verifica dell'integrità
dei dati per gestire malfunzionamenti hardware e software, come (es. crash
recovery).
- Concorrenza: I sistemi DBMS adottano metodologie che garantiscono l'accesso
concorrente ai dati, minimizzando l'impatto sulle prestazioni, ad esempio
riducendo i tempi di attesa dovuti alla mutua esclusione sui dati.
- Privacy: Vengono implementate tecniche di sicurezza per garantire un accesso
ristretto, permettendo a ciascun utente di visualizzare solo il sottoinsieme dei
dati a cui è autorizzato.
Vantaggi DBMS nello Sviluppo Applicativo
- L'uso di un DBMS ha anche un effetto sullo sviluppo delle
applicazioni:
- Si riduce il tempo di sviluppo: le applicazioni non devono implementare
meccanismi per la gestione dei dati, ma possono utilizzare quelli del
DBMS
- Si semplifica e standardizza lo sviluppo: realizzare un'applicazione
diventa più semplice dal momento che di delega la gestione dei dati al
DBMS e si accede ad esso utilizzando un'interfaccia standard.
Modello dei dati
- Un modello dei dati è una collezione di strutture e regole che permettono la
rappresentazione della realtà di interesse.
- Schema: rappresentazione di una specifica realtà secondo un certo modello
- Istanza: valori (dati) effettivamente memorizzati
- Modelli logici:
forniscono una descrizione dei dati che è direttamente supportata dal DBMS;
- (in ordine cronologico): gerarchico, reticolare, relazionale, a oggetti
- Modelli concettuali:
descrizione dei concetti della realtà indipendentemente da aspetti realizzativi
- Entity-Relationship, a oggetti
Modello Relazionale
- È il modello logico più diffuso. I dati sono rappresentati in forma tabellare, cioè usa come
unica struttura le relazioni o tabelle
ESAMI
Matricola
NomeCorso
Docente
Voto
Schema
123
Matematica
Rossi
28
128
Matematica
Rossi
24
Istanza
123
Inglese
Taylor
26
- Lo schema è costituito dal nome delle colonne
- Lo schema è invariante rispetto al tempo.
- L'istanza è costituita dalle righe
- L'istanza varia per l'aggiunta, la modifica e la cancellazione righe (record o tuple)
Basi di Dati Relazionali
Una base di dati relazionale è un insieme di tabelle correlate
ESAMI
Matricola
NomeCorso
Docente
Voto
123
Matematica
Rossi
28
STUDENTI
Matricola
Nome
Cognome
Età
123
Anna
Verde
21
NomeCorso
Anno
Crediti
CORSI
Matematica
1
5
Informazioni e Vincoli
- In ogni situazione reale le informazioni che si vogliono gestire
devono rispettare certi vincoli
▪
Esempio: il numero di matricola è unico
Matricola
Cognome
STUDENTE
123
Rossi
123
Verde
- Esempio: una stessa matricola non può dare due volte lo stesso esame
Matricola
NomeCorso
Voto
ESAME
123
Matematica
28
123
Matematica
26
Rappresentazione Concettuale: Entity/Relationships (E/R)
- C'è bisogno di strumenti efficaci, chiari e sintetici per rappresentare i dati di
interesse e le loro associazioni in modo concettuale
▪
Uno studente ha la matricola univoca ed un
cognome
▪
Un corso ha un nome univoco ed un docente
▪
Uno studente sostiene un esame per un
certo corso, riportando un voto
=> l'esame è un'associazione
tra uno studente ed un corso
- Uno studente può sostenere più esami, ma
non per lo stesso corso
▪
...
Matricola
Studente
Cognome
(0,N)
Esame
Voto
(0,N)
Nome
Corso
Docente
Informazioni e Vincoli
Schema E/R