CORSO INTEGRATO DI ELEMENTI DI INFORMATICA, … II - Base... · Oggi il termine informatica è...

132
CORSO INTEGRATO DI ELEMENTI DI INFORMATICA, LABORATORIO DI INFORMATICA – RETI INTERNET Sistemi informativi data base Anno accademico 2008/2009 - 2^ anno – Polo C Docenti: Prof. Ing. Paolo Arena Prof. Ing. Giovanni Caffarelli data base sicurezza Vers. 4–w Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Transcript of CORSO INTEGRATO DI ELEMENTI DI INFORMATICA, … II - Base... · Oggi il termine informatica è...

CORSO INTEGRATO DI ELEMENTI DI INFORMATICA, LABORATORIO DI INFORMATICA – RETI INTERNET

Sistemi informativi

data base

Anno accademico 2008/2009 - 2^ anno – Polo C

Docenti:

Prof. Ing. Paolo Arena

Prof. Ing. Giovanni Caffarelli

data base

sicurezza

Vers. 4–w

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

CORSO INTEGRATO DI ELEMENTI DI INFORMATICA, LABORATORIO DI INFORMATICA – RETI INTERNET

Anno/SemestreCodice del corso integratoCFUSSD e contenuti disciplinari

Coordinatore del corsoDocenti del corso integrato

I anno / II semestre, II anno / I e II semestre

8ING-INF/05-Elementi di Informatica (2 CFU)-Lab. Informatica e Reti Internet (6 CFU)Prof. Giovanni CaffarelliProff. Paolo Arena, A. Barbagallo, G. Caffarelli, S. Giustiniani, O. Greco, G. La Placa, G. Milazzo, V. Mutu, A. Nicolosi, S. Pasquale, M.A. Ragusa, M.G.Rinina.

OBIETTIVI DEL CORSO INTEGRATO

Il settore raggruppa competenze ed ambiti di ricerca propri dell’informatica e della teoria dell’informazione, posti alla base dell’approccio informatico, allo studio dei problemi e, congiuntamente, della progettazione, produzione ed utilizzazione di sistemi informatici per l’innovazione nella Società moderna.Le competenze tecnico-scientifiche di questo settore riguardano le metodologie e gli strumenti dell’informatica Le competenze tecnico-scientifiche di questo settore riguardano le metodologie e gli strumenti dell’informatica che forniscono la base concettuale e tecnologica per la varietà di applicazioni richieste nella società dell’informazione per l’organizzazione, la gestione e l’accesso a informazione e conoscenze da parte di singoli e di organizzazioni e imprese private e pubbliche. Esse riguardano tutti gli aspetti istituzionali dell’informatica di base.La formazione acquisita durante il percorso didattico proposto, fornisce, allo studente, una conoscenza dei concetti base di informatica riconosciuti anche dalla AICA (Associazione Italiana per l’ Informatica e il Calcolo Automatico), nel riconoscimento della ECDL (Patente Europea del Computer).Il percorso formativo, oltre a fornire delle conoscenze di base generali, si addentra specificatamente ad applicazioni pratiche riferite ad argomenti di specifica pertinenza medico-scientifica.Infatti la personalizzazione di argomenti specifici, durante il corso di studi, proietta lo studente verso una professionalità del medico moderno, con competenze informatiche sufficienti a comprendere le continue evoluzioni future del mercato medico-tecnologico.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

I°anno II°semestre

Concetti di base della tecnologia dell’ informazioneConcetti generaliHardwareSoftwareReti informaticheIl computer nella vita di ogni giornoSalute e sicurezzaLa sicurezzaCopyright e leggi.

PROGRAMMA DEL CORSO

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

II°anno I°semestre

Uso del computer e gestione dei fileL’ ambiente del computerIl desktopGestione dei fileI virusGestione della stampa

Elaborazione dei testiConcetti generaliOperazioni di baseFormattazioneOggetti

PROGRAMMA DEL CORSO

OggettiStampa unionePreparazione della stampaApplicazioni dei programmi di videoscrittura nella professione e nella ricerca medica

Foglio elettronicoConcetti generaliCelleFogli di lavoroFormule e funzioniLe funzione statistiche di Excel.FormattazioneGraficiPreparazione della stampaRaccolta e gestione di dati di sperimentazioni cliniche.Elaborazione statistica dei dati clinici sperimentali mediante foglio elettronico

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

.II°anno II°semestre

Basi di datiConcetti generaliUsare l’ applicazioneTabelleMaschereCercare informazioniReportPreparazione della stampaData base clinico-sanitari. La cartella clinica elettronica.

Strumenti di presentazione

PROGRAMMA DEL CORSO

Strumenti di presentazioneConcetti generaliSviluppare una presentazioneTesti ed immaginiGrafici ed oggettiEffetti specialiPreparazione della stampaCome tradurre i dati relativi ad un fenomeno biologico in una rappresentazione grafica sotto forma di tabelle e istogrammi.

Reti informaticheConcetti generaliInternetNavigazioneLa ricerca nel WEBPosta elettronicaMessaggiGestione dei messaggi

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

<segue> II°anno II°semestre

Ricerca di informazioni mediche su InternetCriteri per formulare una ricerca efficace, operatori logici.La qualità dei siti dedicati alla medicina.Siti web in medicina e portali in sanità.Motori di ricerca orientati alla medicina .Cataloghi di Risorse mediche.Principali siti EBM, La Cochrane Library.Siti per il reperimento di linee guida.Revisioni sistematiche e metanalisi.Le principali banche dati in Internet e le modalità di reperimento.

PROGRAMMA DEL CORSO

Le principali banche dati in Internet e le modalità di reperimento.Ricerche bibliografiche su MEDLINE: Ricerca free test, Ricerca con Mesh Medline,Clinical Queries.

Riviste elettroniche on-lineData base e Catalogo Unico sul sito Unict.it

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Informatica

elaborazione automatica delle informazioni

Oggi il termine informatica è molto diffuso e possiamocertamente definirla come quella scienza interdisciplinare chesi occupa e studia tutti gli aspetti relativi al trattamentodell'informazione mediante procedure automatizzabili.

Trattamento che vuol dire: archiviazione, protezione,aggregazione, trasformazione, trasporto, diffusione, ….

Oggi l’Informatica è strategica per una società, perun’organizzazione, per una singola persona; non poterlautilizzare, qualsiasi ne sia il motivo, determina quello cheviene indicato come digital divide

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Information and Communication Technology (I.C.T.)

Tecnologia dell'Informazione e della Comunicazione

È la tecnologia ma anche lo studio, la progettazione degli strumenti a supporto dell’informatica sia per quanto riguarda le

applicazioni software che per i componenti hardware.

Nell’ ICT si fondono differenti componenti, quali la computer technology, letelecomunicazioni, l’elettronica e i media.telecomunicazioni, l’elettronica e i media.

Esempi in tal senso sono rappresentati dai PC, internet, telefonia mobile, TVsatellitare, Digitale Terrestre, sistemi di pagamento elettronico, etc.

La ICT ha finito con il legare sempre più la componente Information Technology (IT)con quella relativa alla Communication Technology.

Con l’avvento e la diffusione delle tecnologie a rete, la componente relativa allecomunicazioni ha assunto sempre più maggiore rilevanza e l’informazione ha finito con ilperdere quella caratteristica rappresentata dall’elaborazione su macchine stand aloneper divenire una componente condivisa con altre macchine di una rete (sia LAN chequella globale di internet).

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Telecomunicazioni

E’ la scienza e lo studio degli apparati che si occupanodella trasmissione a distanza dei segnali con l’obiettivoprimario della comunicazione.

.

Telematica

Deriva dalla fusione dei termini Telecomunicazioni edinformatica.Studia la trasmissione a distanza utilizzando le tecnologiedell’I.C.T.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Robotica

Si occupa dello studio di apparati, sistemi, macchineautomatiche in grado di eseguire ed interagire con il mondoesterno sotto il controllo di elaboratori. Classici sono lemacchine automatiche di certi processi industriali pilotate deltutto o quasi da computer..

Intelligenza artificiale

E’ la scienza che studia e cerca di comprendere ilfunzionamento della mente umana al fine di riprodurlaartificialmente.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Sistema

Possiamo definire sistema, nella sua accezione piùgenerica, un insieme di entità connesse tramite reciprocherelazioni, che interagiscono attraverso processi, in genereper il raggiungimento di un obiettivo

Realtà di tipo complesso che presenta le seguenti caratteristiche:� L’essere costituita da un insieme di elementi identificabili

Sistema InformativoSistema Informatico

� L’essere costituita da un insieme di elementi identificabili separatamente;� Il manifestarsi di interazioni significative tra gli elementi costituenti il sistema stesso;� La presenza di obiettivi o finalità che orientano il comportamento del sistema.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Il Sistema Informativo si configura come un insieme dielementi, anche molto diversi tra loro, che raccolgono,elaborano, scambiano e archiviano dati con lo scopo diprodurre e distribuire le informazioni alle persone che nehanno bisogno, nel momento in cui ne hanno bisogno, nelluogo in cui ne hanno bisogno e nel formato più utile al loroutilizzo.

Sistema Informativo

utilizzo.

E’ un insieme di informazioni……che subiscono processi di memorizzazione ed elaborazione…

…da parte di un’organizzazione che persegue i propri fini.

E’ costituito da più elementi: dati, procedure, mezzi, persone, ecc.tra cui avvengono interazioni determinanti ai fini del conseguimento degli obiettivi del

sistema, che possiamo indicare nella produzione delle informazioni.

In un accezione più estesa, poiché il Sistema Informativo è anche un insieme di risorse organizzate per conseguire specifici obiettivi, possiamo parlare di Sistema

Organizzativo.Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Sistema Informatico

Descrive la parte di un sistema informativo……in cui le informazioni sono raccolte, elaborate e scambiate…

…utilizzando Tecnologie per l’Informazione e la Comunicazione (ICT)

E’ quella porzione del sistema informativo direttamentesupportata dalle tecnologie dell’informazione e

della comunicazione

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Sistemi Informativi e organizzativi:

Azienda manifatturiera, una banca, un ospedale, un ente pubblico, una scuola, uno studio professionale, una famiglia, una singola persona, …

Sistemi informatici:

Il sistema finanziario di un’azienda, di un Comune, di un Ospedale,…Il sistema finanziario di un’azienda, di un Comune, di un Ospedale,…

Il sistema di gestione della popolazione (l’anagrafe e l’elettorale) di un Comune.

Il sistema informativo automatizzato di gestione dei clienti di una Studio Professionale.

La segreteria di una scuola ,dell’Università.

Il sistema di gestione presenze di un’azienda.

Lo stesso Personal Computer

…………………..

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Un’azienda:La sua organizzazione, il suo sistema informativo con i flussi di informazione tra processi, i suoi sistemi informatici, … il suo sistema informativo automatizzato

Flussi di informazione tra processi

Il sistema di gestione economica del personale

Il sistema di contabilità

Il sistema di produzione

Molto spesso, in un’azienda, i vari sistemi informatici costituiscono un unico Sistema Informativo Automatizzato, con un’unica Base Dati, con un unico sistema di comunicazione di rete

Il sistema di gestione vendite ed acquisti

Il sistema di comunicazione interna

ed esterna (posta elettronica, protocollo,

sito web, …)

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Informazione come risorsa di un’organizzazione

Un Sistema Informativo automatizzato, che utilizza tecnologie dell’ICT, nasce dalla necessità di governare l’informazione come singoli flussi (nei singoli sistemi informatici) ma soprattutto di governarla globalmente come risorsadell’Organizzazione.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

RichiesteRichiesteSistema Informativo

Risorse. Ovvero risorse umane, strumentali, dati

Prodotti/ServiziRichiesteRichieste

Sistema Informativo

Processi e procedure

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

I 4 componenti fondamentali di un Sistema Informatico che possiamo anche chiamare Sistema Informativo Automatizzato sono:

RichiesteProdotti /Servizi

I datiL’hardware, ovvero la parte

consistente: i PC, le stampanti, gli armadi, le calcolatrici, …

Il software, ovvero la

parte immateriale:

le procedureLe risorse umane

Esistono altri componenti che hanno un forte impatto nel sistema e lo condizionano, come l’organizzazione, la “cultura” interna e la “cultura” dell’ambiente circostante.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Possiamo definire il processo come la rappresentazione schematica della sequenza delle attività che man mano si susseguono fino all’esaurimento

del flusso, ovvero al raggiungimento dello scopo del processo.

La procedura, invece, descrive in modo analitico ciò che accade durante il processo: chi fa, cosa fa, come fa, dove, quando, perché e chi ne è responsabile. Descrive l'insieme di norme e l’aspetto organizzativo

Processi e Procedure

responsabile. Descrive l'insieme di norme e l’aspetto organizzativo necessario per raggiungere un determinato fine

Ad esempio:

Il processo di stampa di un certificato.

La procedura di rilascio dei certificati.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Dato e Informazione

Il dato è una rappresentazione originaria e non interpretata di un fenomeno. Come esempio la matricola di un dipendente, la temperatura ambiente, i dati anagrafici, un’immagine, un filmato, un

articolo di legge, la posizione geografica (le coordinate) di una centralina di rilevamento dell’inquinamento atmosferico, …

l’informazione è l’insieme di uno o più dati, memorizzati, classificati, organizzati, messi in relazione o interpretati nell’ambito di un contesto in modo da avere un significato. Come esempio il

curriculum di uno studente, l’andamento temporale delle temperature ambiente, il grafico giornaliero dell’inquinamento di CO in una determinata strada, …

Il dato diventa informazione nel momento in cui è comunicato/recepito al fine di una utilità pratica. Ovvero il dato o un insieme di dati che assumono un significato diventano

Si può affermare che i dati sono la materia prima nel processo di formazione delle informazioni. Ma le informazioni prodotte possono essere poi dati base in un altro

processo di formazione di altre informazioni ancora più aggregate.

Dati Informazione

Spesso i due termini vengono utilizzati senza una vera distinzione

utilità pratica. Ovvero il dato o un insieme di dati che assumono un significato diventano informazione.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

BASE DATI - DBMS

Data Base Management SystemData Base Management System

Access, MySQL, PostgreSQL, MS SQL Server, Oracle, DB2

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Una base di dati è un sistema informativo che deve memorizzare in modostrutturato molti dati (testi, parole, numeri, date, immagini, ...) di diversanatura e diversa provenienza, correlati fra loro.

BASE DATI – data base

È un “contenitore” di dati strutturati, sui quali deve essere possibile eseguirealcune operazioni fondamentali, che si possono raggruppare su tre livelli:

�Amministrazione (DB Administration): Progettazione, creazione e distruzionedelle strutture dati;

Nel modo in cui i dati sono logicamente organizzati, possiamo individuare, anchestoricamente, alcuni tipi di base dati: sequenziale, gerarchica, reticolare,relazionale (o a tabelle)

�Transazione (Transaction): Inserimento, aggiornamento, cancellazione deisingoli dati;

�Interrogazione (Query): Consultazione (lettura) dei dati.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Il Database Relazionale si presenta all’utente come un insieme di tabelle correlate mediante relazioni tra campi .

Le tabelle sono costituite da:

�Campi o colonne o attributi che costituiscono la struttura della tabella�Campi o colonne o attributi che costituiscono la struttura della tabella

�Record o righe o tuple che costituiscono gli elementi (item) della tabella

Una Tabella può non avere righe (essere vuota) ma deve avere le colonne, ovvero deve avere una struttura.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Le relazioni consentono di costruire insiemi di dati (record logici), aggregando campi appartenenti a tabelle diverse.

Questa struttura evita di ripetere piùvolte lo stesso dato.

Ad esempio evita di ripetere nellatabella visite tutti i dati dei clientiinserendo semplicemente il codicecliente: in questo caso il campo IDdella tabella clienti.

Ciò permetterà anche ricerche piùsemplici ed esaustive

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Tipologia dei dati, valori di default, dominio

Si è visto che le colonne determinano la struttura della tabella.

Nella progettazione della colonna, oltre al nome, bisogna definire altri parametri:

La tipologia del dato, la dimensione, un eventuale formato, un eventuale valore predefinito, un eventuale campo di validità (dominio), se può ammettere valori nulli (ovvero se è richiesto sempre un valore), se deve essere univoco, se deve essere indicizzato, …

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

essere univoco, se deve essere indicizzato, …

La tipologia dei dati così come altri parametri sono in genere diversi per DBMS diversi. Di seguito si fa riferimento ad Access.

E’ obbligatorio definire la tipologia del dato e la dimensione

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Criteri di assegnazione dei tipi di dati

Testo: si usa questo tipo di dato in un campo (standard per access) quando si devono inserire qualsiasi tipo di lettera, simboli, spazi, numeri fino ad un massimo di 255 caratteri.

Memo: si usa questo tipo di dato in un campo quando si devono inserire dei testi lunghissimi fino a 65535 caratteri (testi, note, descrizioni).

Numerico: si usa questo tipo di dati in un campo quando si devono inserire valori numerici utilizzati solo per eseguire dei calcoli. (Attenzione in genere non viene utilizzato per numeri telefonici, codici postali in quanto non sono utilizzati nei calcoli.)

Data/ora: si usa questo tipo di dati in un campo solo per eseguire calcoli su date e ore.Data/ora: si usa questo tipo di dati in un campo solo per eseguire calcoli su date e ore.

Valuta: si usa questo tipo di dati in un campo quando si devono inserire valori numerici con valuta in euro o altro.

Contatore: si usa questo tipo di dati in un campo quando si devono inserire numeri progressivi a partire da 1 a ogni record del database. E' Access che assegna automaticamente numeri progressivi che poi non si potranno più modificare.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Si/No: si usa questo tipo di dati in un campo quando si dovrà fare la scelta tra due condizioni Si o No (vero o falso).

Oggetto OLE: si usa questo tipo di dati in un campo modulo quando si devono inserire oggetti tipo grafica, fogli elettronici, file sonori.

Collegamento ipertestuale: si usa questo tipo di dati in un campo quando di dovrà inserire un collegamento a qualsiasi cosa come ad esempio un indirizzo internet.

Ricerca guidata: si usa questo tipo di dati in un campo quando, per ridurre il tasso di Ricerca guidata: si usa questo tipo di dati in un campo quando, per ridurre il tasso di errore di inserimento dati, è possibile creare una lista di valori selezionati di un'altra tabella o una lista creata da noi.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Impostato il tipo di dato che si è scelto, si dovranno impostare alcune proprietà, (nella parte inferiore della finestra disegna tabella), che sono molto importanti perché maschere e report utilizzeranno queste proprietà, per prevenire errori, per semplificare l’input dei dati.

Impostazione delle proprietà:

Dimensione campo: Solo per campo di tipo di testo consente un massimo di 255 caratteri, per campi di tipo numerico e contatore vedi tabella qui sotto:

Dimensione campo Numero più grande Cifre decimali

Byte da 0 a 255 Nessuna. Dato arrotondato

Interoda -32768 a 32768

(2^15)Nessuna. Dato arrotondato

Intero lungoda -2,147,483,648 a

2,147,483,647Nessuna. Dato arrotondato

Precisione singola da -3,4x10 a 3.4x10 Fino a 7

Precisione doppiada -1.797x10 a

1.797x10Fino a 15

Decimale da 0 a 255 Disponibile

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Formato: Stabilisce la modalità dei dati che appaiono in Visualizzazione Foglio dati. Per campi di tipo numerico vedi tabella qui sotto:

Formato Descrizione

Numero GenericoFormato Standard. Visualizza il

numero come lo si digita.

ValutaUtilizza la valuta impostata da

windows con punto separatore

Euro Utilizza la valuta euro

Il numero standard di cifre decimali è 2. Visualizza almeno una cifra

Fissoè 2. Visualizza almeno una cifra

e il numero viene arrotondato a secondo del numero di cifre decimali impostate.

StandardUsa il punto come separatore delle

migliaia. Cifra decimale è 2

PercentualeMoltiplica il numero inserito per

100. Cifra decimale è 2

Notazione scientificaRappresenta i numeri come multipli

di potenze di 10

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Per campi di tipo data/ora vedi tabella qui sotto:

Formato Descrizione

Data generica Valore Standard.

Data estesa Esempio: lunedì 1 maggio 2000

Data breve Esempio: 1-mag-2000

Data in cifre Esempio: 01/05/2000

Ora estesa Esempio: 06.25.00

Ora breve 12h Esempio: 12.25 ora espressa su 12 ore

Ora breve 24h Esempio 19.45 ora espressa su 24 ore

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Posizioni decimali: Solo per campi Numerico e Valuta, stabilisce un certo numero di cifre decimali.

Maschera di imput: Con questa proprietà è possibile impostare l'aspetto che dovranno avere i nostri dati: es. Codice fiscale, e-mail, ora, CAP, sigla della provincia, data.

Etichetta: Con questa proprietà e possibile cambiare il nome (come alternativa) del campo che appare nella tabella su maschere e report.

Valore predefinito: Imposta nel campo un valore specifico predefinito.

Valido se: E possibile impostare un valore massimo o minimo del dato in quel campo (es. non può superare un determinato numero sia in eccesso o per difetto).non può superare un determinato numero sia in eccesso o per difetto).

Messaggio di errore: E' possibile inserire un piccolo testo che si vuole che appaia, nel caso che si violino le regole delle proprietà precedenti "valido se".

Richiesto: Con questa proprietà è possibile stabilire l'obbligatorietà di inserimento dati in un report.

Consenti lunghezza zero: Con questa proprietà è possibile stabilire se scrivere nel report delle virgolette (" ") nel caso che non ci siano dati da inserire.

Indicizzato: Se no: non consente l'immissione di dati uguali per velocizzare la lettura dei dati di un database.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Esempio di memorizzazione:

5

se considerato come carattere sarà memorizzato (codifica ASCII) con la seguente stringa di bit: 00110101 (numero decimale 53)

se considerato come numero intero sarà memorizzato con la seguente stringa di bit: 00000000 00000101bit: 00000000 00000101

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Codifica A.S.C.I.I.

American Standard Code for Information Interchange

La sigla "ASCII" sta per: "American Standard Code for Information Interchange", cioe' "Standard americano Interchange", cioe' "Standard americano per lo scambio di informazioni".Un codice ASCII e' la rappresentazione numerica di un carattere in quanto il computer puo' solo capire numeri e codici. Per esempio il carattere "@" e' rappresentato dal codice ASCII "64", "Y" dall'"89", "+" dal "43", ecc.Pero' un codice ASCII puo' anche rappresentare una specifica azione, come "vai a capo", codice ASCII "10", oppure "cancella", codice "127", ecc.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Esercitazione1-Access

Come prima esercitazione, creiamo una tabella avente la

1

2

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Come prima esercitazione, creiamo una tabella avente la seguente struttura:

�ID contatore (chiave primaria);

�Data Data/ora – Data in cifre;

�Ora Data/ora – Ora breve 24h;

�TipoID numerico (fa riferimento alla tipologia di visita, ovvero alla tabella Tipologia);

�ClienteID numerico (fa riferimento al cliente, cioè alla tabella Clienti);

�Incasso valuta - Euro

2

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

3 4

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

5

6

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Imposterermo come chiave primaria il campo ID e si salverà col nome Visite

Chiave Primaria (Primary Key): insieme minimo di campi che permette di identificare in modo univoco un record all’interno di una tabella (in genere è un solo campo).

Nell’esempio, ID rappresenta univocamente una visita

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Poi creeremo le tabelle: Tipologia, Clienti, Sesso.

Nella tabella Sesso, che avrà un solo campo testo(1),inseriremo le due righe di valore F e M. L’inserimentoavverrà cliccando due volte sulla tabella, oppureselezionandola e cliccando su Apri.

La tabella Sesso si creerà per facilitare l’inserimentodegli elementi di “Clienti”, attraverso una casellacombinata (o elenco a discesa o combo) In unamaschera di input (vedi più avanti)

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Inserimento di alcuni elementi nella tabella Tipologia. L’inserimento verràeffettuato direttamente aprendo la tabella. Essendo il campo ID un contatore,sarà Access stesso ad incrementarlo via via che inseriamo una nuova riga.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Creiamo adesso una maschera per l’inserimento/lettura dei dati dei clientiattraverso “Crea una maschera mediante una creazione guidata” dell’oggettoMaschere.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Seguiamo le indicazioni di default

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Seguiamo le indicazioni di default

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Trasciniamo, cliccandoci due volte, una casella combinata sulla maschera. Servirà per scegliere il valore del sesso dalla tabella Sesso

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Si può adesso chiudere e salvare colnome Clienti.

Si è creata una maschera di nomeClienti che servirà per inserire nuovirecord nella tabella Clienti e per scorrerei vari record presenti. Basta cliccare duevolte sulla maschera appena creata

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

In modo del tutto analogo si creerà la maschera per l’inserimento/lettura delle righe della tabella Visite

E’ inutile selezionare il campoID, in quanto essendo uncontatore, verrà incrementatoautomaticamente da Access

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni CaffarelliUniversità degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Scegliere il campo di Visite dovememorizzare il valore ID dellatabella Clienti.

Il campo è chiaramente ClientiID

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Chiudere e salvare col nome Visite

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Cliccando due volte sull’oggetto maschera Visite, si aprirà la maschera per l’input dei dati.

Nell’esempio di figura è stata inserita anche un’altra casella combinata che

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Nell’esempio di figura è stata inserita anche un’altra casella combinata chepermette di scegliere la tipologia delle visite.

Per inserire questa nuova casella combinata basta selezionare la mascheraVisite e cliccare su struttura.

In tal modo si aprirà la maschera in visualizzazione struttura e con unaprocedura analoga a quella già vista precedentemente si potrà inserire lacasella combinata che legge i dati dalla tabella Tipologia ed inserisce il valoreID nel campo TipoID della tabella Visite.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Da un punto di vista teorico, progettare un data-base relazionale richiede le seguenti fasi:•Tracciare il diagramma entità-relazioni ERD (Entity-Relationship Diagram) del DB;•Tradurre il ERD in tabelle (schemi relazionali);•Individuare gli eventuali vincoli di integrità.

Il modello relazionale è oggi il più diffuso.Nato all'inizio degli anni '70 si basa sul concetto matematico di relazione tra insiemi;la teoria dei DB relazionali può esprimersi in modo rigoroso usando il linguaggiodella logica formale o in alternativa quello dell'insiemistica.

Il modello relazionale usa come strutture dati fondamentali le tabelle e le relazioni fra esse.

Può essere utilizzato un “linguaggio grafico” per disegnare il diagramma entità-relazioni.Le entità sono rappresentate con rettangoli.Le relazioni (associazioni) sono in genere rappresentate con losanghe.Successivamente tale diagramma si tradurrà nella progettazione di tabelle

Esempio di diagramma Entità-relazioni

AUTORE LIBRO Pubblica EDITORESCRIVE1 N N 1

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Le entità o oggetti sono i componenti principali di un Data-Base. Un primo approccio è quellodi vederle come il corrispettivo dei sostantivi della lingua comune; esempi classici di entitàsono PERSONA, LUOGO, LIBRO, VISITA MEDICA, MATERIA, ... così come le relazioni (oassociazioni) corrispondono a forme verbali.

Un’entità corrisponde ad una tabella in cui le colonne (o campi) sono gli attributi

ID rappresenta il campo chiave della tabella LIBRO

titolo

ID

LIBRO

prezzoEditoreID

AutoreID

ID rappresenta il campo chiave della tabella LIBRO

EditoreID rappresenta il campo che relaziona con la tabella EDITORE

AutoreID rappresenta il campo che relaziona con la tabella Autore

ID è la Chiave Primaria (Primary Key): insieme minimo di campi che permette di identificare in modo univoco un record all’interno di una tabella (in genere è un solo campo. ID rappresenta univocamente un Libro

EditoreID e AutoreID sono campi che relazionano con tabelle esterne e vengono chiamate chiavi esterne (foreign key); la relazione avviene attraverso la chiave primaria delle tabelle esterne

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

In un’associazione è importante stabilire la cardinalità.

La cardinalità può essere di tre tipi:

1:1 (leggi uno a uno): ad ogni elemento della prima entità corrisponde uno e un solo elemento della seconda e viceversa;

1:N (leggi uno a enne o uno a molti): ad un elemento della prima entità possono corrispondere uno o più elementi della seconda entità. Ad un elemento della seconda entità corrisponde uno e un solo elemento della prima;

N:M (leggi enne a emme o molti a molti): ad un elemento della prima entità possono N:M (leggi enne a emme o molti a molti): ad un elemento della prima entità possono corrispondere più elementi della seconda e viceversa;

Esempi:

Relazione Nazione-Capitale: ogni Nazione ha una sola Capitale; ogni capitale è tale di una sola nazione; la relazione è 1:1.

Relazione padre-figlio; ad ogni padre possono corrispondere uno o più figli ma non il viceversa; l'associazione è 1:N.

Relazione Film-Attore: un attore può recitare in più film; un film ha più attori. La relazione è N:M.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

È una relazione 1:N (uno a molti)perché ad una riga della tabellaAUTORI possono corrispondereuno o più righe della tabella LIBRI.In questo caso nella tabella LIBRI siinserisce una colonna come chiaveesterna chiave

AUTORI

COMUNI1

N

1

È una relazione 1:N (uno a molti)perché ad una riga della tabellaCOMUNI possono corrispondereuno o più righe della tabellaAUTORI. In questo caso nellatabella AUTORI si inserisce unacolonna come chiave esterna cherappresenta la chiave primariadella tabella COMUNI

esterna che rappresenta la chiaveprimaria della tabella AUTORI

EDITORI

LIBRI N

N 1

In una relazione tra due tabelle T1 e T2 in cui la cardinalità e 1:N, nella tabella T2 siinserisce come chiave esterna la chiave primaria della tabella T1.

E’ il caso di COMUNI-AUTORI o AUTORI-LIBRI o EDITORI-LIBRI dell’esempioprecedente.

AUTORI

COMUNI1

N

In una relazione tra due tabelle T1 e T2 in cui la cardinalità e 1:1, in una tabella,indifferentemente, si può inserire come chiave esterna la chiave primaria dell’altratabella.

Esempio : NAZIONE-CAPITALE

Come esercitazione creare le due tabelle NAZIONE e CAPITALE

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

In una relazione tra due tabelle T1 e T2 in cui la cardinalità e N:M, è necessario creareuna terza tabella nella quale siano presenti una chiave primaria e due chiavi esterne chesono le chiavi primarie delle due tabelle T1 e T2.

Esempio Film-Attore: un attore può recitare in più film; un film ha più attori. La relazioneè N:M. (come esercitazione creare le tabelle)

FILM ATTORI FILM-ATTORI

Nota: in effetti tra le tabelle AUTORI e LIBRI, tenendo conto che un libro può essere scritto da più autori, la relazione è N:M.Come esercitazione, modificare la relazione precedente e creare la terza tabella che di fatto realizza la relazione tra gli autori e i libri.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Università

RagusaCatania Siracusa

Medicina e Chirurgia Ingegneria

Medicina e Chirurgia Scienze Motorie

Sede

Facoltà

Corso di laurea

Materia

Esempio: Università

Anatomia I InformaticaMateria

Materia Corso di laurea

Facoltà PresidentedellaDel

N 1 N 1 1 1

Studente

frequenta

N

M

presiede

Sede

nella

N

1

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

CorsoLaurea

IDMateria

SemestreDescrizione

Descrizione Facoltà

IDID

ID

Studente

Nome

LuogoNascita

Residenza

Matricola

Cognome

ID

Descrizione Presidente

Sede

Esempio: Università

Cognome Nome

IDIDCorsoLaurea

IDID

PresidenteID

FacoltàSede

IDID

Sede

Ubicazione

CODICECODICE

COMUNI

Descrizione

I campi chiave sono sottolineati: le chiavi primarie colorate in verde, le chiavi esterne in azzuro.

Gli altri campi sono in corsivo

Tra Studente e Materia esiste una relazione N:M, in tal caso si crea un’altra tabella che relaziona le due.

IDMaterieStudenti

Materia

Studente

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Esempio: Università

Ad una materia, esempio Anatomia I (ID=1), sono iscritti più studenti (Rossi Mario, Russo Francesco, Arena Paolo).

Analogamente uno Studente, ad esempio Rossi Mario (ID=3) è iscritto in più materie (Anatomia I, Istologia, Informatica)

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Dati anagraficiCliente

ID

Codice fiscaleVisita

IDData

Cliente

Patologia

Visita

TipologiaVisita

effettua

1

Medico

NN1

N

N

1

N

Esempio: Studio medico

Ora Cliente Codice fiscaleVisita

TipoID

MedicoID

Prezzo

ClienteID ClientePatologia

IDClienteID

PatologiaIDPatologia ID

Descrizione

Dati anagrafici

TipologiaVisita ID

Descrizione

Medico ID

Ora

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Una Tabella è costituita:

� da diverse colonne o campi o attributi che costituiscono con le loro caratteristiche la struttura di una tabella;

� dalle righe o record o tuple che sono gli elementi o Item della tabella.

Una Tabella può non avere righe (essere vuota) ma deve avere le colonne, ovvero deve avere una struttura.

Riassumendo

campiChiave primaria

record

Si dice chiave primaria della tabella uno o più attributi (un insieme minimo diattributi) che permettono di identificare in modo univoco l'elemento a cuiappartengono. E’ sempre preferibile avere come chiave primaria un unico campo.Negli esempi precedenti era il campo ID.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Un campo che, invece, permette di creare una relazione con un’altra tabella, ingenere attraverso la chiave primaria di quest’ultima, viene chiamatochiave esterna.

AUTORI

COMUNI1

N

Chiave esterna della tabella

AUTORI

AUTORI

Campo chiave della tabella COMUNI

Join Comuni.ID = AUTORI.Luogo_Nascita

(relazione tra la tabella COMUNI e la tabella AUTORI attraverso il campo ID della tabella Comuni e il campo Luogo_Nascita della tabella AUTORI)

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Vincoli di integrità

I vincoli di integrità servono per mantenere la consistenza della base di dati.

Possiamo definirle come un insieme di regole da rispettare; in particolare:

� Vincolo di Chiave Primaria (Primary Key): la chiave primaria non può avere valori NULL e deve essere univoca, ovvero deve identificare univocamente una riga;

� Vincolo di Chiave Esterna (Foreign Key): i valori di una chiave esterna � Vincolo di Chiave Esterna (Foreign Key): i valori di una chiave esterna devono identificare in modo univoco un record dell’altra tabella;

� Vincolo di Dominio (Check Constraint): si tratta di un vincolo molto generico, permette di usare delle funzioni per controllare la conformità dei dati a determinate regole che possono essere anche piuttosto complesse. Esempio: il campo Sesso deve avere solo valori pari a “F” o “M”; il campo Prezzo non può avere valori maggiori di 200, una data deve avere valori validi (31/02/2008 non è valido), Voto compreso tra 18 e 30, …

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Vediamo alcuni esempi (i campi sottolineati sono le chiavi primarie):

TEATRO

nome città email

Bellini Catania [email protected]

NULL Milano [email protected]

San Carlo Napoli NULL

DIPENDENTE

cf nome cognome DataNascita Sesso

ELSDLL72 Elisa Fiume 31/04/1972 F

FRNDPP76 Fernanda Santagati 11/03/1976 F

Dati inconsistenti:I dati inconsistenti sono stati evidenziati in

rosso:

1. Seconda riga della tabella TEATRO: uncampo chiave non può avere valori nulli;

2. Seconda e terza riga della tabellaDIPENDENTE: un campo chiave nonpuo avere due valori uguali;

3. Quarta riga della tabella DIPENDENTE:

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

FRNDPP76 Fernanda Santagati 11/03/1976 F

FRNDPP76 Marco Dall'Aglio 09/01/1970 M

15678955 Mario Rossi 19/10/1965 M

3. Quarta riga della tabella DIPENDENTE:il campo cf ha un valore non validocome codice fiscale;

4. quarta riga della tabella LAVORO:valore per il campo ruolo a cui noncorrisponde alcuna voce nella tabellaRUOLO;

5. terza riga della tabella LAVORO: ilcampo ha un valore per dipendente nonpresente nella tabella DIPENDENTE

LAVORO

teatro dipendente ruolo

Bellini ELSDLL72 1

Bellini FRNDPP76 3

Bellini FRNDPP76 7

San Carlo MRCDLL70 2

RUOLO

ID Descrizione

1 Pubbliche relazioni

2 Controllo

3 Direzione

4 Amministrazione

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Mentre con Data Base

si intende un insieme di dati strutturati strettamente correlati ememorizzati, in genere, su un supporto di memoria di massa,

con Data Base Management System (DBMS)

si intende, invece, un sistema software, ovvero un insieme di programmi,ovvero un ambiente operativo, per la gestione delle basi dati.

Data Base – D.B.M.S.

Per gestione della base dati o data base si intende l’ambiente, ovvero l’insieme di procedure (script) o percorsi guidati (wizard), per la:

• creazione, eliminazione o modifica dei vari oggetti (tabelle, viste, maschere, report,…) ;

• gestione della sicurezza (profili ed utenti di accesso);

• pianificazione, schedulazione, di attività come ad esempio i backup;

• gestione dei processi (task) e dei log;

• gestione di trigger (procedure che si attivano al verificarsi di particolari eventi (inserimento di una riga in una tabella, aggiornamento di un campo, eliminazione di una riga);

•… altro …

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Ovviamente, tra Data Base e DBMS esiste una forte interazione, per cui

Il DBMS è diverso per ogni Data Base. Di seguito sono riportate alcuneschermate dell’ Enterprise Manager e del Query Analyzer di MS SQLServer e alcune schermate di MS Access.

Data Base – D.B.M.S.

talvolta si intendono come la stessa cosa, altre volte si tende a considerarli due

parti distinte di un unico oggetto: il DBMS rappresenta la parte attiva, il Data

Base quella passiva, sulla quale il DBMS opera.

Per i data base relazionali si parla di RDBMS.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

MS Access

Office 2003

Oggetti:

1. Tabelle2. Query3. Maschere4. Report5. Pagine6. Macro7. Moduli

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

MS Access

Office 2007

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

MS Access

creazione o modifica della struttura di una tabella

creazione o modifica di una query

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

MS SQL Server – Enterprise Manager

Database esistenti Oggetti del database

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

MS SQL Server – Enterprise Manager

tabelle del database SITcatania

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

MS SQL Server – Enterprise Manager

viste del database SITcatania

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

MS SQL Server – Enterprise Manager

Creazione di una vista

Relazione tra il campo Causale della tabella site_badge e il campo ID della tabella site_badgecausali

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

MS SQL Server – Enterprise Manager

Visualizzazione dei processi

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

MS SQL Server – Query Analyzer

Esecuzione di una query con il risultato in formato griglia

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Avvio di SQL Developer di Oracle.

E’ un ambiente che permette di interagire con data base Oracle

ORACLE

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

ORACLE Oggetti

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

ORACLE

tabelle Struttura della tabella

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

ORACLE

Esecuzione di una istruzione SQL

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Linguaggi per basi di dati

Abbiamo visto che con DBMS si intende un sistema software, ovvero un insieme di programmi, per la gestione delle basi dati.

L’interazione con la base dati avviene normalmente attraverso diverse metodologie:

� un linguaggio testuale interattivo (SQL);� un linguaggio testuale interattivo (SQL);

� un percorso guidato, un wizard, con interfacce amichevoli e di solito abbastanza semplici;

� programmi scritti in linguaggi evoluti che permettono di connettersi alla base dati (Visual Basic, C++, Java, .Net, …).

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Il linguaggio SQL è il linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali.

�Permette di creare, modificare o eliminare gli oggetti in un database (lo stesso database, una tabella, gli indici, le chiavi, le viste,…)

� permette di inserire o eliminare una riga

� permette di modificare il valore di una o più colonne

� permette di interrogare il database

Linguaggio SQL

Structured Query Language

� permette di interrogare il database

Secondo la tipologia di istruzione si parla di Linguaggio di descrizione dei dati (DDL - Data Description Language), di linguaggio per la manipolazione dei dati (DML- Data Manager Language), di linguaggio di interrogazione.

Ormai quasi tutti i RDBMS possiedono un ambiente “visuale” che permette di lavorare abbastanza facilmente sui Database anche se non si conosce nel dettaglio la sintassi delle istruzioni SQL.

Fu creato nel 1970 dall’IBM ed oggi è uno standard per i RDBMS; non si può parlare di DataBase relazionale se non implementa e soddisfa le istruzioni SQL definite da ANSI (American National Standards Organization) e ISO (International Standards

Organization).

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

In particolare il linguaggio SQL permette di:

1. interrogare il database ed estrarre dati (Select ……);

2. aggiornare i valori di alcuni campi (Update ……);

3. inserire nuove righe (Insert into ……);

4. eliminare righe (Delete …);4. eliminare righe (Delete …);

5. creare una tabella (Create table ……);

6. modificare la struttura di una tabella (Alter table ……);

7. eliminare una tabella (Drop table ……).

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Linguaggio SQL - esempio

SELECT Cognome, Nome, DataNascitaFROM ClientiWHERE Clienti.Cognome='Musumeci' ORDER BY Clienti.Cognome, Clienti.Nome, Clienti.DataNascita

Estrazione dalla tabella Clienti di tutti i record il cui cognome è Musumeci ordinandoli in ordine alfabetico.

Select <lista dei campi da visualizzare separati da virgola (se si vogliono visualizzare tutti i campi si può utilizzare l’asterisco *) >

From <elenco Tabelle con eventualmente la relazione fra esse>

Where <criterio o criteri di estrazione, utilizzando gli operatori AND, OR, NOT, IS …, IS NOT…, Between>

Order By <lista dei campi su cui effettuare l’ordinamento, inserire Desc in caso di ordinamento decrescente>

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

SELECT *FROM ClientiWHERE Year(DataNascita) = 1980ORDER BY Clienti.Cognome, Clienti.Nome, Clienti.DataNascita

Estrazione dalla tabella Clienti dei nati del 1980, ordinandoli in ordine alfabetico

Linguaggio SQL - esempio

N.B. il risultato sarà una griglia contenente tante righe quanti sono i clienti che soddisfano la condizione di estrazione.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Interrogazione: Contare il totale dei clienti

La tabella è Clienti; si utilizzerà la parola chiave Count

Select Count(*) As Totale From Clienti

Linguaggio SQL - esempio

Sono stati utilizzati le parole chiave Count che effettua un conteggio dei record, As per modificare l’intestazione della colona del risultato in “Totale” e la funzione Year che restituisce il valore numerico dell’anno.(Month e Day sono le funzioni che ritornano rispettivamente il mese, numerico, e il giorno)

N.B. il risultato sarà solo una riga che conterrà il totale.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Interrogazione: Sommare l’incasso delle visite del mese di aprile dell’anno 2008

La tabella è Visite; si utilizzerà la parola chiave Sum

Select Sum(Incasso) As TotIncasso From Visite

Where Year(Data)=2008 And Month(Data)=4

Linguaggio SQL - esempio

Sono stati utilizzati la parola chiave SUM che sommerà i valori del campo Incasso della tabella Visite, le funzioni Year e Month che restituiscono i valori numerici rispettivamente dell’anno e del mese.(Le funzioni Max, Min, Avg ritornano rispettivamente il valore massimo, il valore minimo ed la media)

N.B. il risultato sarà solo una riga che conterrà la somma risultante.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Linguaggio SQL - esempio

Interrogazione: estrarre tutti i clienti che risiedono sia Siracusa che a Ragusa.

E’ necessario impostare la relazione (join) con la Tabella Comuni contenente il capo chiave primaria Codice e la descrizione del comune nel campo Comune.

Linguaggio SQL - esempio

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Linguaggio SQL - esempio

Esistono tre tipi di Join:

1. INNER JOIN: estrae e include tutte le righe in cui i campi collegati (nel nostro caso Clienti.Città e Comuni.Comune) sono uguali

2. LEFT JOIN: estrae e include tutte le righe della prima tabella (Clienti) e solamente le righe della seconda tabella in cui i campi collegati sono uguali;

3. RIGHT JOIN: estrae e include tutte le righe della seconda tabella (Comuni) e solamente le righe della prima tabella in cui i campi collegati sono uguali.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Linguaggio SQL - esempio

Select Clienti.Cognome, Clienti.Nome, Clienti.Indirizzo, Clienti.Civico, Comuni.CAP, Comuni.Comune, Comuni.SiglaProv

FROM Clienti INNER JOIN Comuni ON Clienti.Città = Comuni.Codice

WHERE Comuni.Comune=‘Siracura’ OR Comuni.Comune=‘Ragusa’

ORDER BY Comuni.Comune , Comuni.CAP, Clienti.Cognome, Clienti.Nome

Le righe, risultato della estrazione, conterranno i campi Cognome, Nome, Indirizzo, Civico della tabella Clienti e i campi CAP, Comune e SiglaProvdella tabella Comuni.L’ordine sarà in base al Comune, poi al CAP e poi alfabetico.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Linguaggio SQL - esempio

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

SELECT Comuni.Comune, Count(Comune) AS TotaleFROM Clienti INNER JOIN Comuni ON Clienti.Città = Comuni.CodiceGROUP BY Comuni.ComuneORDER BY Count(Comune) DESC

Linguaggio SQL - esempio

Calcolare il numero dei clienti raggruppandoli per comune di residenza.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Linguaggio SQL - esempio

SELECT Year(Data) AS Anno, Tipologia.Descrizione, Count(Tipologia.Descrizione) AS TotaleVisite, Sum(Visite.Incasso) ASTotaleIncassoFROM Visite INNER JOIN Tipologia ON Visite.TipoID = Tipologia.IDGROUP BY Year(Data), Tipologia.DescrizioneORDER BY Year(Data), Sum(Visite.Incasso) DESC , Tipologia.Descrizione;

Calcolare il numero di visite con l’ncasso raggruppandole per anno e tipologia.

Tipologia.Descrizione;

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Linguaggio SQL - esempio

Data la tabella Medici:

ALTER TABLE Visite ADD MedicoID int Null

Modifichiamo la tabella Visite inserendo il campo: Medico (numerico)Questo campo sarà una chiave esterna verso la tabella Medici.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Linguaggio SQL - esempio (query di Aggiornamento)

UPDATE Visite SET MedicoID = 5 WHERE TipoID = 2

Aggiorniamo il campo MedicoID della tabella Visite al valore 5 che corrisponde al medico Leone Valentina per le visite che si riferiscono a Neurologia, ovvero TipoID=2

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Linguaggio SQL - esempio

Tabella Visite dopo l’esecuzione dell’istruzione SQL di Update

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Linguaggio SQL - esempio

Inseriamo una nuova riga nella tabella Medici:

INSERT INTO Medici ( Cognome, Nome, DataNascita, Specializzazione )VALUES ("Reale", "Carlo", "01/06/1980", 3);

(query di Accodamento)

DELETE Visite.*FROM Visite INNER JOIN Clienti ON Visite.ClienteID = Clienti.IDWHERE Clienti.Cognome ="Melito" AND Clienti.Nome="Rachele"

Eliminiamo dalla tabella Visite la riga in cui il cliente è Melito Rachele

(query di Eliminazione)

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

1. Estrarre dalla tabella Clienti di tutti i record il cui cognome è “Barbagallo” e di sesso femminile, ordinandoli in ordine alfabetico e visualizzando solamente il sesso, il cognome, il nome e la data di nascita.

2. Estrarre tutti i Clienti nati nel giugno1981, visualizzando il cognome, il nome, la data di nascita, la descrizione del comune di nascita e della provincia di nascita. Ordinare per provincia, comune e alfabetico crescente

Linguaggio SQL - ESERCITAZIONE

Di seguito sono riportati sette esercizi da risolvere scrivendo altrettante istruzioni SQL. Le istruzioni possono essere ricavate creando le query con Access.

3. Calcolare il numero di visite con l’incasso raggruppandole per mese,anno e tipologia.

4. Estrarre le visite con incassi compresi tra 60 e 80 euro.

5. Creare un elenco che riporta il numero di visite effettuate per cliente.

6. Creare un elenco di clienti che hanno effettuato visite, ogni cliente deve essere riportato una sola volta.

7. Estrarre l’incasso minimo, il massimo e la media per anno.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Linguaggio SQL – ESERCITAZIONE - soluzioni

Di seguito sono riportate le soluzioni, anche se non nello stesso ordine:

SELECT Visite.Data, Visite.Ora, Visite.Incasso, Trim([Clienti].[Cognome]) + ' ‘ + Trim([Clienti].[Nome]) + ' ‘ + CStr([Clienti].[DataNascita]) AS NominativoFROM Visite LEFT JOIN Clienti ON Visite.ClienteID = Clienti.IDWHERE Visite.Incasso Between 60 And 70ORDER BY Visite.Incasso, Visite.Data;

SELECT Clienti.Cognome, Clienti.Nome, Clienti.DataNascita, Comuni.Comune, Comuni.SiglaProvFROM Clienti LEFT JOIN Comuni ON Clienti.LuogoNascita = Comuni.CodiceORDER BY Comuni.SiglaProv, Comuni.Comune, Clienti.Cognome, Clienti.Nome, Clienti.DataNascita;

SELECT DISTINCT (Clienti.ID), Clienti.Cognome, Clienti.Nome, Clienti.DataNascitaFROM Visite LEFT JOIN Clienti ON Visite.ClienteID=Clienti.ID;

SELECT Clienti.ID, Clienti.Cognome, Clienti.Nome, Clienti.DataNascita, Count(Clienti.ID) AS TotaleFROM Visite LEFT JOIN Clienti ON Visite.ClienteID=Clienti.IDGROUP BY Clienti.ID, Clienti.Cognome, Clienti.Nome, Clienti.DataNascitaORDER BY Count(Clienti.ID) DESC , Clienti.Cognome, Clienti.Nome, Clienti.DataNascita;

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

SELECT Clienti.Sesso, Clienti.Cognome, Clienti.Nome, Clienti.DataNascitaFROM ClientiWHERE Clienti.Sesso="F“ AND Clienti.Cognome="barbagallo"ORDER BY Clienti.Cognome, Clienti.Nome, Clienti.DataNascita;

SELECT Month(Visite.Data) AS Mese, Year(Visite.Data) AS Anno, Tipologia.Descrizione, Sum(Visite.Incasso) AS TotaleIncassoFROM Visite LEFT JOIN Tipologia ON Visite.TipoID=Tipologia.IDGROUP BY Month(Visite.Data), Year(Visite.Data), Tipologia.Descrizione

Linguaggio SQL – ESERCITAZIONE - soluzioni

GROUP BY Month(Visite.Data), Year(Visite.Data), Tipologia.DescrizioneORDER BY Month(Visite.Data), Year(Visite.Data), Sum(Visite.Incasso) DESC , Tipologia.Descrizione;

SELECT Year(Visite.Data) AS Anno, Min(Visite.Incasso) AS Minimo, Max(Visite.Incasso) AS Massimo, Avg(Visite.Incasso) AS MediaFROM VisiteGROUP BY Year(Visite.Data);

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

I Metadati

I metadati sono informazioni strutturate che descrivono, esplicano, localizzanoqualsiasi cosa che renda piu’ facile recuperare, usare o gestire una risorsainformativa. Spesso vengono definiti come “dati relativi ai dati” o “informazionirelative alle informazioni”. Un record di metadati consiste in un insieme di attributi oelementi, necessari a descrivere la risorsa.

… ovvero le informazioni sulle informazioni ….

La loro funzione è:

�di rendere più trasparente i dati;

�di fornire riferimenti sull’Ente che gestisce e pubblica il dato e sui progetti da cui i

I Metadati costituiscono in qualche modo il curriculum vitae dei dati, ovvero raccolgono le informazioni relative alla loro struttura, alla fonte primaria, alle date di elaborazione e di aggiornamento e quindi al dove, al quando, al come e da chi i dati sono stati ottenuti. Si tratta quindi di un corredo indispensabile per rendere tali dati fruibili correttamente da chiunque, anche a distanza di tempo e di spazio.

�di fornire riferimenti sull’Ente che gestisce e pubblica il dato e sui progetti da cui i dati sono stati prodotti;

�di fornire caratteristiche sulla gestione (manutenzione e aggiornamento) del dato

�di fornire le modalità per accedere ai dati attraverso la rete;

�di ricercare i dati attraverso alcune parole chiavi.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA

La sicurezza delle informazioni è sicuramente una disciplina che ha origini antiche.

Con una definizione molto ampia si può dire che la sicurezza delle informazioni è la disciplina che, attraverso diversi processi, permette di trattare “opportunamente” le informazioni. Per gestire al meglio la sicurezza è necessario conoscere i seguenti punti:

1. Quali sono le informazioni da proteggere classificandole in base alla loro importanza;importanza;

2. quali sono i rischi, i punti deboli e le minacce;3. quali potrebbero essere le conseguenze del verificarsi di un danno;4. quali sono i metodi per ridurre al minimo la probabilità che possa verificarsi un

evento dannoso ;5. quali metodi applicare per difendersi dalle minacce o quantomeno ridurre al

minimo i danni;6. quali sono le tecnologie disponibili e come applicarle al meglio;7. quali sono le migliori esperienze e le migliori pratiche adottate (best pratctices);8. cosa consiglia e/o impone la normativa vigente.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA – concetti base ed obiettivi

Gli obiettivi che un sistema di sicurezza deve raggiungere possono esseresemplificati ed individuati in:Riservatezza: ovvero la prevenzione dell’accesso alle informazioni da parte di chi nonsia stato autorizzato.Disponibilità: ovvero la prevenzione dell’inaccessibilità alle risorse.Integrità: ovvero la tutela dall’alterazione dei dati.Autenticità: ovvero la prevenzione dell’attribuzione di fatti, messaggi e, comunque,documenti a individui diversi dal legittimo autore.Non ripudio: ovvero la prevenzione al disconoscimento dell’origine di un documentoda parte del legittimo autore del documento stesso.da parte del legittimo autore del documento stesso.

Gli ultimi due punti si sono affermati soprattutto con l’avvento della firma digitale edella posta certificata.

Per ottenere questi obiettivi devono essere applicati protocolli da eseguirecorrettamente e particolari tecniche e metodi.

E’ sempre necessario effettuare un’analisi del rischio; analisi che utilizza gli stessiprincipi e percorsi relativi alla gestione del rischio nel senso più ampio.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA – bene, minaccia, vulnerabilità

Per bene, nella sicurezza, si intende tutto ciò che deve essere oggetto di protezione.Nella sicurezza delle informazioni, per “bene” non si intende più solamente l’insieme delle informazioni “segrete” di un’azienda, oggetto per esempio di spionaggio industriale o di danneggiamenti da parte di concorrenti, ma, si intende, oggi, anche, l’insieme delle informazioni che costituiscono la privacy degli individui.Per tutela di un bene si intende anche la tutela di quei beni che permettono di accedere ai beni primari e più significativi. Per esempio la tutela di un PIN o password che permettono l’accesso ai beni primari. Non tutelare i PIN di carte o permetterne la lettura durante l’utilizzo, comporterà successivamente la possibilità di azioni per nome e conto della persona a cui è stato catturato. azioni per nome e conto della persona a cui è stato catturato.

Esempi di beni:Immagine di un’Azienza;Segreti industriali;Documenti cartacei;Fondi;Informazioni riservate e sensibili;Hardware e software;Servizi e manufatti vari;……….

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA – bene, minaccia, vulnerabilità

Per minaccia si intende qualsiasi azione, che può portare alla violazione di unobiettivo di sicurezza. Le minacce possono esse classificate e di seguito sonoriportati alcuni esempi:

Tipo DELIBERATA ACCIDENTALE AMBIENTALE

Terremoto x

Inondazione x x xFulmine xIncendio x xInterruzione di corrente, acqua, aria condizionata x xFurto xGuasto hardware, software o sulla linea x xAccesso non autorizzato o Infiltrazioni xErrori degli operatori x xVirus o software dannoso xReindirizzamento non corretto di messaggi x

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA – bene, minaccia, vulnerabilità

Per vulnerabilità si intende una debolezza intrinseca del sistema informatico ed èquindi una sua caratteristica interna, a differenza delle minacce dove è semprepresente un fattore esterno. Di per se però la vulnerabilità non è una condizione checomporta automaticamente una violazione di obiettivi di sicurezza.

INFRASTRUTTURA Mancanza di protezione fisica dell’edificio

Mancanza disistemi di controllo accesso

Impianto elettrico edi condizionamentonon sufficiente

Locali soggetti adallagamenti

HW E IMPIANTI Mancanza di Suscettibilità a Manutenzione Carenza nel

Esempi di vulnerabilità

HW E IMPIANTI Mancanza di sistemi di rimpiazzo

Suscettibilità avariazioni ambientali: temperatura, umidità, polvere,…

Manutenzione insufficiente

Carenza nel controllo delle configurazioni

COMUNICAZIONI Linee nonprotette

Mancanza di autenticazione sender-receiver

Trasferimento in chiaro di password e dati sensibili

Connessioni a linea pubblica non protetta

DOCUMENTI CARTACEI

Locali non protetti

Carenza di precauzione nell’eliminazione dei documenti

Mancanza di controllo delle copie

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Esempi di vulnerabilità

SOFTWARE Mancanza di sistemi di identificazione/autenticazione

Tabelle password non protette

Mancanza di logging

Carenza di controllo di configurazione

Carenza di documentazione

Mancanza di una pianificazione dei salvataggi

Mancanza di controlli nel caricamento/installazione ed utilizzo del software

Permanenza di sessioni aperte senza utente

Errori e bachi del software noti

PERSONALE Insufficienza di Inadeguatezza del Utilizzo poco Mancanza di

LA SICUREZZA – bene, minaccia, vulnerabilità

PERSONALE Insufficienza di personale

Inadeguatezza del personale

Utilizzo poco efficace del personale

Mancanza di supervisione e di monitoraggio

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA – Analisi del rischio

Si può definire il rischio come il prodotto tra la gravità (G) delle conseguenze che un evento pericoloso determinerebbe (ovvero l’impatto) e la probabilità (P) che tale evento pericoloso si verifichi:

R = G x P

La gravità, in genere, è normalmente esprimibile in termini di danno economico.

Per quanto riguarda la probabilità, invece, soprattutto nel campo della sicurezzainformatica, essa è funzione:

�per le minacce di tipo deliberato dalle motivazione dell’attaccante (M) e dellavulnerabilità del sistema:

�Per le minacce di tipo accidentale dalla probabilità intrinseca di accadimento delsinistro (probabilità di inondazioni, di black-out della zona, …) (s) e chiaramenteanche della vulnerabilità (V)

P = f (V, M) (per le minacce di tipo deliberato)

P = f (V, s) (per le minacce di tipo accidentale)

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA – processo di analisi e gestione del rischio

Definiremo in modo sintetico le fasi di un processo di gestione del rischio (primal’analisi e poi il controllo e le contromisure). Fondamentale è il livello diconsapevolezza all’interno dell’azienda.

CLASSIFICAZIONE DELLE INFORMAZIONI E

DELLE RISORSE

IDENTIFICAZIONE DELLE

Ricognizione e classificazione delle informazioni gestite dal sistemainformativo, siano esse prodotte e gestite da sistemi informatici oattraverso altri sistemi.

L’elenco delle minacce è determinato dalla collocazione logistica,dall’ambiente e cultura esterna, dal “business” o missione dell’azienda,IDENTIFICAZIONE DELLE

MINACCE

IDENTIFICAZIONE DELLE VULNERABILITA’

IDENTIFICAZIONE DEL LIVELLO DI RISCHIO

dall’ambiente e cultura esterna, dal “business” o missione dell’azienda,dalle sue caratteristiche e dalla sua cultura interna, dal modelloorganizzativo e dalle caratteristiche del suo sistema informatico.

La vulnerabilità è una caratteristica intrinseca del sistema. E’ necessarioidentificare le vulnerabilità determinate dalla collocazione geografica elogistica, dai componenti del sistema, dalla cultura, storia e competenzedi chi gestisce, ….

L’identificazione del rischio dipende dalle tre fasi precedenti. Può essereclassificato attraverso semplici parametri qualitativi o misuratoattraverso complesse classificazioni di tipo quantitativo (economico).

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA – processo di analisi e gestione del rischio

CONTROLLO E CONTROMISURE

Il controllo del rischio e le contromisure da attivare sono orientate allariduzione sia della probabilità di accadimento dell’evento nocivo che allariduzione della gravità delle conseguenze.

Per contromisura di sicurezza si intende la realizzazione, sia in fase di progettazione che di utilizzo, di tutte quelle azioni che si propongono di ridurre la probabilità che si verifichi un evento nocivo (per alcuni eventi è impossibile), di ridurre o annullare le vulnerabilità e di contrastare le minacce.

E’ possibile classificare le contromisure in tre caratteristiche:

Contromisure di tipo fisico.

Contromisure di tipo procedurale.

Contromisure di tipo tecnico informatico.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA – contromisure

Contromisure di tipo fisico:sono quelle che si basano su realizzazione di tipo logistico, realizzazioni di aree protette,sistemi di controllo accessi a più livelli, aree meno soggette ad eventi naturali comeinondazioni, strutture antisismiche, realizzazione di sistemi di protezione dei cavi, sistemi diprotezioni da radiazioni elettromagnetiche

Contromisure di tipo procedurale: sono contromisure identificabili nella definizione diContromisure di tipo procedurale: sono contromisure identificabili nella definizione diazioni, comportamenti, modi di operare del personale addetto sia utente che amministratore.Ovvero nella definizione di procedure e di protocolli a cui tutti devono sottostare. Tali procedurenon devono però essere complesse per evitare che gli operatori sbagliano o si dimenticano eoltretutto devono essere controllabili per evitare che vengano volontariamente non eseguite.Alcuni esempi sono le procedure e protocolli che gli operatori devono eseguire durante tutta lafase dell’accesso sia fisico ai locali che di accesso alle procedure; procedure di conservazionee di modifica periodica delle password; procedure periodiche per l’aggiornabilità degli antivirus;procedure che gli operatori devono eseguire in caso di particolari eventi; … Oggi la tecnologiapermette l’automazione di alcune di queste procedure come ad esempio l’aggiornamento degliantivirus.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA – contromisure

Contromisure di tipo tecnico informatico:sono anche dette funzioni di sicurezza e sono realizzate attraverso sistemi hardware, firmware e software per :L’identificazione e l’autenticazione, ovvero quelle funzioni che permettono di identificare in modo univoco l’individuo (l’esempio più banale è la coppia login-password) ma anche di processi.

II controllo accessi, ovvero tutte quelle funzioni che consentono il controllo degli accessi ma non solo di individui ma anche di processi con opportuni sistemi di gestione della memoria.

Rendicontabilità (Accountability), ovvero tutte quelle funzioni che permettono l’attribuzione delle responsabilità di avvenimenti; è valido anche per i processi individuando il processo padre che lo ha generato.

Verifica (Audit) ovvero tutte quelle funzioni che permettono la registrazione di tutti i passi, gli avvenimenti con l’attribuzione delle corrispondenti responsabilità. Fanno parte di queste funzioni quelle note come logging.

Accuratezza, ovvero tutte quelle funzioni che garantiscono l’integrità dei dati e tutte quelle per esempio che permettono l’accuratezza nella determinazione del tempo (time server per l’unicità del tempo).

Affidabilità del servizio, ovvero tutte quelle funzioni che garantiscono la qualità e la continuità di servizi in caso di un evento nocivo. Esempi sono il roll-back, ripristino, ridondanza di sistemi e server, di UPS (alimentatori , gruppi di continuità).

Scambio dei dati in modo sicuro, ovvero tutte quelle funzioni che assicurano la sicurezza delle comunicazioni durante la trasmissione.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA – Politiche di sicurezza

Il primo aspetto, oggetto di definizione, da parte di una azienda è la definizionedell’insieme delle politiche di sicurezza da adottarsi.

Si parla di politiche al plurale perché è improbabile che tutta l’attività relativa allasicurezza possa dare origine ad un solo documento.

Le politiche di sicurezza dovranno prevedere tutti i processi cheun’organizzazione dovrà usare per implementare e perseguire gli obiettivi disicurezza. In particolare, come in parte già detto, si possono individuare cinquearee in cui suddividere tali processi:aree in cui suddividere tali processi:

1. La valutazione dei rischi: identificazione delle vulnerabilità, delle probabilitàe delle conseguenze.

2. La definizione delle strategie: la pianificazione delle politiche, delletecnologie, delle procedure, della formazione, di quanto già detto sullecontromisure.

3. L’implementazione di processi di controllo: con l’implementazione distrumenti tecnologici; la definizione dei ruoli, degli incarichi, delleresponsabilità.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

4. I test di verifica: l’attuazione di metodologie che garantiscano che sia lavalutazione dei rischi che gli strumenti di mitigazione siano appropriati e che iprocessi di controllo siano appropriati.

5. Il monitoraggio e l’aggiornamento: processi di raccolta e analisi dei datirelativi ad ogni minaccia, vulnerabilità e anomalia per effettuare continuicorrettivi.

LA SICUREZZA – Politiche di sicurezza

E’ bene sottolineare due aspetti determinanti e fondamentali nella definizionedelle politiche di sicurezza, ovvero:la definizione chiara dei ruoli, incarichi e responsabilità del personale coinvolto

verificando anche che per ciascun incarico vi siano le adeguate competenze esoprattutto l’adeguata sensibilizzazione al problema.

Tenere conto del rapporto costo/beneficio della sicurezza e che le misure sianocoerenti con il valore del patrimonio informativo da proteggere e sempre in lineacon la propria missione istituzionale.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA E IL TRATTAMENTO DEI DATI

Se si parla di sicurezza non si può non parlare di trattamento dei dati personali. InItalia esiste una legislazione che ha affrontato direttamente tutta la problematica sindal 1996 con la legge 675/96 che, appunto, tutela il trattamento dei dati personali.Quei dati cioè che consentono l’univoca identificazione, diretta o indiretta, di unapersona fisica o giuridica, ente o associazione.Per ultimo, l’argomento è disciplinato dal decreto legislativo 30 giugno 2003, n.196(in Suppl. ordinario n. 123 alla Gazz. Uff., 29 luglio, n. 174). – “Codice in materiadi protezione dei dati personali”. Di seguito sono riportati gli art. 1, 2 e 3:

Art. 11. Chiunque ha diritto alla protezione dei dati personali che lo riguardano. 1. Chiunque ha diritto alla protezione dei dati personali che lo riguardano.

Art. 21. Il presente testo unico, di seguito denominato codice, garantisce che il trattamento dei dati personali si svolga nel rispetto dei diritti e delle libertà fondamentali, nonché della dignità dell'interessato, con particolare riferimento alla riservatezza, all'identità personale e al diritto alla protezione dei dati personali.2. Il trattamento dei dati personali è disciplinato assicurando un elevato livello di tutela dei diritti e delle libertà di cui al comma 1 nel rispetto dei principi di semplificazione, armonizzazione ed efficacia delle modalità previste per il loro esercizio da parte degli interessati, nonché per l'adempimento degli obblighi da parte dei titolari del trattamento .

Art. 31. I sistemi informativi e i programmi informatici sono configurati riducendo al minimo l'utilizzazione di dati personali e di dati identificativi, in modo da escluderne il trattamento quando le finalità perseguite nei singoli casi possono essere realizzate mediante, rispettivamente, dati anonimi od opportune modalità che permettano di identificare l'interessato solo in caso di necessità.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA - Codice in materia di protezione dei dati personali

Nel prosieguo del decreto vengono enunciate alcune definizioni su termini e funzioni pertinenti il trattamento dei dati ed i sistemi informativi.

1. Ai fini del presente codice si intende per:

a) "trattamento", qualunque operazione o complesso di operazioni, effettuati anche senza l'ausilio di strumenti elettronici, concernenti la raccolta, la registrazione, l'organizzazione, la conservazione, la consultazione, l'elaborazione, la modificazione, la selezione, l'estrazione, il raffronto, l'utilizzo, l'interconnessione, il blocco, la comunicazione, la diffusione, la cancellazione e la distruzione di dati, anche se non registrati in una banca di dati;

b) "dato personale", qualunque informazione relativa a persona fisica, persona giuridica, ente od b) "dato personale", qualunque informazione relativa a persona fisica, persona giuridica, ente od associazione, identificati o identificabili, anche indirettamente, mediante riferimento a qualsiasi altra informazione, ivi compreso un numero di identificazione personale;

c) "dati identificativi", i dati personali che permettono l'identificazione diretta dell'interessato;

d) "dati sensibili", i dati personali idonei a rivelare l'origine razziale ed etnica, le convinzioni religiose, filosofiche o di altro genere, le opinioni politiche, l'adesione a partiti, sindacati, associazioni od organizzazioni a carattere religioso, filosofico, politico o sindacale, nonché i dati personali idonei a rivelare lo stato di salute e la vita sessuale;

e) "dati giudiziari", i dati personali idonei a rivelare provvedimenti di cui all'articolo 3, comma 1, lettere da a) ao) e da r) a u), del d.P.R. 14 novembre 2002, n. 313, in materia di casellario giudiziale, di anagrafe delle sanzioni amministrative dipendenti da reato e dei relativi carichi pendenti, o la qualità di imputato o di indagato ai sensi degli articoli 60 e 61 del codice di procedura penale;

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

f) "titolare", la persona fisica, la persona giuridica, la pubblica amministrazione e qualsiasi altro ente, associazione od organismo cui competono, anche unitamente ad altro titolare, le decisioni in ordine alle finalità, alle modalità del trattamento di dati personali e agli strumenti utilizzati, ivi compreso il profilo della sicurezza;

g) "responsabile", la persona fisica, la persona giuridica, la pubblica amministrazione e qualsiasi altro ente, associazione od organismo preposti dal titolare al trattamento di dati personali;

h) "incaricati", le persone fisiche autorizzate a compiere operazioni di trattamento dal titolare o dal responsabile;

i) "interessato", la persona fisica, la persona giuridica, l'ente o l'associazione cui si riferiscono i dati

LA SICUREZZA - Codice in materia di protezione dei dati personali

i) "interessato", la persona fisica, la persona giuridica, l'ente o l'associazione cui si riferiscono i dati personali;

l) "comunicazione", il dare conoscenza dei dati personali a uno o più soggetti determinati diversi dall'interessato, dal rappresentante del titolare nel territorio dello Stato, dal responsabile e dagli incaricati, in qualunque forma, anche mediante la loro messa a disposizione o consultazione;

m) "diffusione", il dare conoscenza dei dati personali a soggetti indeterminati, in qualunque forma, anche mediante la loro messa a disposizione o consultazione;

n) "dato anonimo", il dato che in origine, o a seguito di trattamento, non può essere associato ad un interessato identificato o identificabile;

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

o) "blocco", la conservazione di dati personali con sospensione temporanea di ogni altra operazione del trattamento;

p) "banca di dati", qualsiasi complesso organizzato di dati personali, ripartito in una o più unità dislocate in uno o più siti;

q) "Garante", l'autorità di cui all'articolo 153, istituita dalla legge 31 dicembre 1996, n. 675.

2. Ai fini del presente codice si intende, inoltre, per:

a) "comunicazione elettronica", ogni informazione scambiata o trasmessa tra un numero finito di soggetti

LA SICUREZZA - Codice in materia di protezione dei dati personali

a) "comunicazione elettronica", ogni informazione scambiata o trasmessa tra un numero finito di soggetti tramite un servizio di comunicazione elettronica accessibile al pubblico. Sono escluse le informazioni trasmesse al pubblico tramite una rete di comunicazione elettronica, come parte di un servizio di radiodiffusione, salvo che le stesse informazioni siano collegate ad un abbonato o utente ricevente, identificato o identificabile;

b) "chiamata", la connessione istituita da un servizio telefonico accessibile al pubblico, che consente la comunicazione bidirezionale in tempo reale;

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

c) "reti di comunicazione elettronica", i sistemi di trasmissione, le apparecchiature di commutazione o di instradamento e altre risorse che consentono di trasmettere segnali via cavo, via radio, a mezzo di fibre ottiche o con altri mezzi elettromagnetici, incluse le reti satellitari, le reti terrestri mobili e fisse a commutazione di circuito e a commutazione di pacchetto, compresa Internet, le reti utilizzate per la diffusione circolare dei programmi sonori e televisivi, i sistemi per il trasporto della corrente elettrica, nella misura in cui sono utilizzati per trasmettere i segnali, le reti televisive via cavo, indipendentemente dal tipo di informazione trasportato;

d) "rete pubblica di comunicazioni", una rete di comunicazioni elettroniche utilizzata interamente o prevalentemente per fornire servizi di comunicazione elettronica accessibili al pubblico;

e) "servizio di comunicazione elettronica", i servizi consistenti esclusivamente o prevalentemente

LA SICUREZZA - Codice in materia di protezione dei dati personali

e) "servizio di comunicazione elettronica", i servizi consistenti esclusivamente o prevalentemente nella trasmissione di segnali su reti di comunicazioni elettroniche, compresi i servizi di telecomunicazioni e i servizi di trasmissione nelle reti utilizzate per la diffusione circolare radiotelevisiva, nei limiti previsti dall'articolo 2, lettera c), della direttiva 2002/21/CE del Parlamento europeo e del Consiglio, del 7 marzo 2002;

f) "abbonato", qualunque persona fisica, persona giuridica, ente o associazione parte di un contratto con un fornitore di servizi di comunicazione elettronica accessibili al pubblico per la fornitura di tali servizi, o comunque destinatario di tali servizi tramite schede prepagate;

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

g) "utente", qualsiasi persona fisica che utilizza un servizio di comunicazione elettronica accessibile al pubblico, per motivi privati o commerciali, senza esservi necessariamente abbonata;

h) "dati relativi al traffico", qualsiasi dato sottoposto a trattamento ai fini della trasmissione di una comunicazione su una rete di comunicazione elettronica o della relativa fatturazione;

i) "dati relativi all'ubicazione", ogni dato trattato in una rete di comunicazione elettronica che indica la posizione geografica dell'apparecchiatura terminale dell'utente di un servizio di comunicazione elettronica accessibile al pubblico;

l) "servizio a valore aggiunto", il servizio che richiede il trattamento dei dati relativi al traffico o dei dati

LA SICUREZZA - Codice in materia di protezione dei dati personali

l) "servizio a valore aggiunto", il servizio che richiede il trattamento dei dati relativi al traffico o dei dati relativi all'ubicazione diversi dai dati relativi al traffico, oltre a quanto è necessario per la trasmissione di una comunicazione o della relativa fatturazione;

m) "posta elettronica", messaggi contenenti testi, voci, suoni o immagini trasmessi attraverso una rete pubblica di comunicazione, che possono essere archiviati in rete o nell'apparecchiatura terminale ricevente, fino a che il ricevente non ne ha preso conoscenza.

3. Ai fini del presente codice si intende, altresì, per:

a) "misure minime""misure minime", il complesso delle misure tecniche, informatiche, organizzative, logistiche e procedurali di sicurezza che configurano il livello minimo di protezione richiesto in relazione ai rischi previsti nell'articolo 31;

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

LA SICUREZZA - Codice in materia di protezione dei dati personali

b) "strumenti elettronici", gli elaboratori, i programmi per elaboratori e qualunque dispositivo elettronico o comunque automatizzato con cui si effettua il trattamento;

c) "autenticazione informatica", l'insieme degli strumenti elettronici e delle procedure per la verifica anche indiretta dell'identità;

d) "credenziali di autenticazione", i dati ed i dispositivi, in possesso di una persona, da questa conosciuti o ad essa univocamente correlati, utilizzati per l' autenticazione informatica;

e) "parola chiave", componente di una credenziale di autenticazione associata ad una persona ed a questa nota, costituita da una sequenza di caratteri o altri dati in forma elettronica;

f) "profilo di autorizzazione", l'insieme delle informazioni, univocamente associate ad una persona, che consente di individuare a quali dati essa può accedere, nonché i trattamenti ad essa consentiti;consente di individuare a quali dati essa può accedere, nonché i trattamenti ad essa consentiti;

g) "sistema di autorizzazione", l'insieme degli strumenti e delle procedure che abilitano l'accesso ai dati e alle modalità di trattamento degli stessi, in funzione del profilo di autorizzazione del richiedente.

4. Ai fini del presente codice si intende per:a) "scopi storici", le finalità di studio, indagine, ricerca e documentazione di figure, fatti e circostanze del

passato;

b) "scopi statistici", le finalità di indagine statistica o di produzione di risultati statistici, anche a mezzo di sistemi informativi statistici;

c) "scopi scientifici", le finalità di studio e di indagine sistematica finalizzata allo sviluppo delle conoscenze scientifiche in uno specifico settore.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Sulla custodia e sul controllo, l’art. 31 dice:

1. I dati personali oggetto di trattamento sono custoditi e controllati, anche in

relazione alle conoscenze acquisite in base al progresso tecnico, alla natura dei

dati e alle specifiche caratteristiche del trattamento, in modo da ridurre al minimo,

mediante l'adozione di idonee e preventive misure di sicurezza, i rischi di

distruzione o perdita, anche accidentale, dei dati stessi, di accesso non autorizzato

o di trattamento non consentito o non conforme alle finalità della raccolta.

LA SICUREZZA - Codice in materia di protezione dei dati personali

o di trattamento non consentito o non conforme alle finalità della raccolta.

Sul trattamento dei dati attraverso strumenti elettronici, all’art. 34, comma h) dice:

h) adozione di tecniche di cifratura o di codici identificativi per determinati

trattamenti di dati idonei a rivelare lo stato di salute o la vita sessuale effettuati da

organismi sanitari.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Il backup e il ripristino dei dati

Il backup dei dati di un database consiste nel salvataggio di file di backup creatidallo stesso database. In Access il backup può essere costituito da una semplicecopia del file .mdb.

Il backup ha fondamentalmente la funzione di salvaguardia nei confronti di alcunieventi, come ad esempio:�errori volontari o involontari determinati dagli stessi operatori che agiscono suidati;�errori prodotti da software che operano sul database;�errori prodotti da software che operano sul database;�problemi accidentali che possono verificarsi: guasti hardware, interruzioneanomala delle comunicazioni durante una transazione, ecc..;�attacchi, in genere dolosi, provenienti dalla rete.

Il backup ha anche altre funzioni:•creare copie di database da installare poi su altri server;•trasportare i dati in modo più semplice;•creare un archivio con database fermi a determinati periodi.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Il backup e il ripristino dei dati

Attraverso la procedura di ripristino (restore) è possibile ripristinare uno deibackup effettuati precedentemente.

Il backup di un database, o di una sua parte, però non ci salvaguardacompletamente se non viene effettuata una corretta politica di salvataggio.Facciamo alcuni esempi:

[Si effettua un backup giornaliero (a fine giornata) e sempre sullo stesso supporto.Viene commesso un errore, per esempio vengono cancellate o modificate alcuneViene commesso un errore, per esempio vengono cancellate o modificate alcunerighe di una tabella o tutta la stessa tabella ma ci si accorge solamente dopo diversigiorni. Ripristinando il backup si ripristinerà sempre il database con gli stessi errori,proprio perché il salvataggio effettuato ogni giorno sovrascriveva quello del giornoprecedente.]

[Si effettua un backup settimanale, ad esempio la domenica; il giovedì ci si accorge di un problema e poiché il ripristino è solamente quello della domenica si perdono tutte le operazioni effettuate da lunedì a giovedì.]

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Il backup e il ripristino dei dati

[Tutti i salvataggi vengono conservati nello stesso locale dove ci sono i file originali( dove c’è il server). Si verifica un evento che danneggia il locale (per esempio unincendio); si danneggiano sia il database di produzione (quello originario) maanche tutti i salvataggi.]

[Si verifica un guasto grave hardware che necessita di un intervento lungo, adesempio una settimana. Anche avendo i salvataggi non è possibile ripristinarliperché bisogna aspettare la riparazione del guasto o aspettare che vengariprodotto un sistema che sia “sosia” di quello precedente su cui poi ripristinare ilbackup.]

[Si verifica un’anomalia, per esempio una interruzione di linea, durante unatransazione (per esempio una transazione bancaria); sarà necessario annullarlae ripristinare i dati prima del verificarsi dell’evento anomalo.]

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Il backup e il ripristino dei dati

Questi sono solamente alcuni esempi.Per ridurre al minimo la probabilità di perdere informazioni è necessarioeffettuare una corretta politica di salvataggio.

E’ necessario definire una serie di protocolli da seguire, ad esempio:schedulazione di un backup giornaliero effettuato in orari in cui il sistema èmeno stressato conservandoli sul disco fisso per almeno una settimana;conservando così 7 backup;

schedulare attraverso programmi specializzati copie dei backup su una serie disupporti magnetici a nastri (Data Tape o DAT); preferibilmente avendo più diuna serie di nastri;

conservare il backup settimanale o mensile evitando che venga sovrascritto; laconservazione dovrà essere effettuata in locali diversi, in ambienti protetti e susupporto di tipo diverso;

con una certa frequenza (per esempio annuale) controllare i backup sui DAT emagari rigenerarli.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Il backup e il ripristino dei dati

Per sistemi particolarmente critici, è preferibile realizzare due sistemi, uno di“produzione”, ovvero il sistema che è normalmente utilizzato, ed un altro, semprefunzionante, che sia gemello del precedente, con una copia dei dati aggiornata eche possa sostituirsi a quello di produzione in tempi brevissimi.

Per “sistema”, in questo caso, si intende un gruppo di server, magari all’interno diun rack con server e alimentazione ridondate e cabinet di dischi con architetturaRAID.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Tecnologia RAID

Negli ultimi anni i costi della tecnologia hardware si sono abbassati rendendosempre più possibile l'uso di materiali e tecniche che prima erano a solo edesclusivo vantaggio delle grandi società.Non solo ma alcuni concetti come la ridondanza che agli inizi dell’era informaticaera considerata in modo negativo oggi, invece, è un aspetto importante per lariduzione della vulnerabilità di un sistema.

Il RAID (Redundant Array of Inexpensive Disks oppure Redundant Array of

Indipendent Disks) è una tecnologia utilizzata proprio per ridurre la vulnerabilitàdei dischi fissi utilizzando più dischi di quanto sia necessario per raggiungere ladei dischi fissi utilizzando più dischi di quanto sia necessario per raggiungere lacapacità di memoria necessaria.IL RAID è uno dei sistemi per raggiungere quella che si chiama “fault tollerance”,ovvero la tolleranza ai guasti.

L’architettura RAID prevede diversi tipi, in particolare il RAID 0, RAID 1, RAID 2,RAID 3, RAID 4, RAID 5, RAID 6.

Di seguito si approfondiranno i due che sicuramente sono i più utilizzati: RAID 1 eRAID 5.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Tecnologia RAID

RAID 1 o disk mirroring:

Due dischi vengono configurati uno come la copiadell'altro e quindi registrano entrambi gli stessi dati. Laridondanza è assicurata dal fatto che, in caso di guastodi uno, l'altro disco può continuare a funzionaregarantendo l'accesso ai dati. Le performance miglioranoin lettura dato che le richieste vengono soddisfattein lettura dato che le richieste vengono soddisfattesimultaneamente da tutti i dischi dell'array, mentre inscrittura restano uguali, dovendo scrivere su entrambi idischi. ll numero minimo di dischi necessari perimplementare RAID 1 è due.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

RAID Level 5:

Un sistema a tolleranza d’errore, dove i dati e la loro parità vengono distribuiti su più dischi.La parità è un valore calcolato che viene utilizzato per ricostruire i dati danneggiati.Detto anche “a parità distribuita”, la sua implementazione richiede almeno tre dischi. Almomento della scrittura dei dati sul disco, essi vengono separati in blocchi, e distribuiti suunità diverse. La componente di “parità” è automaticamente generata e viene scrittaanch’essa, secondo un algoritmo che di volta in volta ne calcola la posizione.Questo metodo permette il recupero dei dati anche in caso di avaria di uno dei dischi, perchéi dati mancanti vengono ricostruiti, tramite i blocchi rimanenti e le informazioni di paritàaggiunte ai blocchi originali. A paragone del livello 1 di RAID, il livello 5 permette un uso più

Tecnologia RAID

aggiunte ai blocchi originali. A paragone del livello 1 di RAID, il livello 5 permette un uso piùefficiente della capacità, poiché solo una parte dello spazio viene riservata per le informazionidi ridondanza.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Come funziona la parità? Facciamo un esempio semplificato per capirne la logica.Supponiamo di avere 5 dischi, dividiamo l’informazione, ad esempio 1 9 6 e 5 in 4 blocchi e poi ne calcoliamo la somma: 21.

Scriviamo sui 5 dischi 1 9 6 5 21, e contrassegniamo qual’è il disco che contiene la somma.

Se il secondo disco si rompe, si perde il valore 9, ma è possibile ricalcolarlo: 21-(1+6+5)=9.

Tecnologia RAID

Si può quindi sostituire l’unità e fare il “rebuild", senza fermo macchina e senza perdita di dati.

Mentre il RAID-1 richiede una duplicazione dello spazio per funzionare (per avere 100 Giga bisogna utilizzare due dischi da 100), il RAID-5 è tanto più efficiente quanti più sono i dischi, perché si ha bisogno solo di un disco in più. Con 5 dischi da 100 GB si ha una capacità di memoria di 400 Gbyte.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli

Tecnologia RAID

I due livelli si possono anche combinare, è pratica diffusa dotare i server di:

�2 dischi in mirroring (RAID-1) come dischi interni (per esempio utilizzati per l’unità C:);� un certo numero di dischi (per esempio 6) in RAID 5 su un cabinet esterno ma sempre sullo stesso rack.

Nei rack di server, utilizzati per servizi particolarmente Nei rack di server, utilizzati per servizi particolarmente critici, si utilizza anche:

�la tecnologia HOT SWAP ovvero la possibilità di sostituire un disco rotto a caldo, cioè senza spegnere la macchina;

�un disco aggiuntivo detto HOT SPARE, che viene automaticamente sostituito dal sistema in caso di un guasto ad uno dei dischi.

Università degli Studi di Catania - Facoltà di Medicina e Chirurgia - a.a. 2008/09 - prof. ing. Paolo Arena, prof. ing. Giovanni Caffarelli