Datenbank, Datenbanksystem

Werbung
Datenbanken in der FOR 600
Der Einsatz von Datenbanken in der empirischen Linguistik
Heinrich-Heine-Universität, FFF-Kolloquium
Christof Rumpf
29.04.2009
1/34
Ü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
2/34
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
3/34
Datenbankmodelle / -architekturen
• Relational - verbreitetster Standard
• Deduktiv - relational + Prolog
• Objektorientiert - entspr. OO-Programmierung
• Objektrelational - relational + objektorientiert
• Hierarchisch - Baumstruktur, veraltet
• Netzwerk - Graphen
4/34
Datenbankmanagementsystem
• 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)
5/34
Relationale 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.
6/34
Datenmodell
• 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.
7/34
Entity-Relationship-Modell (ERM)
Entität
Beziehung
Attribut
Quelle: Peter Körner, Wikipedia.de
8/34
Aufbau 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.
Felder / Attribute
z.B. Tabelle Personen
Datensätze
PId
Vorname
Name
1
Han
Solo
2
Harry
Potter
3
Madonna
4
Peter
Meier
5
Peter
Meier
Schlüsselfeld
9/34
Tabellenverknüpfung 1: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.
Detailtabelle
StgId = Fremdschlüssel
n
1
Mastertabelle
StgId = Primärschlüssel
PId
Vorname
Name
StgId
StgId
Studiengang
1
Han
Solo
3
1
Informationswissenschaft
2
Harry
Potter
2
2
Linguistik
3
Madonna
2
3
Informatik
4
Peter
Meier
1
5
Peter
Meier
2
Studiengänge
Studierende
10/34
Tabellenverknüpfung n:m
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.
1
n
m
1
PId
Vorname
Name
TId
PId
SemId
Abschluss
SemId
Seminar
1
Han
Solo
1
1
1
BN
1
Wissensrepräsentation
2
Harry
Potter
2
1
3
BN
2
Datenbanken
3
Madonna
3
2
3
AP
3
Semantik
4
Peter
Meier
4
4
2
BN
5
Peter
Meier
5
5
2
AP
Personen
Teilnehmer
Seminare
11/34
Redundanz 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).
12/34
Mutationsanomalien
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
13/34
Normalformen
• 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.
14/34
SQL
SQL 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).
15/34
SELECT
Mit SELECT–Abfragen werden Sichten auf Daten erstellt.
SELECT [DISTINCT] S-Attribute
FROM F-Relation
[WHERE Where-Klausel]
SELECT Veranstaltung
FROM Veranstaltungen INNER JOIN Semester ON
Veranstaltungen.SId = Semester.SId
WHERE Semester = „SS2009“
ORDER BY Veranstaltung ASC;
[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, Joins
Where-Klausel: Bedingungen für Attributwerte (Selektion)
Gruppierungsattribute: Gruppierung für Aggregatfunktionen
Having-Klausel: Bedingungen für Aggregatfunktionen auf Gruppierungsattributen
16/34
DB 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.
17/34
Verbgraduierung: Datenmodell
18/34
Verbgraduierung: Eingabemaske
19/34
DB 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
20/34
Dimensionsverben: Datenmodell
21/34
Dimensionsverben: Eingabemaske
22/34
DB 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
23/34
Harndiagnostik: Datenmodell
24/34
Harndiagnostik: Eingabemaske
25/34
DB 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.
26/34
FB-Entwicklung: Eingabemaske 1
27/34
FB-Entwicklung: Eingabemaske 2
28/34
DB 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.
29/34
Korpusanalyse: Ausschnitt
30/34
Counts und Counts of Counts
qryNNCounts
SELECT Count(Token) AS Count, Token
FROM tabSemantik_getaggt
GROUP BY Token
HAVING Tag="NN"
ORDER BY Count(Token) DESC;
qryCountsOfCounts
SELECT Count(Count) AS CountsOfCounts, Count
FROM qryNNCounts
GROUP BY Count
ORDER 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
31/34
Nomenbedeutungen: Datenmodell
32/34
Nomenbedeutungen: Eingabemaske
33/34
Danke für‘s Zuhören!
34/34
Herunterladen