SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Blick auf das Wesentliche


O/R – Mapping mit .NET




Detlef Sauerbrei
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") = ...




                                                                                           2
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")




                                                                   3
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




                                                                   4
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




                                                                 5
Datenmodell
                           Anschriften
                               a_ID
    Personen_Anschriften
                               Land
        P_ID
                               Postleitzahl
        A_ID
                               Strasse

                               Ort




    Personen
        p_ID

        Name

        Vorname

        GebDat




                                              6
Objektmodell




               7
Klassisch


Objektmodell          Datenmodell



               Code




                                    8
Mit O/R - Mapping


Objektmodell                     Datenmodell



                    O/R-Mapper




                                               9
Demo: Vanatec OpenAccess




                           10
Kontakt, Feedback

GEDOPLAN GmbH
Stieghorster Str. 60
33605 Bielefeld

         0521 20889-10
         mailto:detlef.sauerbrei@gedoplan.de
         http://www.gedoplan.de
         http://www.involva-gruppe.de




                                               11

Mais conteúdo relacionado

Mais de GFU Cyrus AG

Clean Code Developer
Clean Code DeveloperClean Code Developer
Clean Code DeveloperGFU Cyrus AG
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.GFU Cyrus AG
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
 
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...GFU Cyrus AG
 
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertRequirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertGFU Cyrus AG
 
SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!GFU Cyrus AG
 
Java Persistence 2.0
Java Persistence 2.0Java Persistence 2.0
Java Persistence 2.0GFU Cyrus AG
 
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...GFU Cyrus AG
 
Liferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele UnternehmensanforderungenLiferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele UnternehmensanforderungenGFU Cyrus AG
 
PostgreSQL im Produktivbetrieb
PostgreSQL im ProduktivbetriebPostgreSQL im Produktivbetrieb
PostgreSQL im ProduktivbetriebGFU Cyrus AG
 
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...GFU Cyrus AG
 
Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?GFU Cyrus AG
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6GFU Cyrus AG
 
Das Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der PraxisDas Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der PraxisGFU Cyrus AG
 
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer SeminarverwaltungAgile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer SeminarverwaltungGFU Cyrus AG
 
Wissensmanagement bei Volkswagen
Wissensmanagement bei VolkswagenWissensmanagement bei Volkswagen
Wissensmanagement bei VolkswagenGFU Cyrus AG
 
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...GFU Cyrus AG
 
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalkGrenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalkGFU Cyrus AG
 
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...GFU Cyrus AG
 
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...GFU Cyrus AG
 

Mais de GFU Cyrus AG (20)

Clean Code Developer
Clean Code DeveloperClean Code Developer
Clean Code Developer
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
 
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertRequirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
 
SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!
 
Java Persistence 2.0
Java Persistence 2.0Java Persistence 2.0
Java Persistence 2.0
 
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
 
Liferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele UnternehmensanforderungenLiferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele Unternehmensanforderungen
 
PostgreSQL im Produktivbetrieb
PostgreSQL im ProduktivbetriebPostgreSQL im Produktivbetrieb
PostgreSQL im Produktivbetrieb
 
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
 
Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6
 
Das Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der PraxisDas Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der Praxis
 
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer SeminarverwaltungAgile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
 
Wissensmanagement bei Volkswagen
Wissensmanagement bei VolkswagenWissensmanagement bei Volkswagen
Wissensmanagement bei Volkswagen
 
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
 
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalkGrenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
 
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
 
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
 

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

  • 1. Blick auf das Wesentliche O/R – Mapping mit .NET Detlef Sauerbrei
  • 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") = ... 2
  • 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") 3
  • 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 4
  • 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 5
  • 6. Datenmodell Anschriften a_ID Personen_Anschriften Land P_ID Postleitzahl A_ID Strasse Ort Personen p_ID Name Vorname GebDat 6
  • 8. Klassisch Objektmodell Datenmodell Code 8
  • 9. Mit O/R - Mapping Objektmodell Datenmodell O/R-Mapper 9
  • 11. Kontakt, Feedback GEDOPLAN GmbH Stieghorster Str. 60 33605 Bielefeld 0521 20889-10 mailto:detlef.sauerbrei@gedoplan.de http://www.gedoplan.de http://www.involva-gruppe.de 11