INFORMATICA UMANISTICA B MODELLARE LA CONOSCENZA: BASI DI DATI USO DI STRUMENTI INFORMATICI PER LA GESTIONE DI INFORMAZIONI Forse la piu’ importante applicazione di metodi informatici nelle materie umanistiche e’ per gestire grandi quantita’ di dati STRUTTURATI (in basi di dati) NON STRUTTURATI (archivi di testi) PROSOPOGRAFIA DELL’IMPERO BIZANTINO Basilios 7 Sex Floruit Dates PmbZ No. Variant Names Ethnicity Locations: M E/L IX 813 (n.) / 886 (ob.) 832 Basileios Macedonian;Armenian Kepoi (Thrakesioi); Macedonia (property); Peloponnesos; Hagios Diomedes (Monastery of, Constantinople) (topographical); Constantinople (officeplace); Adrianoupolis (Macedonia) (residence); Bulgaria (residence); Constantinople (residence); Adrianoupolis (Macedonia); Bulgaria; Constantinople; Adrianoupolis (Macedonia) (birthplace) Occupation Farmer Titles Patrikios (dignity); Augustus (office); Basilikos protostrator (office); Basilikos strator (office); Emperor (office); Parakoimomenos (office); Protostrator (office) Textual SourcesBar Hebraeus, Chronographia, tr. E. A. W. Budge, The Chronography of Abu 'l-Faraj (London, 1932; repr. Amsterdam, 1976) (history); Chronicon Anonymi ad annum 1234 pertinens, ed. and tr. J.-B. Chabot, I = CSCO 81-82 (Paris, 1916-20), II = CSCO 109 (Louvain, 1937) (chronicle); Genesii, Josephi, Regum Libri Quattuor, eds. A. Lesmüller-Werner and I. Thurn, CFHB 14 (Berlin, 1978) (history); Georgius Monachus Continuatus, in Theophanes Continuatus, ed I Bekker (Bonn, 1839), pp. 761-924 (history); Leo Grammaticus, Chronographia, ed. I. Bekker (Bonn, 1842) (chronicle); Pseudo-Symeon, Chronographia, ed. I. Bekker (Bonn, 1838), pp. 603-760 (history); Theophanes Continuatus, ed. I. Bekker (Bonn, 1838) (history); Vita Ignatii Patriarchae, by Nicetas (BHG 817), PG 105.488-574) (hagiography); Vita Irenae Chrysobalanton, The Life of St Irene Abbess of Chrysobalanton, ed. with introd., tr., notes and indices, J. O. Rosenqvist, Acta Universitatis Upsaliensis (hagiography); Vita Nicolai Studitae (BHG 1365), PG 105. 863-925 (hagiography); Zonaras = Ioannis Zonarae Epitome Historiarum, libri XIII-XVIII, ed. Th. Büttner-Wobst, (Bonn, 1897) (history) Basilios 7 is the emperor Basil I (867-886). The history of his life and reign was written by his grandson, the emperor Constantine VII Porphyrogenitus (= Theophanes Continuatus, Book V); Constantine described him as of great benefit to the empire and composed his history in order to inform posterity of the origins of the ruling dynasty and to provide a model of conduct to be followed by future descendants of Basilios 7 (in particular, no doubt, Constantine's own son, the future emperor Romanos II): Theoph. Cont. V 1. DATABASE STORICI:PROSOPOGRAPHY OF THE BIZANTYNE EMPIRE Prosopografia: un registro di tutti gli individui vissuti in un certo periodo In questo caso: tutti gli individui vissuti a Bisanzio tra il 641 ed il 1261 Costruita a partire dalle loro menzioni in documenti dell’epoca Informazioni su 8500 individui, dimensioni equivalenti a 11 000 pagine di testo BASI DI DATI DI OPERE D’ARTE STRUTTURE DATI TEMPORANEE E PERMANENTI Per potere rappresentare informazioni in modo duraturo occorre sviluppare delle tecniche per mantenerle in memoria secondaria Lo strumento informatico utilizzato per questo scopo sono le BASI DI DATI BASI DI DATI Una base di dati e’ una collezione di dati immagazzinati in modo PERMANENTE su disco Una base di dati permette di DEFINIRE DEGLI OGGETTI (‘CONCETTI’) E DELLE RELAZIONI INSERIRE NUOVI DATI RITROVARE QUESTI DATI ANCHE COMBINANDOLI CON ALTRI Il tipo di base di dati piu’ comune sono le basi di dati RELAZIONALI PROGETTAZIONE DI UNA BASE DATI MODELLAZIONE CONCETTUALE MODELLAZIONE LOGICA Progetto dello SCHEMA Scelta della rappresentazione: TABELLE, ALBERI, etc PROGETTAZIONE FISICA Utilizzando il DBMS scelto MODELLI CONCETTUALI Un modello concettuale e’ un’analisi dei dati che si vogliono rappresentare nella base di dati indipendente dalla realizzazione fisica Tipicamente, questa analisi si articola attorno ad una definizione de Gli OGGETTI che si vogliono rappresentare I loro ATTRIBUTI Le RELAZIONI tra questi oggetti ESEMPIO DI MODELLO CONCETTUALE: IL DURHAM LIBER VITAE UN SEMPLICE MODELLO CONCETTUALE STUDENTE Matricola Cognome, Nome Data di Nascita RISULTATI_ESAMI Matricola Materia Data Voto MODELLAZIONE LOGICA Una volta decisi quali sono i concetti importanti da rappresentare e quali sono i loro attributi, occorre pensare come e’ possibile rappresentare questa informazione usando una base di dati MODELLI DI RAPPRESENTAZIONE DATI A partire dagli anni Settanta il modello dominante e’ stato il modello RELAZIONALE Sono anche in sviluppo modelli di rappresentazione basati sulla struttura ad OGGETTI e GERARCHICA tipica di linguaggi di programmazione come Java, ma non hanno ancora preso piede Per certi tipi di applicazioni (in particolare per basi di dati accessibili via Web) si fa molto uso di XML (Laboratori Modulo C) IL MODELLO RELAZIONALE L’informazione e’ rappresentata nelle basi di dati sotto forma di RELAZIONI r(x,y,z,w) Due tipi di relazioni rappresentate Relazioni rappresentate con TABELLE che rappresentano un OGGETTO ed i suoi attributi risultato_esame(IUB,4/2/2008,112233,29) Relazioni tra le tabelle Per esempio, tra tabella studente e tabella risultato_esame TABELLE CHE RAPPRESENTANO RELAZIONI RECORD ATTRIBUTO RECORDS I records sono strutture dati usate per rappresentare oggetti che hanno ATTRIBUTI ESEMPIO DI RECORD ED ATTRIBUTI: RISULTATO ESAME RISULTATO_ESAME MATERIA DATA IUB 4/2/2008 MATRICOLA 112233 VOTO 29 esame.materia risultato_esame(IUB,4/2/2008,112233,29) ESEMPIO DI TABELLA CHE RAPPRESENTA RELAZIONE RISULTATO_ESAME ID MATERIA DATA MATRICOLA VOTO 4/2/2008 112233 …. 456789 IUB …. 29 UN ALTRO ESEMPIO STUDENTE MATRICOLA COGNOME NOME DATA NASCITA Rossi Mario 11/11/1973 …. 112233 …. studente(112233,Rossi,Mario,11/11/1973) VALORI CHIAVE Ogni riga di ogni tabella (cioe’ ogni rappresentazione di un oggetto) deve avere almeno un campo che permetta di identificare quella riga in modo univoco Campo chiamato CHIAVE VALORI CHIAVE STUDENTE MATRICOLA COGNOME NOME DATA NASCITA Rossi Mario 11/11/1973 …. 112233 …. VALORI CHIAVE ARTIFICIALI RISULTATO_ESAME ID MATERIA DATA MATRICOLA VOTO 4/2/2008 112233 …. 456789 IUB …. 29 RELAZIONI TRA TABELLE Una base di dati relazionale permette di specificare, oltre che informazioni su attributi di oggetti, informazioni sulle relazioni tra oggetti Per esempio, che un particolare risultato di esame e’ stato ottenuto dallo studente Mario Rossi RELAZIONI TRA TABELLE ID MATERIA DATA MATRICOLA VOTO 4/2/2008 112233 29 …. 456789 IUB …. MATRICOLA COGNOME NOME DATA NASCITA Rossi Mario 11/11/1973 …. 112233 …. DATABASE MANAGEMENT SYSTEMS RELAZIONALI Praticamente tutti i DATABASE MANAGEMENT SYSTEMS (DBMS) moderni sono basati sul modello relazionale E.g., Oracle, Access Sta anche diventando frequente l’uso di XML Discuteremo in seguito SINGOLA TABELLA IN ACCESS RELAZIONI TRA TABELLE OPERAZIONI SU UN DATABASE RELAZIONALE Operazioni tipiche su un database relazionale RITROVARE un sottoinsieme delle righe Possibilmente restringendo il ritrovamento ad un sottoinsieme delle colonne AGGIUNGERE dati DEFINIRE nuove tabelle e nuove relazioni RITROVAMENTO INFORMAZIONI ED SQL Le informazioni in una base di dati possono essere ritrovate mediante INTERROGAZIONI In un database relazionale moderno le interrogazioni sono fatte utilizzando un linguaggio di interrogazione chiamato SQL SINTASSI DI SQL Diversi tipi di comandi: INTERROGAZIONE UPDATE Comando di interrogazione: SELECT Clausole piu’ usate: FROM (specifica la tabella) WHERE (specifica restrizioni) INTERROGAZIONE SELECT Materia, Data, Matricola FROM Esami; SQL: ESEMPIO DI USO DI ATTRIBUTI SELECT Nome, Cognome FROM Studenti WHERE Matricola=‘112233’; INTERROGAZIONI CHE COINVOLGONO PIU’ TABELLE AGGIUNGERE TABELLE INTERROGAZIONE A TABELLE MULTIPLE SQL VIEW SQL: ESEMPIO DI INTERROGAZIONE DA TABELLE LINKATE SELECT Studenti.Nome, Studenti.Cognome FROM Studenti INNER JOIN Esami ON Studenti.Matricola=Esami.Matricola WHERE Esami.Materia='IUB' And Esami.Voto>25; CREARE UNA BASE DATI Creare una base di dati realizza un modello concettuale Richiede tradurre oggetti e relazioni in tabelle e legami tra tabelle CREARE UNA BASE DI DATI IN ACCESS 1. 2. 3. 4. 5. Creare le tabelle usando ‘Create Table in Design View’ Salvare Cambiare a Datasheet view per inserire i dati Continuare a creare altre tabelle Linkare le tabelle 1. TABLE DESIGN VIEW 1. TABLE DESIGN VIEW 2. DATASHEET VIEW PASSI SUCCESSIVI Dati non strutturati XML e TEI ONTOLOGIE e SEMANTIC WEB DATI NON STRUTTURATI Molto spesso i dati da gestire non sono organizzati in tabelle: Archivi di testi ed immagini Discuteremo di archivi di testi ed immagini e del ritrovamento in questo caso la prossima lezione DARE STRUTTURA A DATI NON STRUTTURATI I linguaggi di markup come SGML o XML permettono di ‘imporre una struttura’ su documenti non strutturati Vedremo la lezione successiva RAPPRESENTAZIONE DELLA CONOSCENZA ED ONTOLOGIE La ricerca sul modo ‘ideale’ per rappresentare le informazioni ha portato alla nascita di ricerca sulla KNOWLEDGE ENGINEERING o rappresentazione della conoscenza anche in senso non applicato Particolarmente interessante per domini piu’ complessi che ‘studenti’ e gli ‘esami’? L’area della KNOWLEDGE ENGINEERING raggruppa ricercatori da database, Intelligenza Artificiale, e nell’area del SEMANTIC WEB Un area molto legata allo studio delle ONTOLOGIE LETTURE Tomasi, capitolo 3 Wikipedia: http://it.wikipedia.org/wiki/Database http://it.wikipedia.org/wiki/Modello_relazionale ACCESS: http://office.microsoft.com/