Object Role Modeling
Object Role Modelling, kurz ORM, dient dazu, im Rahmen der Datenmodellierung einen Ausschnitt der realen Welt (englisch: Universe of Discourse, UoD) zu beschreiben. Es beschreibt Objekte und ihre Rollen zueinander entweder in einfachen Sätzen, oder in intuitiven Diagrammen.
Es dient zum einen in der konzeptionellen Phase der Anwendungsentwicklung der Verständigung zwischen Anwendern und Entwicklern, wobei ausschließlich das Was, also die Sachlogik, und nicht das Wie, also die Technik, dargestellt wird. Zum Anderen dient das ORM-Modell in der Implementierungsphase als Grundlage für das Design der Datenbank.
Beispiel

Im Bild rechts wird eine einfache Beziehung dargestellt: Ein Angestellter arbeitet in einem Department. Dieses Diagramm stellt die drei grundlegenden Objekttypen vor:
- Entities (Angestellter und Departement) sind die eigentlichen Objekte des UoD's.
- Roles (Arbeitsplatz) (auch "fact type") stellen die Beziehung zwischen Entities (Objekten) dar.
- Label ("Name des Angest." und "Name des Dep.") sind die Typen der Objekte.
Algorithmus
Um von einer Tabelle mit (signifikanten) Einträgen zu einem ORM Diagramm zu kommen, kann man folgende sieben Schritte durchlaufen. Es ist ein etwas formeller Weg zu einem ORM Diagramm, aber meist (besonders für komplizierte Diagramme) ist es hilfreich, sich das schrittweise zu überlegen und nicht zu versuchen, alles auf einmal umzuwandeln.
- 1: Wandle bekannte Informationen in elementare Fakten um und mache Qualitäts Check.
- 2: Zeichne die fact type und mache einen Population Check
- 3: Teste, ob Entity Typen zusammengefasst werden sollten und kennzeichne alle Typen, die aus den Bestehenden berechnet werden können.
- 4: Füge uniqueness constraints hinzu, und teste die Länge der fact type.
- 5: Füge mandatory role constraints hinzu und teste ob etwas logisch ableitbar ist
- 6: Füge einschränkende Werte, Mengenvergleiche und Subtyping ein.
- 7: Füge restliche Bedingungen ein und führe letzen Check durch.
Weblinks
Referenzen
Information Modeling and Relational Databases von Terry Halpin (ISBN 1558606726)