Kick-Off Komplexpraktikum Datenbank

Werbung
Tobias Jäkel
Kick-Off Komplexpraktikum
Datenbank-Systemarchitektur
© Prof. Dr.-Ing. Wolfgang Lehner |
Komplexpraktikum / Forschungspraktikum WS1314 DB-
Organisatorisches
Wer?
 Tobias Jäkel:
 Hannes Voigt:
[email protected]
[email protected]
Für wen?
 Diplom 2004 Informatik, Medieninformatik
 Komplexpraktikum (Schein)
 Diplom 2010 Informatik
 Modul: PM-FPG
 Bachelor
 Informatik: B-510, B-520
 Medieninformatik: B-530, B-540
 Master Informatik
 Modul: PM-FPG
Anrechenbarkeit
 4 SWS (Basic)
 8 SWS (Premium)
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
2
Organisatorisches
Ziele
 Eigene Thesen aufstellen und durch geeignete Untersuchungen und Experimente
bewerten
 Erarbeiten eigener Lösungsvorschläge
 Evaluierung dieser Lösungen
Voraussetzungen
 Proaktives Arbeiten
 Selbstständige Aufteilung der Arbeit
Ablauf
 Kick-off (vorgezogen – Einarbeitung evtl. weiterer Studierender durch Studierende
selbst)
 Regelmäßige Treffen – min. alle 2 Wochen
 Präsentation der Arbeitsergebnisse
 Diskussion
 Brainstorming weiteres Vorgehen
 Abschlusspräsentation
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
3
>
Einführung in das Rollenkonzept
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
4
Einführung
Entwickelt in den 1970ern [1]
 Interaktion zwischen Realweltobjekten findet vorrangig über Rollen statt
 Beispiele
 Person ist Student gegenüber einer Universität
 Schauspieler spielt Rolle in einem Theaterstück
Herkunft
 Theater – Schauspieler spielen Rollen
 Sprichwörtern
 ….
Definition
 In vielen verschiedenen Disziplinen verbreitet [Soziologie, Linguistik,
Softwaresysteme, (Daten-)Modellierung, …]
 Keine einheitliche Definition
 Eigene Definition finden
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
5
Was sind Rollen
Realwelt-Objekte werden aufgeteilt
 Natürliche Typen
 Rollen
Entität
Rolle
Nat. Typ
Abgrenzung
 Rigidität
 Fundiertheit
Rolle
Nat. Typ
Rigidität
 Objekt ist gesamte Existenz Instanz dieser Klasse
 Bsp.: Mensch bleibt immer Mensch
Rigidität
Fundiertheit
Nat. Type
+
-
Rolle
-
+
Fundiertheit
 Weitere Objekte sind notwendig um Semantik zu erfüllen
 Bsp.: Kein Student ohne Hochschule
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
6
Eigenschaften von Rollen
Min. 15 Verschiedene Eigenschaften [2]














Eigene Eigenschaften und Verhalten
Hängen von Beziehungen ab
Mehrere Rollen können gleichzeitig gespielt werden
Dieselbe Rolle kann mehrmals gleichzeitig gespielt werden
Dynamisches An- und Ablegen
Unabhängige Objekte können dieselben Rollen spielen
Rollen können Rollen spielen
Übertragbarkeit
Zustand eines Objektes kann rollenspezifisch sein
Eigenschaften eines Objektes können rollenspezifisch sein
Beschränkter Zugriff
Rollen können Eigenschaften und Verhalten teilen
Objekt und Rolle teilen sich Identität
Objekt und Rolle haben unterschiedliche Identitäten
Nicht alle Eigenschaften sind widerspruchsfrei
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
7
Eigenschaften von Rollen
Min. 15 Verschiedene Eigenschaften [2]














Eigene Eigenschaften und Verhalten
Hängen von Beziehungen ab
Mehrere Rollen können gleichzeitig gespielt werden
Dieselbe Rolle kann mehrmals gleichzeitig gespielt werden
Dynamisches An- und Ablegen
Unabhängige Objekte können dieselben Rollen spielen
Rollen können Rollen spielen
Übertragbarkeit
Zustand eines Objektes kann rollenspezifisch sein
Eigenschaften eines Objektes können rollenspezifisch sein
Beschränkter Zugriff
Rollen können Eigenschaften und Verhalten teilen
Objekt und Rolle teilen sich Identität
Objekt und Rolle haben unterschiedliche Identitäten
Nicht alle Eigenschaften sind widerspruchsfrei
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
8
ET1
neu
bisher
Was ist anders?
RT1
ET1
RS
ET2
RT2
NT1
NT2
RT3
RT4
Ein Element um ET zu beschreiben
Zwei Elemente um ET zu beschreiben
 Alle Attribute in einem Element
 Alle Attribute müssen ausgeprägt
werden
 Fixes Schema des Elementes
 Erweiterung bezieht sich auf alle
Entitäten




Attribute verteilen sich
Zusammensetzung ist flexibel
Elemente haben fixes Schema
Erweiterung durch neue Rollentypen
ET bezieht sich immer auf einen NT und
spielbare Rollen
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
9
Flexible Datenobjekte
Configurations
NT
RT1
NT
ET
RT1
NT
RT3
NT
I_ET
RT3
RT3
NT
RT1
…
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
10
Constraints
Nicht alle Rollen dürfen einfach so gespielt
Beschränkungen zwischen den Rollen






Implikation (SHK impliziert Student)
Prohibition (Student und WHK)
Äquivalenz (Mitarbeiter und Abteilungsangehöriger)
Zeitliche Beschränkungen ()
Azyklisch
…
Schränken die Möglichkeiten der Komposition von NT und RTs ein
RT1
NT
NT
RT3
RT1
NT
RT3
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
11
Beispiel
Person
Mitarbeiter
SysAdmin
Programmierer
Geschäftsführer
HR-Manager
Recruiter
HR
IT
CEO
Geschäftsführu
ng
Abteilung
Anfrage
 Alle Mitarbeiter von IT
 Explizit vs. implizit (muss Programmierer / Mitarbeiter genannt werden)?
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
12
Beispiel
Stellenausschr.
Bewerber
Person
Mitarbeiter
Ausschreibung
Ausstattungsaus
SysAdmin
Programmierer
HR-Manager
Recruiter
HR
IT
Abteilung
Anfrage
 Programmierer, die auch Bewerber waren / sind
 Alle Personen, die Mitarbeiter oder Bewerber sind
 Alle Personen, die entweder Mitarbeiter oder Bewerber sind
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
13
Zusammenfassung
Rollenkonzept
 Etabliert in verschiedenen Disziplinen
 Aufteilung der Entitätstypen in natürliche Typen und Rollentypen
 Entitätstyp beschreibt einen natürlichen Typen und die spielbaren Rollen samt aller
Beschränkungen
Eigenschaften von Rollen
 Nicht widerspruchsfrei
 Nicht alle für uns interessant
Flexible Datenobjekte
 Ändern zur Laufzeit ihre Eigenschaften
 Hier: Natürliche Objekte spielen Rollen oder hören auf jene zu spielen
Komplexe Anfragen
 Logische Zusammensetzung von Rollen
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
14
>
Aufgabenstellung
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
15
Zielstellung
1
(R)SQL
Role based results
6
Middleware / Translation
3
2
5
SQL
Relational Results
DBMS
4
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
16
RSQL
1
Erweiterung von SQL
 Natürliche Typen (NT) und Rollentypen (RT)
 Signalwörter um Typen zu spezifizieren
 DQL
 Anfrage auf NT und RT
 DML
 Annehmen und Ablegen von Rollen
 Updaten von Attributen
 Konsistenzprüfung
 DDL
 Anlegen von NT und RT
 Zuweisung welcher NT welche RT spielen darf
 Constraints festlegen
Beachte:
 RT können von mehreren NT gespielt werden
 RT können von einem NT mehrmals gespielt werden
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
17
Translation
2
Parsen von (R)SQL
 Zur Generierung von SQL
SQL-Generierung
 Verschiedene Varianten möglich
 Implementierung einiger
 Templatebasiert?
Transaction Management
 Zusammenfassung von mehreren Aktionen zu einer Transaktion?
 Einfügen von Daten (Rollen annehmen oder ablegen) kann mehrere SQL-Befehle
nach sich ziehen
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
18
SQL / DBMS
3
SQL an DBMS schicken




Statement / PreparedStatement
Verbindung zu DBMS aufbauen
Statements an DBMS senden
…
4
DBMS
 Relationales DBMS
 Keine Änderungen am bestehenden System?
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
19
Ergebnisgenerierung
5
Relationale Ergebnisse verarbeiten




Spezielle Rückgabeformate?
Bereitstellung rollenbasierter Ergebnisse
Erstellen der Metadaten
Methoden für Abfrage von NT und RT
SQLException-Management
 Spezielle Exceptions wenn Beschränkungen verletzt werden
 Interpreation normaler SQLExceptions
NULL-Semantik
 Nicht existent vs. Nicht ausgeprägt
6
Verarbeitung der rollenbasierten Ergebnisse
 Ansprechen bestimmter Rollen im ResultSet
 Abfrage bestimmter Attribute
 Metadatenabfrage
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
20
Setup
Programmiersprache
 Java
DBMS
 H2 / PostgreSQL / MySQL
DBMS-Zugriff
 JDBC
Versioning
 SVN / Git
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
21
Implementierungsvorschlag
Role-JDBC
R-Connection
creates
(R)SQL
R-Statement
R-ResultSet
executes
creates
R-Parser
JDBC
R-Transformer
creates
Statement
feeds
Statement
execute
ResultSet
Writes into
Komplexpraktikum / Forschungspraktikum WS1314 DB-Systemarchitektur
|
22
TOBIAS JÄKEL
Kick-Off Komplexpraktikum
Datenbank-Systemarchitektur
© Prof. Dr.-Ing. Wolfgang Lehner |
Komplexpraktikum / Forschungspraktikum WS1314 DB-
Herunterladen