Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Cobol
Prima degli anni 90 e del database veniva utilizzato il cobol (common oriented business o
language). Il cobol è un linguaggio procedurale con cui si gestiva le aziende, era usato per affari,
come dice anche il nome.
Gestiva la quantità di dati che veniva raccolta in archivi o file.
Con questo linguaggio se l’output va in: stampa, video o nastro si devono usare strutture diverse,
quindi mandare i file risultava complicato.
Sorge anche il problema della duplicazione dei dati: la ridondanza, infatti ogni applicazione da i
suoi dati e ci possono essere ripetizioni con incongruenze.
Dalla ridondanza (duplicazione dei dati) infatti possiamo arrivare all’incongruenza (se si modifica
un dato, il suo valore deve essere modificato ovunque) e inconsistenza (avere due valori diversi
per lo stesso dato).
RIDONDANZA -> INCONRUENZA -> INCONSISTENZA
La ridondanza di per sé non è una cosa negativa, ma va saputa gestire.
Con la duplicazione dei dati possiamo anche avere uno spreco di memoria. L’accesso ai dati
avviene solo tramite le applicazioni che li hanno generati.
Database
Negli anni 80-90 nasce la teoria del database, perché si aveva la necessità di organizzare al meglio
i dati, attraverso il database infatti è possibile memorizzare e organizzare in modo efficiente le
informazioni.
Dato: è qualcosa di grezzo che non ha valore se non inserito in un contesto.
Informazione: aggiunge qualcosa, è il dato inserito in un contesto, l’informazione porta
conoscenza.
Database: raccolta di dati e informazioni, progettate in modo tale da poter essere utilizzate
da differenti applicazioni e da utenti diversi.
Il sistema informatico è costituito dagli archivi in cui sono memorizzati tutti i dati:
Supporti fisici
Procedure
Strumenti di comunicazione
Gli archivi e le applicazioni sono una componente software.
I supporti fisici e la strumentazione sono una componente hardware.
Il database è uno strumento in grado di contenere tutti i dati necessari alle diverse applicazioni, in
modo da avere una sola copia, e permette l’accesso simultaneo a più utenti.
È quindi composto dall’insieme degli archivi: tabelle.
La sua principale caratteristica è quella di considerare solo i dati, separa completamente i dati
dalle applicazioni.
Nei database la definizione dei dati e i dati stessi sono salvati all’interno del database.
DBMS
È il sistema di gestione dei database, si preoccupa di gestire internamente i dati, compresa la loro
definizione e il modo in cui vengono fisicamente archiviati.
Un DBMS deve:
Gestire grandi quantità di dati: permettere di accedere in breve tempo e permettere
l’accesso a più utenti.
Garantire la condivisione dei dati: permettere a più utenti di condividere le stesse
informazioni.
Garantire la persistenza dei dati: i dati devono essere al sicuro.
Caratteristiche DBMS:
Semplice
Efficace
Sicuro
Solido (a malfunzionamenti)
Condiviso (tra più utenti)
Flessibile (gestisce perturbazioni)
Gestione tradizionale: ho le applicazioni che al loro interno hanno la definizione dei dati.
Gestione integrata: le applicazioni sono distinte dai dati, che sono gestiti dal database, il
DBMS si mette tra applicazioni e dati.
L’accesso al database avviene solo tramite il livello esterno, mediante una vista o direttamente al
livello logico, e si ottengono due forme di indipendenza dei dati:
Fisica: il livello logico e esterno sono indipendenti da quello interno (o fisico)
Logica: il livello esterno è indipendente da quello logico, aggiunte o modifiche alle viste
non richiedono una modifica nel livello logico.
Progettazione di un database
Progettare un database significa progettare le strutture prima logiche e poi fisiche che possono
accogliere nel modo migliore possibile i dati.
5 fasi:
Analisi del problema
Progettazione concettuale
Progettazione logica
Progettazione fisica
Realizzazione delle applicazioni
Le prime 3 fasi sono considerate la modellazione dei dati, le ultime 2 sono la modellazione
funzionale.
Modellazione dei dati: consiste nella progettazione delle tabelle del database, serve per
tradurre i dati dal mondo reale al mondo informatico.
Modellazione funzionale: consiste nell’implementazione delle tabelle e nella creazione di
funzioni che accedono ai dati.
Modello di dati: rappresentazione delle strutture dei dati del database, l’atto di creazione
di un modello è la modellazione dei dati.
Analisi
Avviene cercando di capire le esigenze del cliente, quali informazioni devono essere salvate in
modo da essere manipolate dall’utente.
È da preferirsi la tecnica bottom-up rispetto a quella top-down perché si presta maggiore
attenzione al dato.
Progettazione concettuale
In questa, si individuano i principali oggetti che faranno parte della rappresentazione, come
quando si cercava di identificare gli attributi della classe nella OOP. (COSA)
Esistono 2 modi per realizzarla:
Il modello entità-relazione (modello E-R).
Il modello a oggetti.
Il modello E-R è sicuramente quello più utilizzato, consiste nel rendere in modo grafico tutti gli
oggetti che fanno parte del database, il diagramma E-R rappresenta in modo facilmente leggibile le
strutture dei dati. In secondo luogo può essere usato per creare il database fisico e gli oggetti che
ne fanno parte.
Inoltre questo modello è assolutamente indipendente dal linguaggio scritto o parlato, permette di
comunicare in maniera efficiente.
Progettazione logica
La progettazione concettuale risulta molto astratta, quindi deve essere “implementata” dalla
progettazione logica.
Si identifica come funzionano gli oggetti. (COME)
Il modello logico è realizzato in funzione delle caratteristiche del database, lo si ottiene con la
traduzione dello schema concettuale applicando un insieme di regole ben definite.
Deve essere:
Indipendente dalle strutture fisiche.
Utilizzato dai programmi applicativi.
Modelli logici:
Gerarchico: in cui i dati sono organizzati mediante una struttura ad albero. La radice è il
record principale del database da cui partono i vari rami di numero variabile. Ogni
elemento prende il nome di segmento. Questo modello permette di rappresentare i dati
con la relazione 1 a N o 1 a molti. (anni ‘60)
Reticolare: le strutture sono dette “a grafo”, mediante puntatori si può accedere più
facilmente ai dati. Ogni record può connettersi con altri N record, quindi abbiamo una
relazione N a N, impossibile nel modello gerarchico. Per realizzare le connessioni tra record
si utilizzano i record connettori. (anni ‘60)
Relazionale: la sua struttura è un insieme di tabelle che possono essere connesse tra di
loro attraverso relazioni. Alla base di questo modello c’è il concetto matematico di
relazione tra insiemi. Ogni tabella ha: le colonne (i campi) e le righe (i record). È
attualmente il più utilizzato, infatti ha 3 vantaggi: indipendenza dei dati, la
rappresentazione logica non fa riferimento a quella fisica e l’informazione che è contenuta
nei campi. Inoltre non c’è la ridondanza dei dati, è quello che si abbina meglio al modello E-
R. (anni’70)
A oggetti: i DBMS a oggetti prendono il nome di ODBMS. Si fondano sugli stessi principi
della programmazione a oggetti: memorizzano nel database i dati e anche le operazioni che
possono essere eseguite su di loro, i metodi. (anni ‘80)
XML: non è proprio un modello logico di database, viene usato per lo scambio di dati tra
DBMS diversi. È un linguaggio simile all’HTML. (anni ‘90)
Implementazione e realizzazione
Nell'ultima fase viene fisicamente realizzato il database sul computer.
Implementazione: definizione fisica delle tabelle.
Sistema informativo e sistema informatico
Un’azienda è caratterizzata da:
Persone
Attività produttive
Attività accessorie
L’insieme di tutti questi costituisce un sistema organizzato, ovvero interagiscono tra loro per
raggiungere gli obiettivi dell’azienda.
All’interno dell’organizzazione possiamo trovare 3 livelli di attività:
Attività operative: è la base della piramide di Anthony, il livello più basso.
Programmazione e controllo: è il livello sopra le attività operative e sono le attività tattiche:
programmazione delle risorse, controllo degli obiettivi.
Pianificazione strategica: è il livello più alto. Rappresenta le attività strategiche. Qui si
scelgono gli obiettivi aziendali, le risorse e si definisce le politiche di comportamento delle
aziende.
Sistema informativo: è l’insieme di tutti i dati e flussi che riguardano la raccolta, produzione,
archiviazione, elaborazione e distribuzione dei dati.
I dati utilizzati dal sistema informativo aziendale possono provenire dall’interno dell’azienda o
anche dall’esterno. Quindi il sistema informativo usa dati strutturati e dati non strutturati.
Sistema informatico: costituito dall’insieme delle risorse messe a disposizione dalla tecnologia,
dalle persone che le utilizzano e dalle applicazioni che possono essere fatte con esse, con la finalità
di automatizzare l’archiviazione, la produzione, l’elaborazione e la distribuzione dei dati aziendali.
Amministratori:
Amministratore di sistema: installazione e manutenzione del sistema su uno specifico
hardware.
Amministratore della base di dati: si occupa del database.
Amministratore di rete: gestisce le comunicazioni organizzate in una rete estesa.
Amministratore di un sito web: pubblica pagine web su internet.