blick auf das wesentliche - o/r-mapping mit .net

11

Click here to load reader

Upload: gfu-cyrus-ag

Post on 25-Jan-2015

361 views

Category:

Technology


1 download

DESCRIPTION

Objektorientierte Programmierung führt Entwickler häufig zu folgendem Problem: Die Business-Logik basiert auf Objekten, aber die Datenbank arbeitet relational. Objekte müssen manuell in Tabellenstrukturen abgebildet oder aus diesen erstellt werden. Nicht selten widmen sich 30% bis 50% des Quellcodes ausschließlich dem Datenzugriff. Anhand des O/R-Mappers "OpenAccess" der Firma Vanatec wird eine Lösungsmöglichkeit für dieses Problem aufgezeigt.

TRANSCRIPT

Page 1: Blick auf das Wesentliche - O/R-Mapping mit .NET

Blick auf das Wesentliche

O/R – Mapping mit .NET

Detlef Sauerbrei

Page 2: Blick auf das Wesentliche - O/R-Mapping mit .NET

2

Die Symptome I

Identitätsproblem

Objekte haben eine implizite Identität (Adresse im Hauptspeicher)

Dim p As New Person

...

Dim q As Person = p

Datensätze in Tabellen haben eine explizite Identität (Primärschlüssel)Häufig erfüllen Primärschlüssel andere Zwecke als den der Identitätsherstellung

Dim r As DataRow = myDataSet.Tables(0).NewRow

r("id") = ...

Page 3: Blick auf das Wesentliche - O/R-Mapping mit .NET

3

Die Symptome II

Beziehungsproblem

Objekte verweisen mit Zeigern vom Parent auf die Children(intuitiv)parent.children.Add(c)

Datensätze verweisen umgekehrt mit Fremdschlüsseln von den Children auf den Parent (nicht intuitiv)rChild("idParent") = rParent("id")

Page 4: Blick auf das Wesentliche - O/R-Mapping mit .NET

4

Die Symptome III

Verhaltensproblem

OOP steht für einen Umgang mit einzelnen „Dingen“ (Objekte)imperative Programmierung (C#, VB.NET)

For Each r As DataRow in myDataSet.Tables(0).Rows

r.Delete()

Next

RDBMS stehen für einen Umgang mit vielen „Dingen“ (Mengen)deklarative Programmierung (SQL)

delete from Bestellpositionen where Menge=0

Page 5: Blick auf das Wesentliche - O/R-Mapping mit .NET

5

Beispiel: Personen und Anschriften

Jede Person hat mindestens eine Anschrift

Unter einer Anschrift können mehrere Personen leben.

Es sollen alle Anschriften einer Person angezeigt werden.

Es sollen alle Personen zu einer Anschrift angezeigt werden.

n:m – Beziehung

Page 6: Blick auf das Wesentliche - O/R-Mapping mit .NET

6

Datenmodell

Personen

p_ID

Name

Vorname

GebDat

Personen_Anschriften

P_ID

A_ID

Anschriften

a_ID

Land

Postleitzahl

Strasse

Ort

Page 7: Blick auf das Wesentliche - O/R-Mapping mit .NET

7

Objektmodell

Page 8: Blick auf das Wesentliche - O/R-Mapping mit .NET

8

Klassisch

Objektmodell Datenmodell

Code

Page 9: Blick auf das Wesentliche - O/R-Mapping mit .NET

9

Mit O/R - Mapping

Objektmodell Datenmodell

O/R-Mapper

Page 10: Blick auf das Wesentliche - O/R-Mapping mit .NET

10

Demo: Vanatec OpenAccess

Page 11: Blick auf das Wesentliche - O/R-Mapping mit .NET

11

Kontakt, Feedback

GEDOPLAN GmbHStieghorster Str. 6033605 Bielefeld

� 0521 20889-10� mailto:[email protected]� http://www.gedoplan.de� http://www.involva-gruppe.de