David Mugnai
27 Gennaio 2019Guernica di Picasso
27 Gennaio 2019Informatica
Un sistema informativo organizza e gestisce le informazioni necessarie per eseguire gli scopi di un organizzazione. Sistema informativo: insieme di regole che permettono gli scambi informativi nell’ambito delle strutture aziendali.
Un sistema informativo automatizzato diventa un sistema informatico, cioè un sistema in cui l’informazione fluisce in maniera automatica. Questo sistema ha in se due nozioni fondamentali:
DATO Ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione. |
INFORMAZIONE Notizia o elemento che consente di avere una maggiore conoscenza, più o meno esatta, dei fatti. |
I dati costituiscono una risorsa per l’organizzazione che li gestisce, un patrimonio da sfruttare e proteggere.
Archivi e data base
A causa della rapida crescita della complessità dei dati da gestire, il settore della conservazione e della elaborazione dei dati è stato il primo in cui linformatica si è affermata, proprio per le possibilità offerte dai nuovi sistemi. Infatti per questo scopo sono nati prima gli archivi che sono insiemi organizzati di informazioni, conservati su appositi supporti e disponibili per l’uso.
Un archivio deve avere una struttura ed una forma ben definiti, divenendo quindi un sistema organizzato per la conservazione ed il trattamento dei dati. Tale struttura è quindi caratterizzata da una organizzazione che si distingue in:
organizzazione fisica (supporto), ad es. nastri e dischi;
Successivamente nel 1968 si forma il Data Base Task Group (DBTS) per stabilire le norme generali per la gestione e supervisione dei dati. Nel 1971 il DBTS propone la definizione standard di Data Base e Data Base Management Sistem.
Un Data base può essere definito come un insieme di dati strettamente correlati, memorizzati su un supporto di memoria di massa, costituenti un tutt’uno, che possono essere manipolati da più programmi applicativi.
I programmi di gestione di Data Base realizzano una serie di operazioni che consentono l’accesso a dati immagazzinati in un PC e che ne permettono altresì una certa manipolazione.
Lantenato dei Data Base relazionali odierni può essere identificato con lagenda telefonica: se guardiamo com’è fatta la nostra agenda scopriremo una notevole affinità con i suoi parenti più tecnologici attuali.
Infatti è organizzata tramite un indice (la serie di linguette sul fianco che ci permette di accedere più rapidamente a tutti i nominativi che iniziano con una certa lettera) che gestisce una tabella composta da colonne che identificano il tipo di dato sotto riportato (nome, numero di telefono, a volte indirizzo) all’interno delle registrazioni (le quali possiamo chiamare record”) che, pur differendo l’una dall’altra per i dati riportati al loro interno hanno tutti la stessa struttura”, cioè riportano le stesse informazioni nella medesima maniera.
L’approccio convenzionale alla gestione dei dati sfrutta la presenza di files da memorizzare sulle memorie di massa. Dati di interesse per più applicazioni devono allora essere replicati, con problemi di ridondanza e di incoerenza (di cui si parlerà più avanti).
Le tecniche di gestione delle basi di dati nascono, infatti, per superare i problemi e i limiti degli archivi classici.
I problemi principali di un archivio sono:
Le caratteristiche fondamentali di una Base di Dati sono:
Indipendenza dalla struttura fisica dei dati: non esiste un legame tra un file ed un altro se non c’è una chiave che li lega.
Indipendenza dalla struttura logica dei dati: se si modifica uninformazione non c’è bisogno di modificare il programma che utilizza il data base perché viene modificato solo lo schema.
Gestione di una base dati
Un Data Base Management System (DBMS) è un sistema software per la gestione di basi dati; esso si occupa dellaggiornamento, della manutenzione e della consultazione di un insieme di registrazioni contenute in un supporto di memoria di massa.
Il DBMS, pertanto, è uninsieme di programmi che sono rivolti alla gestione di dati che siano grandi (di dimensioni molto maggiori della memoria centrale dei sistemi di calcolo utilizzati), persistenti (con un periodo di vita indipendente dalle singole esecuzioni dei programmi che attingono ai dati,nel senso che non vengono modificati se cambiano i programmi che svolgono operazioni su di essi), condivisi (utilizzati da applicazioni diverse).
Ovviamente tra Data Base e DBMS esiste un forte legame, per cui spesso si tende a considerarli due parti distinte di un unico oggetto: il DBMS rappresenta la parte attiva, il Data Base quella passiva, su cui il DBMS opera.
Dal punto di vista della gestione e distribuzione dei dati, i DBMS possono essere classificati in due categorie: sistemi centralizzati, sistemi distribuiti. Nel caso di sistemi centralizzati, i dati sono mantenuti in un unico sito(o memoria di massa). In un sistema distribuito, i dati sono fisicamente suddivisi su più siti; anche se fisicamente distribuiti, i dati sono comunque accessibili come se fossero logicamente centralizzati in un unico sito. Il database viene quindi visto come se fosse un unico grande insieme.
Architettura di sistemi centralizzati
In queste architetture, il compito di mantenere i dati è demandato al server.
Architettura di sistemi distribuiti
Un sistema distribuito è composto da più DBMS locali, cooperanti e residenti su siti diversi.Ciascun DBMS locale gestisce una parte dei dati.Il sistema rende invisibile la distribuzione fisica dei dati.
L’attività del DBMS consiste nel ricevere comandi, metterli in relazione con il modello dei dati, verificarne leseguibilità e tradurli in operazioni sugli archivi. La caratteristica principale del DBMS consiste nel mantenimento di un modello dei dati, ovvero di un’astrazione che permette all’utente di vedere i dati non in termini di record, files o campi ma in termini di informazioni riferibili agli oggetti della realtà descritti dall’informazione stessa. La forma con cui sono organizzati i dati viene solitamente detta: modello dei dati.
Questastrazione è organizzata su più livelli:
-
Livello fisico, formato dalle strutture di memoria di massa e dei dati che esse contengono, inclusi quegli elementi che consentono l’accesso ai dati stessi come indici, puntatori ecc. E questo il livello più basso che si occupa della memorizzazione dei dati su supporti di memoria di massa; la sua gestione è tutta ad opera del DBMS e pertanto risulta trasparente all’utente.
-
Livello logico, corrisponde alla definizione della struttura logica dell’archivio mediante un modello astratto.E il livello mediante il quale il DBMS sinterfaccia all’utente e ci fa capire come sono organizzati i dati. Il modello è formato da entità che rappresentano i soggetti descritti nell’archivio ed ogni entità possiede degli attributi che contengono le informazioni relative a quel particolare soggetto.
Il livello logico viene definito attraverso lo schema dei dati, cioè una rappresentazione sintetica (di solito presentata in forma grafica) degli elementi fondamentali che caratterizzano la realtà osservata.
-
Livello concettuale o esterno, è il livello a cui l’utente vede il database. Il sistema di sicurezza del DBMS permette di attribuire ad ogni utente l’autorizzazione di accedere all’intera mole di dati oppure solamente ad una parte di essa;
questo consente di creare degli accessi e della navigazioni personalizzate, che prendono il nome di viste logiche. Una vista è lastrazione di una parte del Data Base concettuale, essa coinvolge i dati dell’archivio fisico limitatamente alla porzione limitata o consentita.
Il DBMS costituisce quindi uninterfaccia tra gli utenti di un data base con le loro applicazioni e le risorse costituite dall hardware e dagli archivi di dati presenti in un sistema di elaborazione.
Interfaccia: aspetto con il quale un programma si presenta sullo schermo al suo utilizzatore.
Le funzioni che il DBMS è in grado di offrire agli utenti del Data Base sono raggruppate nei seguenti aspetti principali:
-
Implementazione del modello logico sul sistema di elaborazioneImplementare: caricare, rendere disponibile sul sistema di elaborazione.
Per far ciò, il DBMS si appoggia al Sistema Operativo della macchina ed attraverso questo accede ai file su disco tramite il File System. E bene dunque non confondere i due strumenti”: il File System è un insieme di programmi che gestiscono tutti i file sui dischi, e sono parte integrante del Sistema Operativo; al contrario, il DBMS si occupa solamente dei Data Base e sfrutta il File System per gestire le informazioni in modo da rendere questa fase del tutto trasparente all’utente.
-
Manipol’azione ed interrogazione sulla base di dati
-
Controllo dell’integrità dei dati
-
Sicurezza e protezione
Procedure di recovery: insieme delle procedure per la ripresa del corretto funzionamento di un sistema dopo il verificarsi di una condizione di errore.
Le prestazioni del DBMS vengono attivate dall’utente usando appositi comandi, che costituiscono un linguaggio, attraverso il quale l’utente può comunicare con il sistema di elaborazione che gestisce il database. I comandi che il DBMS mette a disposizione possono essere classificati nelle seguenti categorie di linguaggi detti linguaggi per basi di dati:
Il DDL possiede inoltre specifici comandi per definire i sottoschemi relativi alle applicazioni contenute nei programmi dei singoli utenti, oltre che per eliminare tabelle e viste già esistenti; il linguaggio comprende anche la possibilità di generare in modo automatico, a partire dalle tabelle e dai loro attributi, le maschere video (screen form), che servono a facilitare all’utente nell’inserimento, nella modifica e nella consultazione dei dati, e i prospetti di output (report) per la rappresentazione ordinata e facilmente leggibile dei dati estratti dalla base di dati;
Nei sistemi a linguaggio ospite il DML è in realtà un’estensione di un linguaggio di programmazione ad alto livello con comandi che permettono la gestione dei dati in forma integrata. Nei sistemi a sé stanti, invece, è un linguaggio indipendente, di tipo non procedurale, spesso radicalmente diverso dai consueti linguaggi di programmazione;
Un Data Base viene utilizzato da persone diverse per funzione e per applicazioni diverse:
-
la responsabilità della gestione del database è affidata all Amministratore della Base di Dati (DBA, Data Base Administrator), che avvalendosi del DBMS, ha i seguenti compiti:
Il DBA utilizza per svolgere le sue funzioni, le prestazioni ed i linguaggi del DBMS e collabora con le altre figure quali sistemista, analista, responsabile dello sviluppo software, programmatore;
i programmatori, che intendono utilizzare per le loro applicazioni i dati organizzati in un database, utilizzando un linguaggio DML, oppure comandi che sono un’estensione dei tradizionale linguaggi di programmazione, oppure un linguaggio specifico per basi di dati (SQL). In ogni caso il programmatore deve agire sotto il controllo del gruppo di progetto e di produzione del software applicativo a cui partecipa anche l’amministratore del database;
-
gli utenti finali che negli ultimi anni si identificano con i programmatori almeno per i modelli relazionali. Ciò è possibile grazie alla semplicità di utilizzo dei data base relazionali, infatti, essi possono accedere alla base di dati attraverso i comandi di un linguaggio di interrogazione (Query Language), oppure, per utenti finali ancora meno esperti, attraverso interfacce software, che presentano sul video il menù con le icone.
Modell’azione dati
Modellare i dati significa costruire una rappresentazione semplificata della realtà di un problema.
Come abbiamo già detto, la progettazione di un modello
di dati avviene a livelli diversi:
Modello entità- relazione.
Il modello entità-relazione è uno strumento per analizzare le caratteristiche di una realtà in modo indipendente degli eventi che in esso accadono ,cioè per costruire un modello concettuale dei dati indipendente dalle applicazioni,tutto ciò sapplica mediante l’utilizzo di una rappresentazione grafica detta E/R(entity/relationship).
Il modello entità- relazione è un modello concettuale. Esso rappresenta graficamente (attraverso lo schema) come sono organizzati i dati.
Il simbolismo utilizzato per il modello ER prevede l’utilizzo di quattro oggetti:
-
il rettangolo per indicare le entità;
-
il rombo per le relazioni;
-
lellisse per gli attributi;
-
le frecce per indicare i rapporti tra le relazioni e le entità.
Questo modello si basa su componenti essenziali quali entità, attributi e relazioni.
Le entità (che rappresentano i record) indicano i soggetti descritti nell’archivio.
Ad esempio, i prodotti venduti in un grande magazzino: vino,birra, zoccoli,bambole,ecc. I singoli prodotti che costituiscono le entità possono essere classificati secondo un certo criterio di omogeneità, definendo così il TIPO DI ENTITA attraverso un nome. Ad esempio: il vino è un tipo-BEVANDA,la bambola è un tipo-GIOCATTOLO
L’insieme delle entità dello stesso tipo si chiama INSIEME -ENTITA. Ad esempio: scarpe da tennis e zoccoli appartengono all’insieme-entità CALZATURE. Ciascun entità possiede inoltre delle proprietà caratteristiche, chiamate ATTRIBUTO. Da un punto di vista grafico le entità sono rappresentate con un rettangolo contenente all’interno il nome dell’entità
Un elemento fondamentale e che deve essere presente in ogni entità inoltre è la CHIAVE.
Una chiave è formata da uno o più attributi i cui valori sono tali da identificare univocamente ogni occorrenza dell’entità. La chiave quindi è un meccanismo che garantisce l’identificazione delle varie occorrenze delle entità, indicando col termine occorrenza il valore assunto dagli attributi in un particolare istante cioè quello che, nel linguaggio del modello ER, viene indicato col termine TUPLA. (informazioni riferite alla stessa entità)
Requisito fondamentale che deve avere una chiave è l’univocità. Non devono cioè esistere due tuple che presentano lo stesso valore della chiave.
Gli attributi (che rappresentano i campi) indicano le singole informazioni che costituiscono un record.
Le caratteristiche di ogni attributo sono:
i tre formati base sono:carattere,numerico,data/ora.
sempre valorizzato; lattributo è obbligatorio se deve avere valore non nullo, facoltativo se sono accettabili valori nulli.
LASSOCIAZIONE o RELAZIONE
per associazione si intende la possibilità di stabilire un legame logico tra i dati che vengono considerati. Ogni associazione ha due versi con specifici significati; ogni verso ha un’entità di partenza e una di arrivo; ad ogni verso si attribuisce una descrizione che compare a fianco della linea e dell’entità di appartenenza e che consente di comprenderne il significato. Il simbolo che viene usato per unire le due entità è una linea .
Un’associazione può essere obbligatoria o opzionale: obbligatoria quando il legame tra entità deve sempre essere presente, opzionale quando può non essere presente.Per esempio nell’associazione tra l’entità persona e l’entità conto corrente, il verso titolare di è opzionale,perché non tutte le persone possiedono un conto corrente, e il verso intestato a è obbligatorio perché ogni conto corrente deve essere intestato a qualcuno. Il simbolismo che diversifica il verso obbligatorio è la linea continua, mentre la linea tratteggiata indica lopzionalità.
Il grado di un verso dell’associazione è la caratteristica che indica quante istanze dell’entità di arrivo si associno all’istanza dell’entità di partenza. Il grado può essere a uno oppure a molti e pertanto le associazioni tra due entità si classificano nei seguenti gruppi:
Ad ogni elemento del primo insieme E1 corrisponde uno e un solo elemento del secondo insieme E2 e viceversa. Facciamo un esempio: nell’associazione CONSEGUE tra l’insieme-entità STUDENTI (E1) e l’insieme-entità DIPLOMA (E2),ad ogni studente corrisponde uno e un solo diploma.
La biunivocità dell’associazione viene indicata con una
freccia su entrambe le righe che uniscono il rombo dell
associazione ai rettangoli dell’entità
Ad un elemento di E1 possono corrispondere più elementi, mentre ad ogni elemento di E2 corrisponde uno e un solo elemento di E1. Facciamo un esempio: nell’associazione PRENDE tra l’insieme-entità SOCI (E1) di una biblioteca, a un socio possono corrispondere più LIBRI in prestito (E2), mentre ogni libro può essere preso in prestito da un solo socio.
La doppia freccia in una direzione sta ad indicare che
l’associazione non è biunivoca.
Ad ogni elemento dell’insieme E1 possono corrispondere più elementi dell’insieme E2 e viceversa. Facciamo un esempio: nell’associazione FORNISCE tra l’insieme-entità PRODOTTI (E1),uno stesso prodotto può essere fornito da più FORNITORI (E2), e uno stesso fornitore può fornire più prodotti.
Le doppie frecce in entrambe le direzioni stanno a indicare
che l’associazione è complessa
Modelli di un Data Base
La capacità di un DBMS di soddisfare i requisiti che differenziano una base dati da archivi di tipo tradizionale dipendono anche dal modello dei dati adottato. Esistono tre modelli di dati utilizzati per descrivere i legami logici tra informazioni:
Modello gerarchico
Nel modello gerarchico i dati e le relazioni vengono rappresentati per mezzo di una struttura ad albero, nella quale i nodi rappresentano i record e gli archi rappresentano le associazioni.
Una struttura ad albero è formato da un unico record radice e da un insieme ordinato di sottoalberi che a sua volta consistono in singoli record.
Il singolo record viene detto segmento; quello a livello più alto, o meglio, il record radice è detto segmento radice.
Ogni segmento ha un padre (tranne la radice) e zero o più figli. Non esiste un segmento figlio senza un segmento padre. L’eliminazione di un segmento implica l’eliminazione di tutti i suoi figli e discendenti.
I limiti che presenta il modello gerarchico sono dovuti al fatto che la struttura dei dati creata è rigida e non riesce ad ovviare la ridondanza dei dati.
Modello reticolare
Nel modello reticolare i record rappresentano i nodi e le associazioni e i nodi gli archi; abbiamo una specie di modello ad albero gerarchico ma sono consentite associazioni tra i record indipendentemente dal livello in cui si trovano.
Il modello reticolare si basa su due concetti: record e set. Il record è una registrazione logica composta da più campi; il set è il modo di rappresentare le relazioni esistenti tra i record che formano la base di dati.
Tali relazioni formano un reticolo dove i record possono avere più padri detti owner i cui relativi figli vengono chiamati member.
Con il modello reticolare viene eliminata la ridondanza del modello gerarchico, in quanto, uno stesso record può fungere da member (figlio) per più di un record owner( padre).
Modello relazionale
La struttura dati che ha riscosso maggior successo è costituita dal Data Base relazionale. Esso rappresenta un metodo di organizzazione dei dati in cui non esiste più la differenza fra schema e sottoschema, la sua struttura è unificata e non c’è il problema della realizzazione delle correlazioni fra record delle diverse strutture logiche.
Il modello relazionale rappresenta il data base come un insieme di tabelle. Ogni tabella è costituita da righe che corrispondono ai record (tuple o n-ple) e da colonne che rappresentano i campi all’interno di un record. Una proprietà fondamentale dei D.B. è la chiusura dei D.B.. Tuple o n-ple:insieme dei campi di un record.
I requisiti fondamentali del modello relazionale sono:
I data base relazionali compiono tutte le operazioni sulle tabelle utilizzando lalgebra relazionale, anche se normalmente non è permesso all’utente di utilizzarla. Lutente interagisce con il Data Base attraverso il linguaggio SQL che permette di utilizzare insiemi di dati.
E importante utilizzare più tabelle per la memorizzazione delle informazioni in quanto i dati vengono organizzati secondo tipologie ben definite, ed in più, si evita così il problema della ridondanza, si risolvono problemi legati allinconsistenza dei dati, si velocizzano in generale le operazioni di recupero, modifica e cancellazione dei dati.
Esistono diversi tipi di operatori booleani:
Lunione può essere fatta solo su relazioni con gli stessi attributi.
Partendo da due tabelle R1 ed R2 otteniamo una terza tabella che contiene le tuple comuni, prese una sola volta, e non comuni.
L’intersezione può essere fatta solo su relazioni con gli stessi attributi
Partendo da due tabelle (R1 e R2) otteniamo una terza tabella (R1â^© R2) che contiene solo le tuple comuni ad entrambi le tabelle.
La selezione scegli un sottoinsieme di tuple in base a condizioni su i valori degli attributi
La proiezione sceglie un sottoinsieme di attributi
Con la proiezione otteniamo partendo dalla tabella studenti un ulteriore tabella composta solo dalle tuple richieste dalla proiezione, ma non tutte le colonne
La congiunzione o join: date due relazioni, restituisce una relazione che combina le tuple su valori uguali degli attributi comuni
Con il join si uniscono le n-ple della prima e della seconda tabella che hanno un campo in comune
Con lequi – join partendo da due tabelle si ricercano i valori comuni dei campi delle tuple che vengono riprodotti in una terza tabella. Mentre nel join il valore comune viene preso una sola volta, con lequi – join viene riprodotto.
Partendo da due tabelle si ottiene una terza tabella formata da tutte le tuple di R1 combinate con tutte le tuple di R2.
-
torna all’indice della tesina L’evoluzione nei primi anni del 900 nelle varie scienze di Nicola Fusco dell’ I.T.C.G. Masullo Theti