Sei sulla pagina 1di 7

Database

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.

 Sistema informativo: gestisce le informazioni.


 Sistema informatico: ogni informazione fa parte del sistema informatico, è un sottoinsieme
del sistema informativo.

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.

 Archivio: insieme dei dati che vengono salvati su un supporto di memorizzazione.

Il database organizza le informazioni in modo:


 Semplice
 Efficiente
 Efficace
 Sicuro
 Solido
 Condiviso

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)

Funzionalità DBMS: (tutto ciò che fa con i dati)


 Memorizzare
 Salvare
 Organizzare
 Inserire
 Modificare
 Proteggere

 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.

Architettura standard a 3 livelli per DBMS


L’architettura standard per il DBMS è su 3 livelli:
 Schema esterno: descrizione di parte del database.
 Schema logico: descrizione di tutto il database.
 Schema interno (o fisico): rappresentazione dello schema logico.

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.

Un buon progetto concettuale ha:


 Completezza
 Correttezza
 Chiarezza
 Indipendenza: dallo strumento informatico usato

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.

In generale si può considerare la catena: dati -> informazioni -> conoscenza


 Dati: materia prima per l’azienda. Es: “3”, il dato in se non ha valore.
 Informazioni: valore aggiunto che si può fare ai dati. Es: “le case sono 3”, il dato viene
inserito in un contesto.
 Conoscenza: è la vera finalità del sistema informativo aziendale.

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.

Gli elementi fondamentali del sistema informatico sono:


 Dispositivi hardware: periferiche di input/output, dischi e memorie di massa,
minicomputer, ecc...
 Il software: software per la gestione del sistema informatico, programmi di supporto alla
progettazione.
 Le persone: gestori e utilizzatori dei dati aziendali
 Le applicazioni:

Profili professionali dell’informatica


Tra le persone che si occupano direttamente dl sistema informatico aziendale possiamo
distinguere diversi profili professionali. Tuttavia all’interno di piccole o medie aziende c’è una
persona che svolge più ruoli e diventa impercettibile la differenza tra un profilo professionale e un
altro, si parla piuttosto di funzioni che svolge un esperto di informatica al posto di “profilo
professionale”.
Principali figure professionali:
 Progettista software: detto anche capoprogetto, si occupa delle specifiche del progetto e
del prodotto e coordina il gruppo di lavoro.
 Programmatore: scrive i programmi e ne controlla il funzionamento.
 Analista: insieme al capoprogetto definisce gli obiettivi di lavoro e coordina il gruppo.
 Operatore: controllo delle apparecchiature.
 Sistemista: si occupa dei sistemi di elaborazione, configura le risorse hardware e software.

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.

Persone esterne all’azienda:


 Tecnico hardware: si occupa dell’assistenza e della manutenzione dell’hardware.
 Consulente informatico: fornisce soluzioni migliori ai responsabili del sistema.
 Product manager: lavora alle aziende che distribuiscono prodotti hardware e software,
orienta le scelte dell’azienda.
 Venditore: si occupa dei rapporti commerciali con i clienti.
Utenti database
Un database viene utilizzato da persona diverse, per funzioni e applicazioni diverse:
 DBA (database administrator): è l’amministratore della base di dati e quindi ha la
responsabilità della gestione del database. Il DBA deve: gestire e trattare i dati (inserimenti,
modifiche, ecc.), autorizzare gli accessi, definire le viste per gli accessi parziali, controllare i
programmi che richiedono l’uso del database, manutenzione del database nel tempo,
controllo della disponibilità di memoria.
 Programmatori: utilizzano un linguaggio DML, comandi o un linguaggio specifico per
database.
 Utenti finali: possono accedere al database solo attraverso i comandi del linguaggio di
interrogazione (query language) oppure attraverso interfacce del software (icone).

Potrebbero piacerti anche