1/34
Datenbanken in der FOR 600Datenbanken in der FOR 600Der Einsatz von Datenbanken in der empirischen LinguistikDer Einsatz von Datenbanken in der empirischen Linguistik
Heinrich-Heine-Universität, FFF-Kolloquium
Christof Rumpf
29.04.2009
2/34
ÜberblickÜberblick
• Datenbanken – Grundlagen• Datenbanken in der FOR 600
– DB Verbgraduierung– DB A2: Dimensionsverben– DB B5: FBs in der Harndiagnostik– DB A4: Entwicklung von FBs im Französischen– DB A5: mehrdimensionale Korpusanalyse
3/34
Was ist eine Datenbank?Was ist eine Datenbank?
Datenbank, Datenbanksystem, englisch Data-Base-System, zentral verwaltetes System zur widerspruchsfreien und permanenten Speicherung großer Datenmengen eines Informationsgebietes (z. B. naturwissenschaftliche Daten, Wirtschaftsstatistiken), auf die nach unterschiedlichen Anwendungskriterien zugegriffen werden kann.
Ein Datenbanksystem besteht aus den auf der Grundlage eines Datenbankmodells organisierten Datenbeständen (Datenbasis) und dem Datenbank-Managementsystem (Abkürzung DBMS), einem Softwarepaket, das die Datenbestände und Zugriffsrechte verwaltet sowie eine Anwenderschnittstelle für die Datendefinition, -eingabe und -manipulation enthält.
Meyers Lexikon
4/34
Datenbankmodelle / -architekturenDatenbankmodelle / -architekturen
• Relational - verbreitetster Standard
• Deduktiv - relational + Prolog
• Objektorientiert - entspr. OO-Programmierung
• Objektrelational - relational + objektorientiert
• Hierarchisch - Baumstruktur, veraltet
• Netzwerk - Graphen
5/34
DatenbankmanagementsystemDatenbankmanagementsystem
• Ein DBMS ist ein Softwarepaket– zur Speicherung und Organisation von Daten
aufgrund eines Datenbankmodells– zur Verwaltung von Zugriffsrechten– enthält Entwicklerschnittstelle zur
• Definition von Datenmodellen• Eingabe und Pflege von Daten• Erstellung von ‚Sichten‘ auf Daten (Abfragen)• Erstellung von Berichten (Reportgenerator)• Erstellung von Benutzerschnittstellen für ‚Normalbenutzer‘
(Formulargenerator)
6/34
Relationale DBMSRelationale DBMS
• Desktop-DBMS– MS Access, dBase, OpenOffice Base, …– Müssen in einer Client-Server-Umgebung ganze
Datenbestände auf den Client laden, um eine Abfrage auszuwerten.
• Server-DBMS– Oracle, MySQL, Microsoft SQL Server, …– Abfragen werden auf dem Server ausgewertet und
nur die Ergebnisse zum Client übertragen.
7/34
DatenmodellDatenmodell
• Ein Datenmodell ist eine Abbildung von Objekten (z.B. aus der ‚wirklichen‘ Welt) mit ihren (relevanten) Eigenschaften und Beziehungen in einem Datenbankmodell.
• Beispiel: – Universität mit Fakultäten, Instituten, Angestellten, Studenten,
Studiengängen, Lehrveranstaltungen, Abschlüssen, Semestern, Gebäuden, Räumen, …
• Datenmodelle für relationale Datenbanken werden häufig aus Entity-Relationship-Modellen abgeleitet.
8/34
Entity-Relationship-Modell (ERM)Entity-Relationship-Modell (ERM)
Attribut
Beziehung
Entität
Quelle: Peter Körner, Wikipedia.de
9/34
Aufbau relationaler DBsAufbau relationaler DBs
Relationale Datenbanken bestehen aus verknüpften Tabellen, die in Felder (Attribute) und Datensätze (Relationen, Tupel) organisiert sind.
In jedem Feld stehen Daten eines bestimmten Typs (Text, Zahlen, Datum/Zeit-Ausdrücke, Ja/Nein-Werte, BLOBs, …).
Alle Datensätze einer Tabelle haben einen gleichartigen Aufbau, sind gleich lang. Eine Tabelle kann beliebig viele Datensätze enthalten.
PId Vorname Name
1 Han Solo
2 Harry Potter
3 Madonna
4 Peter Meier
5 Peter Meier
Daten-sätze
Felder / Attribute
z.B. Tabelle Personen
Schlüsselfeld
10/34
Tabellenverknüpfung Tabellenverknüpfung 1:n1:n
Über Schlüsselfelder kann man Tabellen bequem miteinander verknüpfen.
Bei einer 1:n-Verknüpfung kann jeder Datensatz der 1-Seite beliebig vielen Datensätzen der n-Seite zugeordnet werden. Umgekehrt kann jeder Datensatz der n-Seite nur mit einem Datensatz der 1-Seite verknüpft sein.
Szenario: Jeder Studierende studiert genau einen Studiengang.
PId Vorname Name StgId
1 Han Solo 3
2 Harry Potter 2
3 Madonna 2
4 Peter Meier 1
5 Peter Meier 2
StgId Studiengang
1 Informationswissenschaft
2 Linguistik
3 Informatik
n 1MastertabelleStgId = Primärschlüssel
DetailtabelleStgId = Fremdschlüssel
Studierende
Studiengänge
11/34
Tabellenverknüpfung Tabellenverknüpfung n:mn:m
SemId Seminar
1 Wissensrepräsentation
2 Datenbanken
3 Semantik
TId PId SemId Abschluss
1 1 1 BN
2 1 3 BN
3 2 3 AP
4 4 2 BN
5 5 2 AP
Bei n:m-Verknüpfungen können jedem Datensatz der einen beliebig viele Datensätze der anderen Tabelle zugeordnet werden.
Die Vermittlung zwischen n- und m-Seite erfolgt über eine dritte Tabelle und zwei 1:n-Verknüpfungen.
Szenario: Jeder Student besucht beliebig viele Seminare.
PId Vorname Name
1 Han Solo
2 Harry Potter
3 Madonna
4 Peter Meier
5 Peter Meier
m 1n1
Personen Teilnehmer Seminare
12/34
Redundanz und KonsistenzRedundanz und Konsistenz
• Eine Datenbank soll redundanzfrei sein– Jedes (komplexe) Objekt soll nur einmal repräsentiert
werden und in allen Beziehungskontexten referenziert werden.
• Das leistet ein gutes Datenmodell (Normalformen).
• Eine Datenbank soll konsistent sein– Keine Mutationsanomalien
• Das leistet ein gutes Datenmodell (Normalformen).
– Alle Referenzen sollen auflösbar sein.• Das leistet ein gutes DBMS (referentielle Integrität).
13/34
MutationsanomalienMutationsanomalien
Treten bei der Repräsentation verschiedener Entitäten in derselben Tabelle auf:
• Updateanomalien– Redundante Einträge müssen mehrfach geändert
werden: Fehlerquelle
• Einfügeanomalien– Zuordnungsprobleme bei unvollständigen
Datensätzen
• Löschanomalien– Drohender Datenverlust: Beim Löschen einer Entität
gehen die Daten zu einer anderen evt. verloren
14/34
NormalformenNormalformen
• Normalformen garantieren Redundanzfreiheit und verhindern Mutationsanomalien
• 1. Normalform– Alle Attribute haben atomare Werte
• 2. Normalform– Jedes Nichtschlüssel-Attribut ist voll funktional
abhängig von jedem Kandidatenschlüssel
• 3. Normalform– Jedes Nichtschlüssel-Attribut hängt von keinem
Schlüsselkandidaten transitiv ab.
15/34
SQLSQLSQL Structured Query Language ist eine Sprache zur Abfrage, Manipulation und Definition von Daten in relationalen Datenbanken. Die Semantik von SQL basiert auf der relationalen Algebra.
Sprachelemente
Abfrage: SELECT
Manipulation: INSERT, DELETE, UPDATE
Datendefinition: CREATE, ALTER, DROP
Zugriffsrechte: GRANT, REVOKE
SQL wird von fast allen relationalen DBMS unterstützt und ist standardisiert nach ANSI und ISO.
MS Access: Jede in der Access-Entwurfsansicht erstellte Abfrage hat eine äquivalente SQL-Darstellung, aber nicht alle SQL-Ausdrücke können in der Access-Entwurfsansicht erstellt werden (z.B. UNION-Abfragen).
16/34
SELECTSELECTMit SELECT–Abfragen werden Sichten auf Daten erstellt.
SELECT [DISTINCT] S-Attribute
FROM F-Relation
[WHERE Where-Klausel]
[GROUP BY (Gruppierungsattribute) [HAVING Having-Klausel]]
[ORDER BY (Sortierungsattribut [ASC|DESC])+];
S-Attribute: Attribute aus F-Relation, Konstanten, Funktionen (auf Attributen)F-Relation: Tabelle, Sichten (Abfragen), kartesische Produkte, JoinsWhere-Klausel: Bedingungen für Attributwerte (Selektion)Gruppierungsattribute: Gruppierung für AggregatfunktionenHaving-Klausel: Bedingungen für Aggregatfunktionen auf Gruppierungsattributen
SELECT Veranstaltung FROM Veranstaltungen INNER JOIN Semester ON Veranstaltungen.SId = Semester.SIdWHERE Semester = „SS2009“ORDER BY Veranstaltung ASC;
17/34
DB VerbgraduierungDB Verbgraduierung
• Erfassung von ca. 4.000 Belegen zur Graduierung ca. 1.400 deutscher Verben bzw. ca. 2.000 Lesarten mit sehr.
• Systematische Annotierung der Funde mit relevanten Merkmalen u.a. zur Valenz.
• Die Daten wurden zunächst in Word-Tabellen erfasst und später in eine Access-Datenbank importiert.
• Status: wird weiterentwickelt.
18/34
Verbgraduierung: DatenmodellVerbgraduierung: Datenmodell
19/34
Verbgraduierung: EingabemaskeVerbgraduierung: Eingabemaske
20/34
DB DimensionsverbenDB Dimensionsverben
• Sehr komplexes Datenmodell.
• Daten liegen z.Z. in Textform vor und sollen mittels Parsing in das Datenmodell der Datenbank importiert werden.
• Die Datenmodelle der Datenbanken Verbgraduierung und Dimensionsverben sollen integriert werden -> standardisiertes Datenmodell für Verben
21/34
Dimensionsverben: DatenmodellDimensionsverben: Datenmodell
22/34
Dimensionsverben: EingabemaskeDimensionsverben: Eingabemaske
23/34
DB HarndiagnostikDB Harndiagnostik
• Erfassung von Funktionalbegiffen in der Literatur zur Harndiagnostik.
• Deutsche Literatur (Stand 08.2008)– 20 Texte aus den Jahren 1705-1908– 2517 Vorkommen von 364 FBs
• Französische Literatur– 10 Texte aus den Jahren 1240-1902– 2725 Vorkommen von 490 FBs
• Lateinische Literatur – in Arbeit
24/34
Harndiagnostik: DatenmodellHarndiagnostik: Datenmodell
25/34
Harndiagnostik: EingabemaskeHarndiagnostik: Eingabemaske
26/34
DB FB-EntwicklungDB FB-Entwicklung
• Erfassung von Funktionalbegriffen im Französischen und dem Zusammenhang ihrer diachronen Entwicklung.
• Erfassung von typisierten Transformationsprozessen.
• Es entsteht ein Graph der diachronen Zusammenhänge.
• Status: müsste portiert werden.
27/34
FB-Entwicklung: Eingabemaske 1FB-Entwicklung: Eingabemaske 1
28/34
FB-Entwicklung: Eingabemaske 2FB-Entwicklung: Eingabemaske 2
29/34
DB KorpusanalyseDB Korpusanalyse
• Vollständiger Korpus (Löbner 03) mit 144.000 Tokens incl. morphosyntaktischer Analyse.
• Teilweise handannotierte Begriffstypen.
• Datenmodell für Lesarten und Typeshifts.
• Generierung von n-Grammen.
• Status: wird weiterentwickelt.
30/34
Korpusanalyse: AusschnittKorpusanalyse: Ausschnitt
31/34
CountsCounts und und Counts of CountsCounts of Counts
qryNNCountsSELECT Count(Token) AS Count, TokenFROM tabSemantik_getaggtGROUP BY TokenHAVING Tag="NN"ORDER BY Count(Token) DESC;
qryCountsOfCountsSELECT Count(Count) AS CountsOfCounts, CountFROM qryNNCountsGROUP BY CountORDER BY Count(Count) DESC;
Häufigkeit von Tokens eines bestimmten Typs in einem Korpus
Häufigkeit, mit der Tokens einer bestimmten Häufigkeit in einem Korpus vorkommen
32/34
Nomenbedeutungen: DatenmodellNomenbedeutungen: Datenmodell
33/34
Nomenbedeutungen: EingabemaskeNomenbedeutungen: Eingabemaske
34/34
Danke für‘s Zuhören!Danke für‘s Zuhören!
Top Related