Sistemi di Elaborazione delle Informazioni - disit.org · • Informatica e Architettura dei ... Un...

55
Disributed Systems and Internet Technology Corso di Laurea Magistrale in Scienze Infermieristiche e Ostetriche Sistemi di Elaborazione delle Informazioni - Metodologia della Ricerca applicata - A.A. 2016/17 Docente: Gianni Pantaleo Dipartimento di Ingegneria dell’Informazione – DINFO DISIT Lab Distributed Systems and Internet Technology Lab Facoltà di Ingegneria Università degli Studi di Firenze Via S. Marta 3, 50139 [email protected] DISIT Lab http:// www.disit.org Sistemi di Elaborazione delle Informazioni A.A. 2016/17 1

Transcript of Sistemi di Elaborazione delle Informazioni - disit.org · • Informatica e Architettura dei ... Un...

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

Corso di Laurea Magistrale in Scienze Infermieristiche e Ostetriche

Sistemi di Elaborazione delle

Informazioni

- Metodologia della Ricerca applicata -A.A. 2016/17

Docente: Gianni Pantaleo

Dipartimento di Ingegneria dell’Informazione – DINFO

DISIT Lab – Distributed Systems and Internet Technology Lab

Facoltà di Ingegneria

Università degli Studi di Firenze

Via S. Marta 3, 50139

[email protected]

DISIT Labhttp://www.disit.org

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

1

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

2

Sistemi di Elaborazione delle Informazioni – A.A. 2016/17

Sistemi di Elaborazione delle Informazioni1. Introduzione

• Definizione di «Informazione»• Segnali e Codifica dell’Informazione

2. Sistemi di Elaborazione dell’Informazione• Informatica e Architettura dei Calcolatori• Reti di Calcolatori e Tecnologie ICT

3. Basi di Dati• Definizioni e Rappresentazioni• Modelli e Linguaggi

4. Sistemi ICT in Ambito Medico Sanitario• Sistemi Informativi Sanitari• Health Techgnology Assessment• Direttive IVD - Sistemi Diagnostici in Vitro

5. Esercitazioni Pratiche• Utilizzo di Sistemi di Gestione Dati e Database

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

3. Basi di Dati

3

Sistemi di Elaborazione delle Informazioni – A.A. 2016/17

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

4

La Piramide della Conoscenza - Informazione

3. Basi di Dati – Definizioni e Rappresentazioni

Informazione

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

5

Basi di Dati e DMBS: Definizioni

3. Basi di Dati – Definizioni e Rappresentazioni

Una Base di Dati (Database), nella sua accezione più generica, è una collezione omogenea didati strutturati.

Una base di dati è una insieme di dati che può essere gestito da un sistema DBMS (Data BaseManagement System).

Un DBMS è un sistema software composto da sequenze di dati strutturati ed interconnessitra di loro, e da una serie di programmi applicativi che consentono di effettuare su tali datioperazioni di accesso, modifica e interrogazione (query di ricerca).

Un DBMS supporta diversi livelli di astrazione sui dati, a differenza di altri sistemi informativianaloghi non informatizzati (elenco telefonico, registro anagrafico cartaceo ecc.).• Livello Fisico

• Livello Logico/Concettuale

• Livello Esterno

Un DBMS deve essere in grado di gestire basi di dati di grandi dimensioni (Big Data),persistenti (cioè con un ciclo di vita indipendente dal programma che le utilizza) e condiviseda più utenti/sistemi/applicazioni.

Un DBMS deve inoltre prevedere modalità di controllo differenziato di accesso ai dati, pergarantire la privacy e la sicurezza di eventuali dati sensibili, riservati e/o personali.

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

Ogni SI è suddiviso generalmente in settori o sotto-sistemi, ognuno dei quali svolge variefunzionalità ed esegue vari processi su una base di dati spesso condivisa.

Possono essere molteplici le applicazioni che utilizzano gli stessi dati o stesse porzioni dellabase di dati condivisa dal SI.

Se la base di dati non è ben progettata, possono verificarsi problemi di integrità, ridondanza oincoerenza, a cui è necessario provvedere attraverso appositi metodi di riconciliazione dei dati:

• Integrità: di solito dovuti ad errore umano o incompletezza nell’immissione di dati (referenziati tra diessi) all’interno del database.

• Ridondanza: informazioni ripetute all’interno del database.

• Ambiguità: incoerenza; differenti descrizioni di uno stesso dato o informazione non coincidono.

6

Problematiche di Completezza e Correttezza dei Dati

3. Basi di Dati – Definizioni e Rappresentazioni

Dati (Dati anagrafici degli studenti)

DBMS (Database Anagrafico di Ateneo)

Immatricolazioni

GestioneEsami

ServiziPrenotazioni

[…] Altre Applicazioni

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

I vantaggi nell’uso di un DBMS sono molteplici:

• Accesso ai dati indipendente dalla loro rappresentazione e memorizzazione.

• Tecniche di accesso ai dati ottimizzate (anche attraverso l’uso di struttureaggiuntive, come gli indici), per migliorare le performance delle interrogazioni.

• Possibilità di controllo dell’integrità e della completezza dei dati.

• Possibilità di controllo dell’accesso ai dati e modalità di accesso multi-utente.

Alcuni limiti:

• Non permettono visualizzazioni grafiche dei dati o delle strutture dati.

• Implementano funzionalità matematiche e statistiche elementari di base.

7

DBMS: Vantaggi e Limiti

3. Basi di Dati – Definizioni e Rappresentazioni

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

Livello Fisico: rappresentazione del DBMS per mezzo di strutture fisiche dimemorizzazione, ovvero specifici files. Descrive come i dati sono memorizzati eorganizzati su uno o più supporti di memoria secondaria.

Livello Logico: rappresenta come vengono organizzati i dati secondo il modellologico adottato dal DBMS (relazionale, gerarchico, ad oggetti ecc.).

Livello Concettuale: a volte distinto dal Livello Logico, descrive le tipologie di dati darappresentare, in termini di oggetti, attributi e relazioni.

Livello Esterno: descrive come vengono presentate porzioni della base di dati agliutenti, attraverso «viste» differenti, parziali o derivate da esigenze particolari degliutenti (regole di accesso, combinazioni di query ecc.).

8

DBMS: Livelli di Astrazione e Rappresentazione

3. Basi di Dati – Definizioni e Rappresentazioni

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

9

Tipologie di Utenti

3. Basi di Dati – Definizioni e Rappresentazioni

DBA - Database Administrator. Utente amministratore che ha il controllo completo delsistema. Tra i suoi compiti principali:

• Definizione e modifica degli schemi.• Gestione dei metodi di accesso e dei permessi per i vari utenti.• Specifica dei vincoli di integrità.

Le altre tipologie di utenti possono essere classificate in base alla loro esperienza nell’uso dellevarie funzionalità del sistema.

Utente Inesperto. Utente finale, non ha conoscenza della struttura dei modelli e/o deilinguaggi del sistema, quindi vi accede ed interagisce solo mediante opportune interfacce(maschere) di alto livello fornite dalle applicazioni che dialogano con il DBMS.

Programmatore Applicativo. Progettano applicativi in linguaggi di alto livello, al cui internoviene integrato un DBMS per la gestione dei dati.

Utente Sofisticato. Interviene direttamente, formulando query oppure agendo sui dati.

Utente Specializzato. E’ un utente sofisticato che utilizza il sistema con metodi di accesso nonconvenzionali per scopi di test (prestazioni del DBMS, debug di applicazioni ecc.).

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

10

Architettura di un DBMS

3. Basi di Dati – Definizioni e Rappresentazioni

Processore DSL

Query Processor Interfaccia GraficaApplicativo

DATIDizionario

DATIIndice

Supporto di Memorizzazione

Processore DML

Processore DCL

Processore DQL

Processore DDL

FILE MANAGER

DB MANAGER

UtenteInesperto

UtenteSofisticato

UtenteSpecializzato

UtenteAmministratore

ProgrammatoreApplicativo

DBMS

Livello Esterno

Livello Logico

Livello Fisico

Livello Concettuale

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

11

Linguaggi Utilizzati nei DBMS

3. Basi di Dati – Definizioni e Rappresentazioni

Per descrivere i vari livelli funzionali si ricorre all’uso di specifici linguaggi:

DQL - Data Query Language. Utilizzato per interrogare il database, formulando query ocombinazioni di query ed estrarne così l’informazione desiderata (Esempi: SQL, XQuery).

DDL - Data Definition Language. Utilizzato per la gestione, a livello logico, delle strutture e deimodelli dei dati. Consente di definire la strutture (Schema, memorizzati nel Dizionario dei Dati)del database Comprende le operazioni di creazione, modifica ed eliminazione di oggetti deldatabase, ma non dei valori assunti dai dati al loro interno (Esempi: SQL).

DML - Data Manipulation Language. Utilizzato per la gestione dei dati all’interno degli oggettidel database, senza coinvolgere le strutture o gli schemi a livello logico. Comprende operazionidi inserimento, aggiornamento o eliminazione di singoli dati (Esempi: SQL).

DCL - Data Control Language. Utilizzato per definire e gestire le modalità di accesso degliutenti. Comprende i comandi per garantire o revocare l’accesso agli oggetti, ai dati, e all’utilizzodei vari linguaggi di gestione (Esempi: SQL).

DSL - Data Storage and Definition Language. Utilizzato per specificare le strutture e le modalitàdi memorizzazione a livello fisico.

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

12

Modelli di Dati

3. Basi di Dati – Definizioni e Rappresentazioni

Un modello di dati è un insieme di costrutti utilizzati per organizzare i dati edescriverne la struttura. Vengono usati anche per descrivere i livelli di astrazioneforniti da un DBMS.

Una DBMS, per trasformare i dati in informazione, deve necessariamente avere unmodello di organizzazione dei dati. I più comunemente utilizzati sono i seguenti:

• Modello Reticolare

• Modello Gerarchico

• Modello a Oggetti (object-oriented)

• Modello Relazionale

• Modello Entità-Relazione E/R

Come ogni modello può essere espresso attraverso diagrammi funzionali.

- Livello Logico -

- Livello Logico -

- Livello Logico -

- Livello Concettuale -

- Livello Logico -

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

14

Modello Relazionale

3. Basi di Dati – Definizioni e Rappresentazioni

Nel Modello Relazionale, una base di dati è rappresentata per mezzo di un insieme di relazioni.Viene usata generalmente la forma tabellare.

Le colonne della tabella sono anche dette campi, o attributi della tabella.

I campi e il formato di dati da essi rappresentati sono predefiniti nello Schema della tabella.

Le righe rappresentano i valori degli attributi, denominati record.

Una tabella deve avere almeno un campo che permetta di identificare ogni record in modounivoco: tale campo è definito in fase di progettazione dello Schema come Chiave Primaria.

Cognome NomeData di Nascita

Matricola

Rossi Mario 01/01/91 5876410

Bianchi Anna 02/02/92 6029347

Verdi Luigi 03/03/93 6459382

NomeCampo

Tipo Codifica NULL Primary

Cognome String(16) UTF-8 No No

Nome String(16) UTF-8 No No

Data di Nascita

gg-mm-aa

ASCII Yes No

Matricola INT(7) ASCII No No

Studenti Studenti_Schema

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

15

Relazioni tra Tabelle

3. Basi di Dati – Definizioni e Rappresentazioni

Cognome NomeData di Nascita

Matricola

Rossi Mario 01/01/91 5876410

Bianchi Anna 02/02/92 6029347

Verdi Luigi 03/03/93 6459382

Studenti

MatricolaStudente

Voto LodeCodice

Modulo

6459382 28 NULL B019874

5876410 30 Yes B019874

6029347 26 NULL B019872

Esami

Codice Titolo Docente Insegnamento

B019874Sistemi di Elaborazione delle Informazioni

Gianni Pantaleo

B019867

[…] […] […] […]

B019872 Igiene Generale Applicata NULL B019867

Moduli

Codice Titolo Docente

B019867 Metodologia della Ricerca Applicata Laura Rasero

B003734 Sistemi Distribuiti Paolo Nesi

[…] […] […]

Insegnamenti

Cognome NomeCodiceFiscale

Cineca ID

Pantaleo Gianni XXXXXX 113774

Rasero Laura YYYYYY 89727

Nesi Paolo ZZZZZZ 83324

Docenti

Le informazioni contenute in tabelle diverse dello stesso database sono spesso correlate. Le chiavi esterne esprimono un vincolo di integrità referenziale tra due o più tabelle.

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

16

Il Linguaggio SQL

3. Basi di Dati – Definizioni e Rappresentazioni

SQL (Structured Query Language) è un linguaggio standard per la definizione e lamanipolazione dei dati di DBMS relazionali.

Originariamente sviluppato presso il laboratorio IBM a San Jose (California) nel 1974,è diventato standard ufficiale nel 1986. L’ultimo standard è SQL:1999 (noto anchecome SQL3).

Tra i più diffusi DBMS relazionali che utilizzano il linguaggio SQL:

• MySQL• Oracle• Informix• PostgreSQL• Microsoft SQLServer

Permette di creare, eliminare e modificare tabelle; inserire, modificare, eliminare ecercare dati; può essere inoltre utilizzato anche da programmi esterni al DBMS.

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

17

3. Basi di Dati – Definizioni e Rappresentazioni

SQL contiene i linguaggi che descrivono tutti i livelli di astrazione di un DBMS.

Le principali funzionalità (essenzialmente la definizione e la manipolazione delletabelle di record) sono espletate dai moduli di Data Definition Language (DDL) eData Manipulation Language (DML).

Con il termine «query» non si intende soltanto una generica interrogazione a undatabase, ma un’istruzione SQL, anche complessa, con cui si possono produrrediverse azioni, tra cui:

• recuperare informazioni dal database;• modificare record esistenti;• aggiungere record a una tabella esistente;• creare tabelle nuove o modificarne di esistenti.

Cenni di Sintassi SQL

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

La creazione di un database si esegue con il comando CREATE DATABASE:

CREATE DATABASE [db_name];

Esempio:CREATE DATABASE AnagraficaStudenti;

La prima volta dopo la creazione, ed ogni volta che si vogliono eseguire operazionisul database appena creato, si deve specificare l’intenzione di utilizzo diquest’ultimo con la direttiva USE [db_name];

USE AnangraficaStudenti;

L’eliminazione di un database si esegue con il comando DROP DATABASE:

DROP DATABASE [db_name];

18

Creazione, Uso ed Eliminazione di Un Database

3. Basi di Dati – Definizioni e Rappresentazioni

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

19

Creazione, Eliminazione e Svuotamento di Una Tabella

3. Basi di Dati – Definizioni e Rappresentazioni

Il tipo varchar(255) identificauna stringa di 256 caratteri.

CREATE TABLE Studente

(

NumMatricola int(11),

Cognome varchar(255),

Nome varchar(255),

DataNascita date,

);

La creazione di una tabella si esegue con il comando CREATE TABLE:

CREATE TABLE [table_name]

(

[column_name1] [data_type(size)],

[column_name2] [data_type(size)],

[column_name3] [data_type(size)],

....

);

CREATE TABLE Studente

(

NumMatricola NOT NULL PRIMARY KEY int(11),

Cognome NOT NULL varchar(255),

Nome NOT NULL varchar(255),

DataNascita DEFAULT NULL varchar(255),

);

Per eliminare completamente la tabella (dati e schema): DROP TABLE Studenti;

Per svuotare la tabella senza eliminare lo schema: TRUNCATE TABLE Studenti;

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

Comando base per modificare la schema di una tabella: ALTER TABLE:

Per aggiungere una colonna aggiungere la direttiva ADD COLUMN [column_name]:

ALTER TABLE [table_name] ADD COLUMN [column_name] [data_type(size)];

ALTER TABLE Studenti ADD COLUMN Indirizzo varchar(255);

Per eliminare una colonna aggiungere la direttiva DROP COLUMN [column_name]:

ALTER TABLE Studenti DROP COLUMN Indirizzo;

Per modificare tipo di dati una colonna:

ALTER TABLE [table_name] MODIFY COLUMN [column_name] [data_type];

ALTER TABLE Studenti MODIFY COLUMN Cognome varchar(31);

20

Modifica dello Schema di Una Tabella

3. Basi di Dati – Definizioni e Rappresentazioni

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

Per inserire un record si usa il comando INSERT INTO TABLE:

INSERT INTO [table_name] ([column_name1], [column_name2], ...)

VALUES ([value1 ], [value2], ...);

INSERT INTO Studenti (NumMatricola, Cognome, Nome)

VALUES ('5876410 ', ' Rossi ', ' Mario ');

21

3. Basi di Dati – Definizioni e Rappresentazioni

Ogni formato di dato da inserireva racchiuso tra apici ' … '

NumMatricola Cognome Nome DataNascita

5876410 Rossi Mario NULL

Nella definizione dello schema della Tabella Studente, era stato definito l’attributo DEFAULT NULL per il campo DataNascita

Modifica dei Record di Una Tabella (1 di 3)

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

Per modificare/aggiornare un record si usa il comando UPDATE:

UPDATE [table_name]

SET [column_name1] = [value1], [column_name2] = [value2],...WHERE [una_certa_Colonna] = [un_certo_valore] AND|OR

[una_altra_certa_Colonna] = [un_altro_certo_valore];

UPDATE Studenti

SET DataNascita = '1991-01-01'WHERE Cognome= ' Rossi ' AND Nome=' Mario ';

22

Modifica dei Record di Una Tabella (2 di 3)

3. Basi di Dati – Definizioni e Rappresentazioni

Espressione condizionale per la presenza del costrutto WHERE edegli operatori logici AND e OR

NumMatricola Cognome Nome DataNascita

5876410 Rossi Mario 1991-01-01

UPDATE Studenti

SET DataNascita = '1991-01-01'WHERE NumMatricola = ' 5876410';

Questa direttiva alternativa producelo stesso risultato, ma elimina i rischi di ambiguità, usando nella espressione condizionale una PRIMARY KEY !

Attenzione! Se si omette la clausola WHERE verranno modificati tutti i record!

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

Per eliminare uno o più record si usa il comando DELETE:

DELETE FROM [table_name]

WHERE [una_certa_Colonna] = [un_certo_valore] AND|OR[una_altra_certa_Colonna] = [un_altro_certo_valore];

DELETE FROM Studenti

WHERE DataNascita IS NULL;

Per eliminare tutte le righe da una tabella (ovvero tutti i record, il che equivale allosvuotamento della tabella), in alternativa al comando TRUNCATE TABLE, si puòeseguire il comando DELETE con la seguente sintassi:

DELETE FROM [table_name];

23

Modifica dei Record di Una Tabella (3 di 3)

3. Basi di Dati – Definizioni e Rappresentazioni

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

24

Ricerche all’Interno di Una Tabella

3. Basi di Dati – Definizioni e Rappresentazioni

Per eseguire ricerche all’interno di una tabella si usa il comando SELECT:

SELECT [column_name1], [column_name2], ... FROM [table_name]

WHERE [una_certa_Colonna] = [un_certo_valore] AND|OR ...

ORDER BY [column_name1] ASC|DESC;

Per selezionare TUTTI i campi di un record, si usa il comando SELECT eil carattere speciale * per specificare la selezione di TUTTE le colonne:

Q:>SELECT * FROM Studenti WHERE CodModulo = 'B019874' ORDER BY Voto DESC;

A:> 5876410 30 Yes B019874

6459382 28 NULL B019874

NumMatricola Voto Lode CodModulo

6459382 28 NULL B019874

5876410 30 Yes B019874

6029347 26 NULL B019872

Q:> SELECT NumMatricola

FROM Esami WHERE Voto > 28

AND CodModulo = 'B019874';

A:> 5876410

Esami

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

25

Sistemi di Elaborazione delle Informazioni – A.A. 2013/14

Sistemi di Elaborazione delle Informazioni1. Introduzione

• Definizione di «Informazione»• Segnali e Codifica dell’Informazione

2. Sistemi di Elaborazione dell’Informazione• Informatica e Architettura dei Calcolatori• Reti di Calcolatori e Tecnologie ICT

3. Basi di Dati• Definizioni e Rappresentazioni• Modelli di Rappresentazione della Conoscenza

4. Sistemi ICT in Ambito Medico Sanitario• Sistemi Informativi Sanitari• Health Techgnology Assessment• Direttive IVD - Sistemi Diagnostici in Vitro

5. Esercitazioni Pratiche• Utilizzo di Sistemi di Gestione Dati e Database

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

26

La Piramide della Conoscenza - Conoscenza

Conoscenza

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

27

Il Modello Entità-Relazione E/R

Il modello Entità-Relazione è un modello concettuale. I modelli concettualipermettono di rappresentare i dati in modo indipendente da ogni sistema, cercandodi descrivere i concetti del mondo reale.

I modelli concettuali sono utilizzati nelle fasi di progettazione di un DBMS.

Il modello Entità-Relazione si basa su tre elementi:

• Le Entità

• Le Relazioni (o Associazioni)

• Gli Attributi

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

28

Le Entità

Un‘Entità rappresenta una classe di oggetti concreti del mondo reale (e.g., persone, oggetti, luoghi ecc., o anche astratti, che abbiano proprietà comuni, ed esistenza autonoma.

Un tipo di Entità viene di solito definito attraverso un nome e lo si rappresenta graficamente con un rettangolo.

Un oggetto specifico appartenente ad una Entità viene definito Istanza di quell’Entità.

Studente

• Mario Rossi

• Luigi Verdi

• Anna Bianchi

• Xxxx YyyyStudenti

o Mario Rossi

o AnnaBianchi

o LuigiVerdio o

o

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

29

Gli Attributi

Gli Attributi descrivono le proprietà delle Entità.

Gli Attributi sono caratterizzati da i seguenti parametri:

• Formato: indica il formato dell’attributo (numero, stringa, formati data gg-mm-aaaa ecc.).

• Dimensione: specifica il range entro cui varia l’attributo (a seconda del formato), e di conseguenza il numero di caratteri o cifre per rappresentarlo.

• Opzionalità: indica se la sua presenza è necessaria oppure facoltativa.

Studente

- Cognome- Nome - N° Matricola

Attributo Formato Dimensione Opzionalità

Cognome Stringa String(16) Opzionale

Nome Stringa String(16) Opzionale

Matricola Numero INT(7) Necessario

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

30

Le Relazioni (1 di 3)

Una Relazione è il legame che definisce un’interazione tra due Entità.

Ogni Relazione può avere uno o due versi di percorrenza, a seconda che esista e sia definita o meno la sua Relazione Inversa. Per ogni verso di percorrenza si ha un’Entità di partenza e un’Entità di arrivo.

Ogni Relazione è anche identificata da una cardinalità minima e massima.

Le Relazioni permettono di esplicitare i collegamenti logici esistenti fra le varie Entità.

Studente ModuloFrequenta(1,n) (0,k)

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

31

Cardinalità Uno-A-Uno:

Cardinalità Uno-A-Molti o Molti-A-Uno:

Relazione Molti-A-Molti :

Studente MatricolaHa(1,1) (1,1)

StudenteCorso di Laurea

Afferisce(1,1) (1,n)

Studente ModuloFrequenta(1,n) (0,k)

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Le Relazioni (2 di 3) – Cardinalità

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

32

Le Relazioni (3 di 3)

Se un’entità rappresenta una classe di oggetti del mondo reale, è possibile che essa debba essere «specializzata» o «generalizzata» in diversi contesti.

Le Relazioni di generalizzazione e specificazione tra Entità richiama un parallelo con la proprietà insiemistica dell’Inclusione, e anche con il concetto di Ereditarietà nella programmazione ad oggetti (Superclass e Subclass).

Insegnamento ModuloContiene(1,n) (1,1)

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

InsegnamentoB019867

Modulo 19872

Modulo 19873

Modulo 19874

Modulo 19880

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

33

Un Esempio

Studente ModuloFrequenta(1,n) (0,k)

- Cognome- Nome - N° Matricola

- Titolo- ID- Durata

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

34

Un Esempio

Studente ModuloFrequenta(1,n) (0,k)

- Cognome: ROSSI

- Nome: MARIO

- N° Matricola: 5876410

- Titolo: SISTEMI DI ELABORAZIONE DELL INFORMAZIONI

- ID: B019874

- Durata: 24 ore

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

35

Linguaggi per Rappresentare la Conoscenza: XML

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

XML (eXtensible Markup Language) è un meta-linguaggio che consente la creazionedi linguaggi di mark-up (come HTML).

XML consente la rappresentazione di documenti e dati strutturati su supportodigitale.

XML è uno dei più potenti e versatili sistemi per la creazione, archiviazione,preservazione e disseminazione di documenti digitali.

XML è indipendente dal tipo di piattaforma hardware e software su cui vieneutilizzato.

XML è indipendente dai dispositivi di archiviazione e visualizzazione:

• un documento XML può essere archiviato su qualsiasi tipo di supporto digitale;• un documento XML può essere visualizzato su qualsiasi dispositivo di output;

Concretamente, un documento XML è un file di testo che contiene una serie di tag,attributi e testo, secondo regole sintattiche ben definite.

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

36

Esempio di Documento XML

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

<?xml version="1.0" ?><articolo titolo="Titolo dell'articolo">

<paragrafo titolo="Titolo del primo paragrafo"><testo>

Blocco di testo del primo paragrafo</testo><immagine file="immagine1.jpg"></immagine>

</paragrafo>

<paragrafo titolo="Titolo del secondo paragrafo"><testo>

Blocco di testo del secondo paragrafo</testo><codice>

[Esempio di codice del Programma]</codice><testo>

Altro blocco di testo</testo>

</paragrafo>

<paragrafo tipo="bibliografia"><testo>

Riferimento ad un articolo</testo>

</paragrafo>

</articolo>

Articolo titolo

Paragrafo titolo Paragrafo

titolo

Paragrafo titolo

Testo Immagine

file

TestoProgrammaapplicativo

Testo

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

37

Applicazioni di XML: il Web Semantico

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

«Semantic Web» è un termine coniato da Tim Berners-Lee:

“Ho un sogno per il Web [in cui i computer] diventeranno capaci di analizzare tutti i dati sul Web - il contenuto, i link e le interazioni tra persone e macchine. Un Web Semantico, che dovrebbe rendere questo possibile, deve ancora emergere, ma quando succederà, i quotidiani meccanismi del commercio, della burocrazia e la nostra vita quotidiana saranno affidati a macchine che comunicano con altre macchine. Gli "agenti intelligenti" che

sono stati per anni propagandati, finalmente si materializzeranno.”

Tim Berners Lee, 1999

Estende l’attuale World Wide Web da machine-rapresentable a machine-understandable.

Non lo sostituisce… ma lo migliora associando informazioni di carattere semantico alle risorse dellarete.

Il Semantic Web è una ragnatela di informazioni connesse tramite relazioni semantiche.

Logiche di connessione più elaborate rispetto ai collegamenti ipertestuali di HTML.

L’idea è di generare dei documenti che possano essere letti al tempo stesso da esseri umani e daagenti automatici.

Massiccio utilizzo di linguaggi e grammatiche XML per rendere il formato machine-readable.

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

38

Limiti del linguaggio XML

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Nell’ambito del Web Semantico, le applicazioni devono essere in grado di interagireed essere interoperabili tra di loro. Questo richiede uniformità di linguaggio e/o diregole.

Le tecnologie basate su XML sono necessarie ma non sufficienti: infatti XML codificae standardizza la sintassi dei dati ma non la loro semantica.

Ad esempio, due documenti XML possono contenere le seguenti stringhe:

"<spesa>85</spesa>" "<costo>85</costo>"

Una applicazione informatica non può sapere che si tratta di due diverse codifichedella stessa informazione, a meno che non sia disponibile la conoscenza del fattoche “prezzo” e “costo” sono sinonimi (conoscenza terminologica), almeno nelcontesto dell’applicazione in esame.

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

39

Il Linguaggio RDF

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Il linguaggio RDF (Resource Description Language), basato su XML, è statointrodotto per permettere l’interoperabilità tra applicazioni. RDF permette infatti diassociare ai dati informazione di vario genere. Questo modello si basa su tre tipi dioggetto:

Risorsa: indica ciò che viene descritto (pagina web, HTML, documento XML,oggetti reali);

Proprietà: indica un attributo o una relazione utilizzata per descrivere unarisorsa;

Asserzione: espressione completa che descrive una risorsa; formata da unatripla:

<soggetto> <predicato> <oggetto>

Il soggetto è una risorsa, il predicato una proprietà della risorsa, e l’oggetto un valorerelativo alla proprietà (può essere a sua volta una risorsa o un altro tipo di datodefinito in XML.

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

43

Esempio di Ontologia Web: L’Ontologia di OSIM

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

OSIM (Open Space Innovative Mind) è un sistema di produzione e gestione dellaconoscenza dell’Ateneo Fiorentino, implementata dal DISIT Lab nell’ambito di unprogetto di sviluppo di una piattaforma di connessione tra Università di Firenze epiccole e medie imprese della Regione Toscana.

Il progetto OSIM ha come obiettivo la realizzazione di un portale in cui le industrie,ma anche altri soggetti come ricercatori e studenti, possono ricercare (attraversoquery full-text o assistite con l’ausilio di un Query Wizard dedicato) risorse ecompetenze in termini di: personale ricercatore e docente, dipartimenti e gruppi diricerca, pubblicazioni e corsi appartenenti alla vasta base di conoscenzadell’Università di Firenze. In particolare:

• Le competenze possedute dai gruppi di ricerca, dai laboratori e dal personale universitario.

• Le competenze offerte da corsi specifici nell’ambito dei vari corsi di laurea.

• Le relazioni esistenti tra competenze diverse.

• Le pubblicazioni scientifiche.

• Le relazioni di conoscenza tra docenti.

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

44

Architettura di OSIM

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Data

store

Semantic

Knowledge

Crawler

Ingestion

Manager SKOS

Manager

web pages documents

Knowledge

Base Manager

Multilanguage

EngineAccess

manager

Keyword

Manager

Keywords

CompetencesSemantic

Relations

Query

Wizard

Publications

Browser

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

45

Architettura di OSIM

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Pagina Personale del DocenteCurriculum Vitae, Biografia ecc…

Didattica, Insegnamenti, Corsi

Pubblicazioni

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

46

Architettura di OSIM

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

47

Architettura di OSIM

Sistemi di Elaborazione delle Informazioni A.A. 2013/2014

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

48

Esempio di Ontologia Web: L’Ontologia di OSIM

Sistemi di Elaborazione delle Informazioni A.A. 2013/2014

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

foaf:Person

uni:Schooling

uni:Department

uni:PhDGradutationCourse

uni:Laboratory

uni:Master

uni:Faculty

uni:Base

foaf:Organization

uni:GraduationCourseuni:Center

uni:SSD

uni:AreaCUN

time:Instanttime:DurationDescription

time:TemporalEntity

time:DateTimeDescription

time:TemporalUnitytime:Interval

time:ProperInterval

time:DateTimeInterval

tim

e:in

Dat

eTim

e

time:unitType

time:hasDateTimeInterval

time:inXSDDateTimexsd:dateTime

Year, Week, Second, Month,Minute, Hour, Day,dayOfWeek, DayOfYear,timeZone

Years, Months, Days, Weeks, Hours, Minutes, Seconds

uni:instantPerson

un

i:Car

eerA

tTim

e

uni:haAffineLivello1

uni:haAffineLivello2

un

i:haA

reaC

un

un

i:are

aCu

nD

i

uni:hasDepartment

uni:hasSchoolingCourse

un

i:to

BeB

ased

To

un

i:has

Lab

ora

tory

uni:PhDStudent uni:Researcher

uni:Teacher

uni:ResearchFellowShip

uni:AssociatedProfessor

uni:Professor

uni:FullResearcher

uni:Coordinator

uni:schoolingActivity

uni:Courseuni:schoolingHasCourse

uni:activeInYear

uni:affiliatedFaculty

uni:takeCourseInstant

uni:inSchoolingHasCourseInstant

un

i:has

Sch

oo

lingC

ou

rseI

nst

ant

uni:inSchoolingHasCourseAtTimeuni:takeCourseAtTime

uni:hasSchoolingCourseAtTime

OSIM – Frammento Ontologia di dominio

uni:InterDepartmentArea

uni:belongsToArea

Relazioni gerarchicheRelazioni semantiche Frammento di FOAF

Frammento di Time Ontology

blankNode

skos:Concept

skos:ConceptSchema

skos:narrower skos:broader

uni:hasCompetence

sko

s:ty

pe

skos:Occ

Frammento di SKOS

Frammento di unifiontology

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

49

Funzionalità di OSIM (1 di 7)

Sistemi di Elaborazione delle Informazioni A.A. 2013/2014

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Ricerca Assistita

Ricerca Full Text

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

“navighiamo” la conoscenza relativa al corso

Funzionalità di OSIM (2 di 7)

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Funzionalità di OSIM (3 di 7)

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Funzionalità di OSIM (4 di 7)

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Funzionalità di OSIM (5 di 7)

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Funzionalità di OSIM (6 di 7)

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

Funzionalità di OSIM

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Mobile Emergency è una soluzione, sviluppata dal DISIT Lab dell’Università di Firenze, perla gestione di interventi di manutenzione e gestione delle emergenze all’interno diospedali e/o grandi aree tramite sistemi mobili.

Permette di gestire le mappe di una struttura ospedaliera offrendo la possibilità diindicare e memorizzare la posizione dei Punti Di Interesse (PDI): estintori, kit medici,scale, uscite di sicurezza, strumenti, attrezzature.

Grazie a questa mappatura, Mobile Emergency è in grado di aiutare il personale araggiungere tali elementi navigando in modo efficiente all’interno della struttura. Inparticolare il sistema permette di identificare la posizione tramite barcode e GPS e diindividuare la posizione di: uscite di sicurezza, aree di raccolta e i PDI presenti, con lapossibilità di raggiungerli tramite la guida del sistema innovativo di navigazioneindoor/outdoor.

Mobile Emergency Pro consente agli utenti di:• segnalare tramite smartphone la presenza di un guasto/emergenza di un problema

all’interno dell’edificio• richiedere supporto immediato• essere informati di eventuali cambiamenti ed eventi• essere guidati verso il luogo dell’intervento/emergenza.

Mobile Emergency (1 di 3)

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Mobile Emergency (2 di 3)

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

3. Basi di Dati – Modelli di Rappresentazione della Conoscenza

Mobile Emergency (3 di 3)

Sistemi di Elaborazione delle Informazioni A.A. 2016/17

Disributed Systems and Internet Technology Lab - http://www.disit.org/

Disributed Systems

and Internet

Technology

Riferimenti e Link Utili

3. Basi di Dati – Riferimenti e Link Utili

P. Vittorini, «L’Informatica per la medicina e la sanità pubblica», Ed. L’Una, 2009

Slide delle lezioni di P. Vittorini (UnivAQ):http://www.med.univaq.it/vittorini/insegnamento.php?id=1

Documentazione W3C su XML: http://www.w3.org/XML

Documentazione W3C su RDF: http://www.w3.org/RDF

Documentazione W3C su OWL: http://www.w3.org/OWL

OSIM – Open Space Innovative Mind (Disit Lab – UniFI): http://openmind.disit.org

Mobile Emergency (Disit Lab – UniFI):http://www.disit.org/disitmn/mobemergency-flyer-v05-ok.pdfhttps://itunes.apple.com/app/mobile-emergency/id409326454?mt=8

Sistemi di Elaborazione delle Informazioni A.A. 2016/17