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