Estratto del documento

SISTEMI INFORMATIVI

I sistemi informativi sono sistemi di organizzazione e di gestione delle informazioni che sono

necessarie al funzionamento di un’azienda o di un ente. L’esistenza di un sistema informativo è

i

totalmente indipendente dalla sua eventuale automazione; sistemi informativi infatti esistono da

molto prima dell’invenzione dei calcolatori. I sistemi informativi contengono dati e modelli di

organizzazione dei dati stessi; un esempio è la cartella clinica, in cui è necessario fornire un metodo

per registrare i dati di certi pazienti in modo standardizzato e consentirne l’utilizzo nel corso del

trattamento.

SISTEMI INFORMATICI

Per agevolare e potenziare la gestione delle informazioni di una organizzazione si ricorre

generalmente all’uso di strumenti informatici, che consentono un’automazione (in genere parziale)

del sistema informativo.

Un sistema informatico è l’insieme degli strumenti informatici (calcolatori, software di base,

programmi applicativi, ecc.) impiegati per il trattamento automatico delle informazioni allo scopo di

migliorarne l’efficienza. In un sistema informatico le informazioni vengono rappresentate per mezzo

di dati, che diventano informazioni dopo un processo di interpretazione.

BASI DI DATI (DATABASE)

Un database è una collezione di dati atti a rappresentare le informazioni che interessano un sistema

informativo ed è costituito da una grande quantità di dati organizzati in insiemi omogenei in

correlazione tra loro. I dati sono memorizzati e gestiti in memoria permanente (disco) e sono condivisi

fra più utenti e fra più applicazioni per ridurre la ridondanza e la possibilità di inconsistenze.

In una base di dati esistono due parti:

- Schema della base di dati, che è una parte sostanzialmente invariante nel tempo che descrive

le caratteristiche dei dati;

- Istanza o stato della base di dati, che è una parte variabile nel tempo costituita dai valori

effettivi dei dati.

Esempio:

Per rappresentare i corsi attivati ed i relativi docenti si può usare uno schema del tipo

(Corso, Nome Docente)

questo è uno schema invariante nel tempo, mentre le coppie

(Informatica Medica, Morettini) e (Bioingegneria, Burattini)

sono istanze dello schema precedente e possono variare nel tempo.

DATABASE MANAGEMENT SYSTEM (DBMS)

Il DBMS è un sistema software in grado di gestire (costruire, modificare, utilizzare) una base di dati.

Un DBMS è un software che si occupa di memorizzare, ritrovare, e gestire grandi quantità di dati e

tutti questi dati sono memorizzati in file gestiti dal file system con il quale si interfaccia il DBMS. Al fine

di ottimizzare la sua funzionalità, iI DBMS deve conoscere dettagliatamente il sistema operativo del

computer e l’organizzazione del file system. L’utente non deve occuparsi dei dettagli del sistema

operativo e dell’organizzazione dei dati perché è il DBMS che si fa carico di ciò. Il DBMS fornisce una

interfaccia verso l’utente indipendente dal sistema operativo, che rende molto più facile per l’utente

la gestione dei dati ed inoltre permette di organizzare i dati generici in modelli.

I DBMS presentano diverse funzionalità:

- Offrono dei linguaggi per la definizione dello schema della base di dati e per l’uso della base

di dati (accesso ai dati, inserimento, modifica, cancellazione);

- Garantiscono una gestione efficiente della base di dati: le operazioni devono essere eseguite

utilizzando un insieme di risorse (tempo e spazio) che siano accettabili per gli utenti;

- Permettono di gestire la persistenza: sono algoritmi che permettono la persistenza anche in

caso di malfunzionamenti HW/SW;

- Permettono la condivisione di dati: molti e differenti utenti con finalità e modalità di accesso

con il controllo di concorrenza per la modifica contemporanea dei dati;

- Controllano la ridondanza: più utenti accedono agli stessi dati, così si evitano le inconsistenze;

- Garantiscono l’affidabilità della base di dati: i dati sono protetti da errori dovuti a

malfunzionamenti e interferenze (operazioni di salvataggio e ripristino);

- Garantiscono la privatezza della base di dati: i dati sono protetti dall’accesso e dall’uso da parte

di utenti non autorizzati.

I DBMS sono software molto complessi, quindi molto costosi, e la loro architettura include tipicamente

molto componenti con ruoli diversi, tra cui:

o Gestore di interrogazioni e aggiornamenti: il gestore di interrogazioni e aggiornamenti si

occupa di elaborare le richieste dell'utente, di solito espresse in SQL.

o Gestore dei metodi di accesso: il gestore delle interrogazioni darà direttive al gestore dei

metodi di accesso per trovare le tuple.

o Gestore del buffer: nel corso delle elaborazioni lo spazio richiesto per i blocchi di dati sarà

spesso maggiore dello spazio di memoria disponibile; quindi, il gestore del buffer si occupa

principalmente di gestire le operazioni inerenti al salvataggio e di gestire il caricamento dei

blocchi (sincronizzazione tra memoria principale e secondaria).

Il DBMS effettua i seguenti controlli per garantire un corretto funzionamento del sistema:

o Controllo sulla concorrenza

Il controllo sulla concorrenza è relativo alla contemporaneità degli accessi e si occupa della

gestione di conflitti che sorgono quando due o più utenti accedono contemporaneamente allo

stesso dato. Solo un utente alla volta può accedere ad un dato quando l’operazione che viene

richiesta è quella di scrittura, mentre l’accesso in lettura è sempre possibile.

o Controllo sugli accessi

Il controllo sugli accessi è relativo alla protezione dei dati in caso di accessi non autorizzati, per

esempio un amministrativo può accedere ai dati amministrativi e finanziari di un paziente ma

non ai suoi dati clinici, mentre un clinico può accedere a tutti i dati ma solo dei suoi pazienti.

Questo tipo di controllo viene in genere effettuato mediante un Log-in con password segreta

ed una volta identificato l’utente, il DBMS gli assegna gli appropriati diritti di accesso.

o Controllo sull’integrità e sulla consistenza

Il controllo sull’integrità e sulla consistenza sono i controlli necessari per mantenere la

correttezza dei dati nel database.

Tutte le regole e i vincoli tra dati che il progettista del modello concettuale ha definito devono

essere sempre rispettati (per esempio il controllo data, gli appuntamenti associati a clinici

rimossi o inesistenti, ecc.).

o Gestione delle transazioni

La transazione è un insieme di operazioni sul database che viene visto come un’unica

operazione indivisibile. Se il DBMS non è in grado di eseguire compiutamente tutte le

operazioni previste per una transazione lo stato del database deve essere resettato a quello

che si aveva prima che la transazione fosse eseguita; una transazione non terminata

lascerebbe infatti il database in uno stato inconsistente.

Un DBMS deve garantire che la transazione sia ACID, ovvero goda delle seguenti proprietà:

- Atomicity: una transazione è un’unità di esecuzione indivisibile (o tutti gli effetti della

transazione sono registrati nel database o nessuno); •

- Consistency: una transazione lascia il database in uno stato consistente, cioè opera

una trasformazione corretta dello stato del database (il DBMS garantisce che nessuno

dei vincoli di integrità del database venga violato);

- Isolation: una transazione esegue indipendentemente dalle altre (se più transazioni

eseguono in concorrenza, il DBMS garantisce che l’effetto netto sia equivalente

all’esecuzione seriale delle stesse);

- Durability: gli effetti di una transazione che ha terminato correttamente la sua

esecuzione devono essere persistenti nel tempo (il DBMS deve proteggere il database

rispetto ai guasti).

- Sicurezza dei dati

La sicurezza dei dati serve per proteggere i dati non dall’utente, come nei casi precedenti, ma

da fattori esterni (mancanza di energia elettrica, problemi hardware) e si effettua in genere

tramite backup e log files.

L’operazione di recovery permette di riportare il sistema alle condizioni dell’ultimo backup e

nei log files si memorizzano le modifiche al database fatte dopo l’ultimo backup.

Prima dei DBMS si ha un approccio convenzionale con l’uso di file separati, in cui Il Sistema Operativo

offre le primitive di base per l’accesso ai files ed i meccanismi di sicurezza del file system. Con questo

approccio si ha ridondanza dei dati, inconsistenza dei dati, spreco di memoria di massa ed assenza di

gestione della concorrenza.

Con l’avvento dei DBMS si ha un approccio strutturato, in cui si ha un unico archivio di dati, limitazione

delle ridondanze, minimo rischio di inconsistenza e minimo spreco di memoria di massa.

Terminologia:

Un database è un insieme strutturato di dati (files) connessi logicamente tra loro.

Il file è una entità di memorizzazione che possiede un nome e sono creati ed eliminati dal file system

del computer.

Il record è l’unità logica più piccola per la memorizzazione di un file in un database.

Il dispositivo di memorizzazione di massa è un dispositivo su cui vengono memorizzati i file del

database.

Architettura a tre livelli di un DBMS

Un DBMS fornisce ai suoi utilizzatori una visione astratta della base di dati. In particolare, si possono

distinguere tre livelli di astrazione:

- Livello interno

Il livello interno considera la base di dati come un insieme di registrazioni in memoria di massa,

in particolare descrive la distribuzione dei dati sui vari supporti e le modalità di

memorizzazione dei dati. La gestione di questo livello è a carico di chi amministra il DBMS e

non degli utenti che possono concentrarsi su aspetti di più alto livello per lo sviluppo delle loro

applicazioni.

- Livello logico (o concettuale)

Il livello logico presenta i dati in modo da evidenziare la loro struttura logica, cioè

l'informazione posseduta da ciascun dato e come i dati si collegano tra di loro. Esso è detto

anche livello globale perché vi vengono descritti tutti i dati della base di dati.

- Livello delle viste (o esterno)

Il livello delle viste è il livello di massima astrazione, presenta i dati così come vogliono (o

possono) essere visti da una particolare classe di utenti. Vi sono tante diverse

rappresentazioni, ciascuna associata ad un particolare utilizzatore; pertanto, è possibile

associare ad uno schema logico più schemi esterni.

Utilità delle viste:

Una ristrutturazione dello schema integrato può, in alcuni casi, essere opportunamente

mascherata facendo uso di viste.

Mediante le viste è possibile regolare meglio il controllo degli accessi al database (ad esempio

mascherando dati riservati).

Le viste possono essere usate per calcolare dinamicamente nuovi dati a partire da quelli

memorizzati nel database, senza per questo introdurre ridondanza.

I tre livelli di rappresentazione consentono di introdurre i concetti di indipendenza fisica e logica.

L’indipendenza fisica consiste nella possibilità di ridefinire il livello fisico senza modificare il livello

logico, e quindi senza alterare i programmi degli utenti.

L’indipendenza logica consiste nella possibilità di definire nuovi schemi esterni o estendere lo schema

logico senza alterare gli schemi esterni preesistenti.

Linguaggi di un DBMS

Un DBMS mette a disposizione diversi linguaggi per interagire con le basi di dati ed il livello di

astrazione di tali linguaggi dipende fortemente dal modello dei dati cui ci si riferisce.

Una comune distinzione classifica i linguaggi sulla base delle funzioni svolte:

- DDL (Data Definition Language)

Il DDL serve per definire gli schemi (logici, esterni, interni).

- DML (Data Manipulation Language)

Il DML serve per interrogare e modificare le istanze delle base di dati.

- DCL (Data Control Language)

Il DCL include comandi di vario tipo, ad esempio per il controllo degli accessi.

Utenti di un DBMS

Rispetto alle modalità di interazione con il DBMS possiamo raggruppare gli utenti in tre categorie

principali:

1. Utenti finali

Gli utenti finali 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 menu o le icone.

2. Progettista/programmatore

Il progettista/programmatore progetta applicazioni che interagiscono con la base di dati.

3. Sistemista/amministratore

Il sistemista/amministratore ha la responsabilità di gestire il database (implementa il modello

logico del database nel sistema di elaborazione sui supporti fisici delle memorie di massa).

MODELLIZZAZIONE DEI DATI

I dati possono essere organizzati, e quindi analizzati, utilizzando «modelli» diversi ed un modello dei

dati è definito come una collezione di concetti atti a rappresentare la realtà.

Esistono quattro tipi di modello:

o Modello esterno

o Modello concettuale

o Modello logico

o Modello interno/fisico

MODELLO ESTERNO

Nel modello esterno l’utente del sistema informativo è principalmente interessato ai dati associati al

suo specifico interesse corrente (ad esempio i dati amministrativi di un paziente, dati clinici, ecc).

L’utente usa il computer per il data entry, per il data presentation e per il data processing. Le varie

viste di dati a cui gli utenti sono interessati definiscono un modello di dati esterno, ovvero un modello

che offre una visione esterna dei dati.

MODELLO CONCETTUALE

I modelli concettuali sono di dati dotati di un gran numero di costrutti, che mettono in evidenza i

concetti presenti in una base di dati, piuttosto che la struttura con cui tali concetti possono essere

rappresentati nella memoria del calcolatore. Il più famoso modello concettuale dei dati è il modello

entità-relazione (rappresento dei concetti in forma grafica).

MODELLO ENTITÀ-RELAZIONE

I dati nei computer possono avere differenti proprietà (ad esempio dati identificativi, dati di

laboratorio, dati di sistemi diagnostici, ecc). I gruppi di dati che hanno proprietà simili sono detti entità

ed esempi specifici di entità sono chiamati istanze. Un’entità è un insieme di oggetti della realtà di

interesse che possiedono caratteristiche comuni e che hanno un’esistenza autonoma.

Ogni entità è descritta da alcune proprietà dette attributi, che è una caratteristica comune a tutte le

istanze di una particolare entità (ad esempio nome, sesso, indirizzo, ID, ecc.). Un attributo può avere

un dominio di valori (ad esempio il sesso può essere M o F).

Un attributo o una combinazione di attributi che identifica univocamente una e soltanto una istanza

di una entità è chiamato chiave primaria o identificatore (ad esempio il codice fiscale).

Le entità di dati sono spesso in relazione tra loro (ad esempio un test di laboratorio è in relazione con

un campione di sangue di un paziente con un determinato identificativo). Una relazione è una

naturale associazione tra due o più entità e ogni legame è una istanza di un certo tipo di relazione.

Tali relazioni sono descritte mediante i cosiddetti ERD (Entity Relation Diagrams). EDR è uno

strumento di modellizzazione dei dati che permette l’organizzazione dei dati di un progetto in entità

e definisce le relazioni fra di esse. Per realizzare gli EDR, sono disponibili tools grafici che fanno uso

dei seguenti simboli:

Il grado di una relazione è il numero di entità che sono coinvolte in una relazione (numero di rami

della relazione). Esistono tre tipi di relazione:

- Relazione binaria grado = 2

- Relazione ternaria grado = 3

- Relazione n-aria grado = n Grado 2

Grado 3

Le relazioni possono coinvolgere anche entità appartenenti allo stesso Insieme di entità e quest’ultime

vengono chiamate relazioni ricorsive. Nelle relazioni dove una stessa entità è coinvolta più volte è

necessario aggiungere la specifica del ruolo che l’entità gioca nella relazione.

In uno schema ER sono presenti dei vincoli di integrità, che è una regola che si esprime sullo schema

ma che specifica una condizione che deve valere per ogni istanza dello schema.

I vincoli di integrità nel modello ER possono essere:

- Vincoli di cardinalità sulle relazioni

- Vincoli di partecipazione

- Vincoli di cardinalità sugli attributi

- Identificatori delle entità

- Generalizzazioni

Vincolo di cardinalità sulle relazioni

La cardinalità di un tipo di relazione è la coppia di numeri (m, M) che specificano il numero minimo e

massimo di entità che possono partecipare ad un’istanza di quella relazione e sono dei vincoli “di

progetto”, derivanti dall’analisi della realtà che si vuole interpretare:

- m=0 la partecipazione alla relazione per questa entità è opzionale

- M=1 per entrambi i tipi di entità coinvolti nella relazione (relazione 1 a 1)

- M=N> 1 per un’entità e M=1 per l’altra (relazione 1 a molti)

- M=N per entrambe le entità (relazione molti a molti)

Esempio di relazione (1, N):

Un libro può essere scritto da più autori, un autore può aver scritto più di un libro.

Esempio di relazione (1, 1):

Un impiegato può dirigere al più un progetto mentre un progetto è diretto da un impiegato.

Vincolo di partecipazione

Il vincolo di partecipazione (o vincolo di cardinalità minima) specifica se l'esistenza di una entità

dipende dal suo essere correlata ad un'altra entità mediante una relazione.

Possiamo distinguere due tipi di partecipazione:

- Partecipazione obbligatoria (m=1)

Anteprima
Vedrai una selezione di 20 pagine su 103
Appunti di Informatica medica Pag. 1 Appunti di Informatica medica Pag. 2
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 6
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 11
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 16
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 21
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 26
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 31
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 36
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 41
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 46
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 51
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 56
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 61
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 66
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 71
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 76
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 81
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 86
Anteprima di 20 pagg. su 103.
Scarica il documento per vederlo tutto.
Appunti di Informatica medica Pag. 91
1 su 103
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher mattitomma02 di informazioni apprese con la frequenza delle lezioni di Informatica medica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università Politecnica delle Marche - Ancona o del prof Morettini Micaela.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community