Heinrich-Heine-Universität, FFF-Kolloquium Christof Rumpf

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

Datenbankdesign mit ACCESS.
Datenbanken Beispiel: Musikverwaltungsdatenbank Daten: Musikstück
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Datenbanken Einführung.
Datenbankmanagementsystem
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
Bauinformatik II Softwareanwendungen 1
Prof. Dr. Andreas Schmietendorf
MS Office-Paket: Access
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Kapitel 3: Das Relationenmodell
Das ERM-Model Manuela Erdmann.
Datenbanken Christof Rumpf
SQL als Abfragesprache
SQL als Abfragesprache
Daten bank St. Wiedemann.
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Datenbanken Christof Rumpf
Erstellen einer Datenbank
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Normalformen Normalisieren Schlüssel
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Datenintegrität Referentielle Integrität create table
6 Normalformen Normalisieren Schlüssel
Einführung Dateisystem <-> Datenbanksystem
Datenmodellierung - Aufbau einer Datenbank -
Einführung und Überblick
Relationale Datenbankmodelle
... und alles was dazugehört
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Datenbanken IFB 2002 Klaus Becker.
Datenbanken?.
Datenbank-entwicklungsprozess
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Allgemeines zu Datenbanken
Befehle in SQL Erläuterungen.
(D.h. „Hallo MausFans!“ auf Japanisch).
Datenbanksysteme für hörer anderer Fachrichtungen
DI (FH) DI Roland J. Graf MSc (GIS) U N I V E R S I T Ä T S L E H R G A N G Geographical Information Science & Systems UNIGIS.
Einführung in Datenbankmodellierung und SQL
Freiwillige Feuerwehr der Stadt Perg
Ihr Trainer: Gerold Hämmerle
XML und Datenbanken © 2006 Markus Röder
verstehen planen bearbeiten
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Aufbau, Theorie und Anwendung (im Unterricht)
Structured Query Language
Vorlesung #5 SQL (Teil 2).
Einführung Dateisystem <-> Datenbanksystem
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Datenbank System (DBS) - Warum?
Datenbanken abfragen mit SQL
BHAK/BHAS 1 Salzburg KIDM 2ASBS Schuljahr 2004/05
SQL Basics Schulung –
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Von Wietlisbach, Lenzin und Winter
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
(Structured Query Language)
 Präsentation transkript:

Heinrich-Heine-Universität, FFF-Kolloquium Christof Rumpf 29.04.2009 Datenbanken in der FOR 600 Der Einsatz von Datenbanken in der empirischen Linguistik Heinrich-Heine-Universität, FFF-Kolloquium Christof Rumpf 29.04.2009

Ü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

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

Datenbankmodelle / -architekturen Relational - verbreitetster Standard Deduktiv - relational + Prolog Objektorientiert - entspr. OO-Programmierung Objektrelational - relational + objektorientiert Hierarchisch - Baumstruktur, veraltet Netzwerk - Graphen

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)

Relationale DBMS Desktop-DBMS Server-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.

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.

Entity-Relationship-Modell (ERM) Entität Beziehung Attribut Quelle: Peter Körner, Wikipedia.de

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 PId Vorname Name 1 Han Solo 2 Harry Potter 3 Madonna 4 Peter Meier 5 Daten-sätze Schlüsselfeld

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. n 1 Detailtabelle StgId = Fremdschlüssel Mastertabelle StgId = Primärschlüssel PId Vorname Name StgId 1 Han Solo 3 2 Harry Potter Madonna 4 Peter Meier 5 StgId Studiengang 1 Informationswissenschaft 2 Linguistik 3 Informatik Studiengänge Studierende

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. m 1 1 n PId Vorname Name 1 Han Solo 2 Harry Potter 3 Madonna 4 Peter Meier 5 TId PId SemId Abschluss 1 BN 2 3 AP 4 5 SemId Seminar 1 Wissensrepräsentation 2 Datenbanken 3 Semantik Personen Teilnehmer Seminare

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 Alle Referenzen sollen auflösbar sein. Das leistet ein gutes DBMS (referentielle Integrität).

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

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.

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).

SELECT Mit 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, Joins Where-Klausel: Bedingungen für Attributwerte (Selektion) Gruppierungsattribute: Gruppierung für Aggregatfunktionen Having-Klausel: Bedingungen für Aggregatfunktionen auf Gruppierungsattributen SELECT Veranstaltung FROM Veranstaltungen INNER JOIN Semester ON Veranstaltungen.SId = Semester.SId WHERE Semester = „SS2009“ ORDER BY Veranstaltung ASC;

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.

Verbgraduierung: Datenmodell

Verbgraduierung: Eingabemaske

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

Dimensionsverben: Datenmodell

Dimensionsverben: Eingabemaske

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

Harndiagnostik: Datenmodell

Harndiagnostik: Eingabemaske

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.

FB-Entwicklung: Eingabemaske 1

FB-Entwicklung: Eingabemaske 2

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.

Korpusanalyse: Ausschnitt

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; Häufigkeit von Tokens eines bestimmten Typs in einem Korpus qryCountsOfCounts SELECT Count(Count) AS CountsOfCounts, Count FROM qryNNCounts GROUP BY Count ORDER BY Count(Count) DESC; Häufigkeit, mit der Tokens einer bestimmten Häufigkeit in einem Korpus vorkommen

Nomenbedeutungen: Datenmodell

Nomenbedeutungen: Eingabemaske

Danke für‘s Zuhören!