Informatica per le Scienze Umane
laboratorio
Modelli dei dati per le Scienze Umane
Alessandro Lenci
Dipartimento di Linguistica
Informazione e Scienze Umane
‹ Informazione strutturata
ƒ
ƒ
ƒ
dizionari
thesauri
…
‹ Informazione non strutturata (debolmente strutturata)
ƒ
documenti testuali
Î libri, giornali, pagine web, conversazioni, e-mail, chat, ecc.
‹ Meta-informazione
ƒ
ƒ
repertori bibliografici
cataloghi on-line
1
Obiettivo delle Esercitazioni
‹ Progettare e costruire con MS Access una base di dati
per la creazione e gestione di un dizionario elettronico
ƒ
ƒ
ƒ
articolazione delle voci
struttura del dizionario
query dei dati
‹ Progettare e costruire con MS Access una base di dati
per la gestione di testi digitali
ƒ
ƒ
ƒ
ƒ
informazioni metatestuali
struttura del testo nel base di dati
annotazioni linguistiche sul testo
query dei dati
Progettazione di una Base di Dati
analisi dei requisiti
progettazione concettuale
UML
schema concettuale
(diagramma delle classi)
progettazione logica
schema logico
(modello relazionale)
progettazione fisica
Base dei Dati
2
Dizionario – Analisi dei Requisiti
struttura generale
‹ Ogni dizionario e caratterizzato da un titolo, una lingua, una
casa editrice, una data di pubblicazione, e un numero di voci
‹ Le case editrici si trovano in una città e hanno un
responsabile
‹ Ogni dizionario ha uno o più curatori che sono docenti
universitari
‹ I docenti provengono da un’università e sono titolari di un
corso
Dizionario – creazione delle tabelle
‹ Tabella “Dizionario”
‹ Attributi
ƒ
ƒ
ƒ
ƒ
ƒ
nome del dizionario (chiave primaria)
casa editrice (chiave esterna – integrità referenziale con
tabella “Casa editrice”)
lingua (obbligatorio)
anno di pubblicazione (compreso tra il 1980 e il 2004)
numero voci
3
Dizionario – creazione di tabelle
SQL
TABLE Dizionario (
nomeDizionario varchar (100) PRIMARY KEY,
casaEditrice varchar(50)
REFERENCES CasaEditrice(nome),
lingua varchar(50) NOT NULL,
anno integer,
numeroVoci integer,
CHECK (anno>=1980 and anno<=2004),
);
Dizionario – creazione di tabelle
SQL
TABLE Dizionario (
nomeDizionario varchar (100) PRIMARY KEY,
casaEditrice varchar(50)
REFERENCES CasaEditrice(nome),
lingua varchar(50) NOT NULL,
anno integer,
numeroVoci integer,
CHECK (anno>=1980 and anno<=2004),
);
4
Dizionario – creazione di tabelle
SQL
TABLE Dizionario (
nomeDizionario varchar (100) PRIMARY KEY,
casaEditrice varchar(50)
REFERENCES CasaEditrice(nome),
lingua varchar(50) NOT NULL,
anno integer,
numeroVoci integer,
CHECK (anno>=1980 and anno<=2004),
);
Dizionario – creazione di tabelle
SQL
TABLE Dizionario (
nomeDizionario varchar (100) PRIMARY KEY,
casaEditrice varchar(50)
REFERENCES CasaEditrice(nome),
lingua varchar(50) NOT NULL,
anno integer,
numeroVoci integer,
CHECK (anno>=1980 and anno<=2004),
);
5
Dizionario – creazione di tabelle
SQL
TABLE Dizionario (
nomeDizionario varchar (100) PRIMARY KEY,
casaEditrice varchar(50)
REFERENCES CasaEditrice(nome),
lingua varchar(50) NOT NULL,
anno integer,
numeroVoci integer,
CHECK (anno>=1980 and anno<=2004),
);
Dizionario – creazione di tabelle
SQL
TABLE Dizionario (
nomeDizionario varchar (100) PRIMARY KEY,
casaEditrice varchar(50)
REFERENCES CasaEditrice(nome),
lingua varchar(50) NOT NULL,
anno integer,
numeroVoci integer,
CHECK (anno>=1980 and anno<=2004),
);
6
Dizionario
alcuni esempi di entrate
cane
s.m.
1. FO animale domestico molto comune: il c. abbaia, tenere il c. al guinzaglio
2. TS arm., nelle armi da fuoco, martelletto che provoca lo sparo: sollevare il c.
3.
…
chiudere
v.tr., v.intr.
I v.tr.
1. FO spostare gli elementi mobili di porte e finestre …: c. la porta
2. FO azionare l’interruttore o la chiave che impedisce il flusso di qcs.: c. il rubinetto
II v.intr.
1. FO cessare l’attività o interromperla temporaneamente: il negozio ha c.
2. TS polit., troncare ogni possibilità di collaborazione con altre forze politiche o
sociali: il governo ha c. a sinistra
Sinonimi: I1 barricare, bloccare, serrare, …I2 spegnere
[pass.rem. chiusi, chiudesti,… p.pass. chiuso]
Dizionario – Analisi dei Requisiti
struttura della voce
‹ Ogni voce di dizionario è identificata da un lemma e contiene un
numero n di sensi
‹ I sensi sono identificati da un numero univoco dentro la voce. I
sensi possono essere descritti attraverso marche di tipo
diverso che ne esplicitano la variabilità d’uso, il dominio
tematico, ecc.
‹ Ogni senso è descritto da una glossa (definizione) e può essere
ulteriormente specificato tramite l’aggiunta di esempi d’uso. Un
senso può anche avere un suo codice grammaticale
‹ Le voci possono contenere indicazioni sulle eventuali forme
flesse del lemma. Ogni forma ha associato un codice che ne
descrive le caratteristiche morfologiche
7
Esercizi di Query
‹ Query By Example
ƒ
ƒ
costruzione guidata di una query in Access
interpretata in SQL
‹ Elencare la descrizione dei codici grammaticali
verbali associati ai sensi attestati nel dizionario
SELECT DISTINCT Senso.codiceGrammaticale,
CodiceGrammaticale.descrizioneCodice
FROM CodiceGrammaticale JOIN Senso ON
CodiceGrammaticale.nomeCodice =
Senso.codiceGrammaticale
WHERE Senso.codiceGrammaticale Like "v.*";
Query By Example
DISTINCT
JOIN
FROM
SELECT
ORDERBY
WHERE
8
Esercizi di Query
‹ DB voce di dizionario
a. Trovare le voci che anno un senso marcato con il codice
“CO” (Comune)
b. Trovare le forme del passato remoto delle voci che hanno un
senso marcato con il codice “CO”
9