Post on 16-Feb-2019
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
gianni.pantaleo@unifi.it
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