Datenmodellierung und generische Datenmodelle Ankündigung Datenmodellierung und generische Datenmodelle Vortrag beim Access-Stammtisch, Februar 2003, von Dr.-Ing. Dipl.-Inform. Thomas Röhrich In dem Vortrag möchte ich nicht so sehr auf Standardthemen wie Tabellennormalisierung oder eine Einführung von SQL eingehen, sondern aus meinem Arbeitsschwerpunkt, der Datenmodellierung sowie der generischen Implementierung von Datenmodellen berichten. Damit es eingängiger wird, werde ich die eingesetzte Technik an Beispielen aufzeigen. thr consulting 1 Ohne ein klares Verständnis des zu behandelnden Ausschnitts der Wirklichkeit ist keine saubere Datenmodellierung möglich. thr consulting 2 Datenmodellierung und generische Datenmodelle Begriffe Datenmodell: Modell zur Strukturierung von Daten bzw. einer Datenbank. Relationale Datenbanken, wie z.B. ACCESS, arbeiten mit Tabellen, die mit Hilfe von Schlüsselfeldern miteinander verknüpft werden. Tabelle: In Tabellen sind in einer relationalen Datenbank die zu verwaltenden Daten gespeichert. Die Tabellen bestehen aus Spalten, denen jeweils ein Felddatentyp zugeordnet ist. Felddatentyp: Interpretation und Wertebereich der in einer Spalte enthaltenen Daten. Beispiele für Felddatentypen sind: Text, Zahl, Datum/Uhrzeit, Autowert, Hyperlink, Memo, etc. Relationale Datenbanken haben sich auf der mathematischen Grundlage des Codd‘schen Relationenmodells (ca. 1970) und der auf dieser Basis entwickelten Datenbanksprache SQL (Sequential Query Language) als Quasi-Standard durchgesetzt. thr consulting 3 Datenmodellierung und generische Datenmodelle Datenmodellierung Wenn eine Datenbank neu erstellt wird, sollte man die Struktur der Anwendungsdaten, also das Datenmodell, sehr gründlich planen. Es geht darum die Abbildung der in die Datenbank aufzunehmenden „Dinge“, z.B. Artikel, Aufträge, Rechnungen, Kunden, und deren Relationen, z.B. „gehört zu“, „hat bestellt“, „ist geliefert“ sinnvoll vorzunehmen. Was ist eine sinnvolle Abbildung? Hier ist es so wie bei jeder Modellbildung. Es ist die zentrale Frage zu beantworten: Zu welchem Zweck wird die Modellierung vorgenommen? Es ist so, daß z.B. als Modell für eine Kirche für manche Fragestellungen ein Quadrat mit einem Kreuz ausreicht; bei anderen Fragestellungen jedoch ein Architekturmodell benötigt wird. Kirche als Quadrat mit Kreuz, z.B. in Stadtplan thr consulting Architekturmodell der Kirche, z.B. in Bauplanung 4 Datenmodellierung und generische Datenmodelle Datenmodellierung Typischerweise hat man es mit einer Vielzahl von „Dingen“ zu tun, die vielfältig miteinander in Beziehungen stehen, die aber nicht immer so ganz klar sind. Z.B. Begriff „Pumpe“ in einer Anlage kann vieles bedeuten. Plant Management Datenmodell bei SAP unterscheidet: Technischer Platz Equipment Module Einbauort in Anlage eingebautes Gerät Baugruppe in E. Pumpe =F01.P01 Pumpenaggregat Typ, Seriennummer Motor, Getriebe und Pumpengehäuse Funktionsspezifikation (Aufgabe) Produktbeschreibung (Lösung) Produktaufbau (Lösungsdetail) Anmerkung: In Kraftwerksanlagen findet man eine Vielzahl von Schildern in den TechnikRäumen. Das Schild =F01.P01 wird z.B. an Gebäudewand und nicht auf dem Pumpenaggregat befestigt, da die Pumpe bei Bedarf gewechselt wird, die Funktion aber an dieser Stelle verbleibt. thr consulting 5 Datenmodellierung und generische Datenmodelle Datenmodellierung Die Datenmodellbildung ist im Rahmen der Informatik ein eigenständiges Gebiet. Entität: Unter Entität wird ein Objekt verstanden, über das Daten gesammelt werden sollen. Beispiele: Kunde, Auftrag, etc. Attribut: Mathematisch entsprechen Entitäten den Elementen einer Menge. Die den Entitäten zugeordneten Informationen werden Attribute genannt, z.B. Länge, Breite. Relation: Mathematisch, eine Abbildung zwischen zwei Mengen mit bestimmten Eigenschaften. Wichtig ist dabei speziell die Kardinalität, z.B. in unserm Kulturkreis 1:1 für Relation „ist verheiratet mit“. Bildmenge Definitionsmenge = Menge aller Pers. x Entity-Relationship-Modell Hilfsmittel zur graphischen Darstellung von Datenmodellen, d.h. der Entitäten und deren Attribute und Beziehungen. y x y x y Einige Darstellungselemente: • Entitätsmengen: Rechtecke • Attribute: langgezogene Kreise, Schlüsselattribute unterstrichen • Beziehungen: Raute mit jeweils 2 Verbindungslinien zu Rechtecken. • Beziehungstypen: Zahlen an den Verbindungslinien. thr consulting = Menge aller Pers. y 1:1 Abbildung „ist verheiratet mit“ 6 Datenmodellierung und generische Datenmodelle Datenmodellierung ER-Modell grafische Darstellung (Beispiel): Achtung: Das Festlegen bzw.Lesen der Kardinalitäten (1:n) (n:m) (1:1) der Beziehungen ist teilweise schwierig. Ein ER-Modell kann gut in eine Textbeschreibung umgesetzt werden: ABTEILUNG ( AbteilungsNr, Bezeichnung) MITARBEITER (PersonalNr, Nachname, Vorname, AbteilungsNr) ER-Modell ist eine relativ alte Standardmethode PROJEKT ( ProjektNr, Beschreibung) PROJEKTAUSWERTUNG ( ProjektNr, PersonalNr, Geleistete Stunden) Achtung: Obiger Entwurf läßt nur zu, daß ein Mitarbeiter nur einer Abteilung zugeordnet werden kann. Tabelle Projektauswertung ist notwendig, da zwischen Mitarbeiter und Projekten eine m:n Beziehung besteht. Merke: M:n Relationen definieren extra Tabellen. thr consulting 7 Datenmodellierung und generische Datenmodelle Datenmodellierung in EXPRESS-G Heute gibt es modernere Darstellungsmethoden, die auch genormt sind. zum Beispiel EXPRESS bzw. EXPRESS-G (G für graphisch) aus der Norm ISO 10303-11 Produktdatendarstellung und Austausch Teil 11: Beschreibungsmethoden: Handbuch der Modellierungssprache EXPRESS. EXPRESS(-G) hat den Vorteil, dass es Tools gibt die aus dem gezeichneten Entwurf direkt die Datenbankbeschreibung (DDL = Data Description Language) generieren können, die dann direkt in das Datenbankmanagement-System geladen werden kann. Nach dem Laden sind dann alle notwendigen Tabellen, Attribute und Beziehungen sofort in der Datenbank vorhanden. thr consulting 8 Datenmodellierung und generische Datenmodelle Beispiel FM - Weg zur Lösung Folie aus erster Projektpräsentation (1999):thr consulting 9 thr consulting 10 Datenmodellierung und generische Datenmodelle Beispiel FM - Datenerfassung Raumdaten mit Wänden, Decken, Böden (aus erstem Projekt): Raumwände So wurden die Raumdaten vom Planungsbüro zusätzlich zu den Grundrissen übergeben. Man erkennt, dass die Daten nicht direkt 1:1 in eine Datenbanktabelle umgesetzt werden. Die Daten sollten unter anderem zuerst einmal in die 2. bzw. 3. Normalform überführt werden („Was das ist und wie das geht?“, siehe entsprechende Lehrbücher) thr consulting 11 Datenmodellierung und generische Datenmodelle Beispiel FM - Datenmodell für erstes Projekt thr consulting Planung Auszug aus Datenmodell nach erster intensiver 12 Datenmodellierung und generische Datenmodelle Probleme mit Datenmodellen Es ist oft zum Entwicklungszeitpunkt noch nicht endgültig bekannt was alles im Datenmodell abgebildet werden soll. Die realisierten Tabellen und Relationen müssen immer wieder erweitert und abgeändert werden. Da die Daten das Fundament für die Verarbeitungsalgorithmen (Algorithmenbasis) sind, müssen auch die Algorithmen immer wieder erweitert oder geändert werden. Die Anzahl der Tabellen und Attribute ufert aus, die Übersichtlichkeit und Änderbarkeit leidet; Datenbanken mit mehr als 100 Tabellen sind keine Seltenheit. Mit der Zeit sind auch sog. tote, d.h. unbenutzte Tabellen in der DB vorhanden. Die Änderungen am Datenmodell hören quasi nie auf; die Weiterentwicklung entgleitet, wird unwirtschaftlich oder nicht mehr bezahlbar. Für die Lösung dieses Problems werden wir am Ende des Vortrags eine Antwort haben. thr consulting 13 thr consulting 14 Datenmodellierung und generische Datenmodelle Beispiel FM - Weiterentwicklung FM-Datenmodell Weiterentwicklung ab 2001: Das Datenmodell muss einfacher werden. A.) Es ist einfach zu teuer von Projekt zu Projekt immer wieder das Datenmodell zu ändern. B.) Das Datenmodell wird immer unübersichtlicher und damit schwerer handhabbar. Das Datenmodell muss, bezogen auf den Anwendungsbereich FacilityManagement, inhaltliche Änderungen und Erweiterungen möglichst ohne Datenmodelländerungen verkraften können. Das wäre super! Dies führte zu einer intensiven Beschäftigung mit generischen Datenmodellen und dem Mapping von Datenmodellen. Ergebnisse dieser zweiten Phase = heutiger Stand: • Radikale Vereinfachung zur Gewinnung eines Basis-Datenmodells • Generische Implementierung des Basis-Datenmodells • Mapping der projektbezogenen Anwendungsdatenmodelle auf das Basis-DM thr consulting 15 Datenmodellierung und generische Datenmodelle Beispiel FM – Generisches Datenmodell Die wesentliche neue Idee ist die, das Anwendungs-Datenmodell nicht direkt in der Datenbank zu realisieren, sondern dieses auf ein anderes, einmal fest implementiertes Basis-Datenmodell abzubilden. Das Basis-Datenmodell ist so ausgelegt, dass neue Projekte weitgehend ohne Änderung des Datenmodells oder der Applikation integriert werden können, also in der Sprechweise der Informatik „generisch“ ist. Der Anpassungsaufwand sinkt damit drastisch! Generisch bedeutet: Hard- oder Software, die noch nicht an konkrete Bedingungen angepasst ist. thr consulting 16 Datenmodellierung und generische Datenmodelle Mapping a) Projektbezogenes Anwendungsdatenmodell Kann sich von Projekt zu Projekt ändern Gebäude Raum Ebene ... Pläne Standort Boden Bodentyp (extrem vereinfachtes Beispiel) Prinzip: Das Anwendungsmodell wird auf das Basismodell abgebildet bzw. „gemapped“ Abbildung Die Abbildung erfolgt durch Einstellungen in zusätzlich vorhandenen Definitionstabellen. b) Implementiertes Datenmodell Andert sich nich t von Projekt zu Projekt FM-Objekt Zuordnung* FM-Detail thr consulting Konzeption des Scholze FM-Datenmodells EDM EDM-Detail *) Zuordnung zwischen FM-Objekten z.B. (Ebene, Raum), (Raum,Wand) etc. Thr 031027 1409 17 Datenmodellierung und generische Datenmodelle Mappingbeispiel Anwendungsdatenmodell Raum (Raumbezeichner, KRZ.E01.R05 KRZ.E01.R06 Raumbezeichnung, Aufenthaltsraum Flur Raumtyp) Nutzfläche Verkehrsfläche Raum Boden (Bodenbezeichner, Bodentyp, Länge, Breite, Grundfläche, Bodenbelag) KRZ.E01.R05-B BT10 5m 3m 15m² Linoleum KRZ.E01.R06-B BT10 20m 2,5m 50m² Linoleum Boden a) Mapping der FM-Objekte ohne deren Details (Mapping-Angaben in Hilfstabelle) mapping b) Mapping der FM-Objekt-Details (Mapping-Angaben in Hilfstabelle) Implementiertes Datenmodell Objekt (bezeichner, KRZ.E01.R05 KRZ.E01.R06 KRZ.E01.R05-B KRZ.E01.R06-B Objektdetail (o_bezeichner, KRZ.E01.R05 KRZ.E01.R06 KRZ.E01.R05-B KRZ.E01.R05-B KRZ.E01.R05-B KRZ.E01.R05-B KRZ.E01.R06-B ... bezeichnung, Aufenthaltsraum Flur Raumboden Raumboden od_Bezeichner Raumtyp Raumtyp Länge Breite Grundfläche Bodenbelag Länge subtype, Ort Ort Facility Facility kategorie, Raum Raum Boden Boden wert, Nutzfläche Verkehrsfläche 5 3 =Länge * Breite Linoleum 20 thr consulting typ ) Objekt BT10 BT10 Maßeinheit ) m m m² m Objektdetail Detail-Definition 18 Datenmodellierung und generische Datenmodelle FM-Beispiel - Mapping • Alle auftretenden Entity-Typen, wie Räume, Wände, Böden, etc. werden auf eine Objekttabelle abgebildet. • Alle Objektdetails werden auf eine Objektdetailtabelle abgebildet • Alle Objektzuordnungen werden auf eine Objektzuordnungstabelle abgebildet. Das implementierte Datenmodell besteht im Kern aus drei Basistabellen, drei Definitionstabellen und zwei EDM-Tabellen. thr consulting 19 Datenmodellierung und generische Datenmodelle Generisches Datenmodell - Literaturhinweis Daß diesen Weg auch andere gehen, zeigt folgender Auszug aus einer aktuellen Internet-Recherche (Februar 2004) zum Stichwort „generisches Datenmodell“ Quelle:http://www.tikom.at/sixcms/detail.php/6142, gelesen am 2.2.2004 Ti.KOM wirbt für Strategie-Entwicklung und Umsetzung, Business Case, Organisationsentwicklung, Geschäftsprozess-Design und ReEngineering, IT-Architektur und -Systemplanung Vorgehensweise ... Das Datenmodell wurde dabei so ausgelegt, dass neue Produkte/Services ohne Änderung des Datenmodells oder der Applikation integriert werden können (generisches Datenmodell). Nutzen Durch die Konsolidierung der Produkt- und Serviceabbildung konnte Ti·KOM den Implementierungsaufwand zukünftiger Services in der Kundenorganisation wesentlich vermindern. Zusätzlich wurde die Basis für die systemtechnische Abbildung von Kundenbindungsmaßnahmen gelegt. thr consulting 20 thr consulting 21 Datenmodellierung und generische Datenmodelle Implementiertes Datenmodell Die drei Basistabellen o, od, ooz enthalten die Informationen zu den FMObjekten und die Zusammenhänge zwischen diesen. Objekt_1 FMObjekt invers: besitzt Objekt_2 FM-ObjektObjektZuordnung invers: besitzt gehört zu FMObjektdetail gehört zu Zuordnungsdetail Grüner Pfeil: Die Zuordnungsdetails wandern zur weiteren Vereinfachung in die Basistabellen des Scholze FM-Datenmodells Thr 031017 1116 Tabelle FM-Objektdetail. thr consulting 22 Datenmodellierung und generische Datenmodelle Implementiertes Datenmodell Basis-Datenmodell – grundlegende Design-Gesichtspunkte Das Basis-Datenmodell kommt im Kern mit nur drei Tabellen aus und besteht insgesamt nur aus acht Tabellen. Mehrstufige Erfassung der FM-Objekte Das Basis-Datenmodell ist so gewählt, dass die abzubildenden FM-Objekte mehrstufig erfaßt werden können (aber immer mit EDM-Informationen). Erfassungsstufe 1: formale Bezeichner, Bezeichnung und Zugehörigkeit in FM-Objekttabelle. Raum, Tisch Erfassungsstufe 2: FM-Objektdetails Raumhöhe, Tischbreite Erfassungsstufe 3: Objektzuordnungen Tisch gehört zu Raum (Ausstattung) Erfassungsstufe 4: Zuordungsdetails Tisch steht an Westwand im Raum EDM = Engineering Data Management. Metainformationen, die die eigentlichen Datenbankinhalte näher beschreiben, z.B. Herkunft, von wem eingegeben, gültig ab, etc. thr consulting 23 Datenmodellierung und generische Datenmodelle Implementiertes Datenmodell - Objekttabelle Beispiel-Inhalte FM-Objekttabelle nach Mapping: o_bezeichner A A.EG A.EG.01 A.EG.01-W12 A.EG.01-T01 WT4 bezeichnung Gebäude Aarstrasse Erdgeschoss EG Raum 1 Wand 12 in Raum 1 Schreibtisch Beton mit 1 cm Putz typ WT4 is typ subtype FACILITY FACILITY FACILITY FACILITY MATERIAL MATERIALTYP kategorie GEBÄUDE EBENE RAUM WAND TISCH WANDTYP Das Beispiel enthält das Wandelement A.EG.01-W12 sowie den zugehörigen Wandtyp WT4 = Betonwand mit 1 cm Putz. D.h. die Tabelle enthält die im Gebäude vorhandenen Bauteile ebenso wie die für deren Realisierung benutzten Katalogtypen. Es werden auch alle anderen Entitäten, wie Anlagen, Firmen, Dokumente, Tätigkeiten etc. auf die eine Objekttabelle gemapped. thr consulting 24 Datenmodellierung und generische Datenmodelle Implementiertes Datenmodell - Objekttabelle Betrachten wir die Tabelle ein zweites Mal: o_bezeichner A A.EG A.EG.01 A.EG.01-W12 A.EG.01-T01 WT4 bezeichnung Gebäude Aarstrasse Erdgeschoss EG Raum 1 Wand 12 in Raum 1 Schreibtisch Beton mit 1 cm Putz typ WT4 is typ subtype FACILITY FACILITY FACILITY FACILITY MATERIAL MATERIALTYP kategorie GEBÄUDE EBENE RAUM WAND TISCH WANDTYP so stellen wir fest, dass das ursprünglich Anwendungsmodell (teilweise) sichtbar ist, und zwar durch die Inhalte der Spalten subtype und kategorie. Durch eine Abfrage mit der Bedingung: subtype == FACILITY && kategorie == RAUM, kann z.B. ein View bzw. eine Tabelle mit allen Räumen gebildet werden. Für alle anderen Entities des Anwendungsmodells geht dies genau so. thr consulting 25 Datenmodellierung und generische Datenmodelle Implementiertes Datenmodell – Objektdetailtabelle Beispiel-Inhalt FM-Objektdetailtabelle nach Mapping: o_bezeichner A.EG.01 A.EG.01 A.EG.01 A.EG.01 od_bezeichner R_HÖHE R_HÖHE R_FLÄCHE R_TYP wert 2,40 2,30 17,30 VF ungültig ab 12.03.2002 in DET_DEF Tabelle ( Maßeinheit ) m m m² {VF, NF, .. } Die fest eingestellten Informationen für die einzelnen Objektdetails, wie die zugehörigen Langtexte und Maßeinheiten, sind für jedes Objektdetail in der Definitionstabelle DET_DEF nur einmal enthalten. Anmerkung: Ganz bewusst enthält dieses Beispiel zwei verschiedene Höhen 2,3 m und 2,4 m für den Raum A.EG.01. So etwas kommt oft vor, und zwar auch mit der Forderung den alten Wert im Datenbestand zu belassen (Vielleicht war er ja doch richtig.) thr consulting 26 Datenmodellierung und generische Datenmodelle Implementiertes Datenmodell - Definitionstabellen Subtype FMObjekt Kategorie Def_ Kat Objektbezeichner FMObjektdetail Eine der Basisoder EDMTabellen des FM-Datenmodells Objektdetail bezeichner Det_ Def Tabelle Attribut Def_ Werte Definitionstabellen des Scholze FM-Datenmodells Thr 031017 1116 Die Tabellen Def_Kat, Def_Det und Def_Werte enthalten Zusatzinformationen für die Einstellung des Datenmodells, z.B. Maßeinheiten und Klartextbezeichnungen von Objektdetails, zulässige Werteeingaben für bestimmte Attribute, Darstellungsangaben, wie Sortierreihenfolgen, Ausblendungen usw. thr consulting 27 Datenmodellierung und generische Datenmodelle Implementiertes Datenmodell - Definitionstabellen • Die Definitionstabelle für Kategorien (Def_Kat) definiert die im Projekt benutzten Subtypen und Kategorien. • Die Detaildefinitionstabelle (Det_Def) enthält Bezeichnung, Maßeinheit, Sortierreihenfolge, Ausgabeformat, Defaultwert etc. für die Objektdetails • Die Definitionstabelle für Werte (Def_Werte) enthält die Definition von Einzelwerten bzw. Wertebereichen für Attribute anderer Tabellen. Detaildefinitionstabelle Det_Def (Prinzip) od_bezeichner R_HÖHE R_FLÄCHE R_TYP od_bezeichnung Raumhöhe Raumfläche Raumtyp nach DIN 176 thr consulting einheit m m² sortierung 1 2 3 28 Datenmodellierung und generische Datenmodelle Implementiertes Datenmodell – Bereich EDM Engineering-Data-Management-Informationen, kurz EDM Die Tabellen e und ed enthalten Engineering-Data-Management-Informationen, also Hintergrund- bzw. Zusatzinformationen zu den FM-Objekten bzw. zu deren Details und Zuordnungen. • Die Engineering-Data-Managementtabelle (e) enthält Kontext, Bezeichnung, Status, Datum und Uhrzeit von Engineering-Tätigkeiten. • Die Engineering-Data-Management-Detailtabelle (ed) enthält weitere Detailangaben zu den Engineering-Tätigkeiten, wie Firma, Bearbeiter, Workflow, Name und Herkunft der verwendeten Datenquelldateien. Für die Anwendung der EDM-Tabelle gilt eine spezielle Regel: Jeder Anwendungsdatensatz muß mit einem Datensatz in der EDM-Tabelle verbunden sein. Der Datensatz in der EDM-Tabelle repräsentiert die Engineeringtätigkeit die für den Eintrag bzw. letzte Änderung des Anwendungsdatensatzes verantwortlich war.. Durch diese Regel wird die Herkunft der einzelnen Datenbankeinträge nachvollziehbar. thr consulting 29 thr consulting 30 Datenmodellierung und generische Datenmodelle G93 Beispiel - Abstellraum Der Abstellraum rechts neben der Eingangstür hat fünf Wände, zwei Fenster und zwei Türen. Die Türen sind T30 Brandschutztüren. Die Fenster sind einfache zweiflügelige Kellerfenster aus verzinktem Stahlblech. Der Raum gehört im Teileigentum zur Wohnung 1. thr consulting 31 Datenmodellierung und generische Datenmodelle Beispiel G93 – Inhalt Objekttabelle thr consulting 32 Datenmodellierung und generische Datenmodelle Objekttabelle - Spalteninhalte Kontext Alphanumerische Angabe zur Identifikation des übergeordneten Kontextes, z.B. Mandant, Standort, etc. Bezeichner Alphanumerischer String zur Identifikation des Facility; String muß nicht natürlichsprachlich sein, z.B. "R2D2„ Typ Realisierungstyp: z.B. Typ F10 für Fenster, B12 für Boden Gruppe Frei definierbare Gruppe zu der das Facility gehört, z.B.: fest eingebaut, Zusatzausstattung, Grundausstattung zugehoerigkeit Zugehörigkeit zu übergeordnetem Objekt, z.b. Raum, Stockwerk, Gebäudeteil, Gebäude, Standort Stand Planungsstand: gewünscht =1; geplant=2 oder leer; gebaut=3; gelöscht=4; engineering Verweis zu EDM-Angabe: Datenursprung, Datum, Bearbeitungskontext, Freigabestatus Die Erläuterung der anderen Spalten ist weitgehend selbsterklärend, bzw. wurde bereits gegeben. thr consulting 33 Datenmodellierung und generische Datenmodelle Beispiel G93 – Baumabfrage Anmerkung: So eine Abfrage ist z.B. erforderlich für Browser-Baumdarstellungen 1 2 3 thr consulting 4 34 Datenmodellierung und generische Datenmodelle Beispiel G93 – Objektdetails Objekt_1 FMObjekt invers: besitzt gehört zu FMObjektdetail thr consulting Objekt_2 FM-ObjektObjektZuordnung invers: besitzt gehört zu Zuordnungsdetail Basistabellen des Scholze FM-Datenmodells 35 Thr 031017 1116 Datenmodellierung und generische Datenmodelle Beispiel G93 – Abfrage Objektdetails In SQL: SELECT o.bezeichner, o.bezeichnung, od.bezeichner AS Detail, Det_Def.bezeichnung AS Detailbezeichnung, od.wert, Det_Def.einheit FROM (o INNER JOIN od ON o.bezeichner = od.obj_bezeichner) INNER JOIN Det_Def ON od.bezeichner = Det_Def.bezeichner WHERE (((Det_Def.ausblenden_1)="n")) ORDER BY o.bezeichner, Det_Def.sortierung_2; thr consulting 36 Datenmodellierung und generische Datenmodelle Beispiel G93 – Abfrage Objekttypdetails thr consulting 37 Datenmodellierung und generische Datenmodelle Beispiel G93 – Objekt-Objekt-Zuordnungen Objekt_1 FMObjekt invers: besitzt gehört zu FMObjektdetail thr consulting Objekt_2 FM-ObjektObjektZuordnung invers: besitzt gehört zu Zuordnungsdetail Basistabellen des Scholze FM-Datenmodells 38 Thr 031017 1116 Datenmodellierung und generische Datenmodelle Beispiel G93 –Objektzuordnungsabfrage Abfrage: Welche FM-Objekte sind dem Raum „G93.U01.001“ zugeordnet? In SQL: SELECT o.bezeichner, o.bezeichnung, ooz.bezeichnung, o_1.bezeichner, o_1.bezeichnung FROM (o INNER JOIN ooz ON o.bezeichner = ooz.bezeichner_1) INNER JOIN o AS o_1 ON ooz.bezeichner_2 = o_1.bezeichner WHERE (((o.bezeichner)="G93.U01.001")); Ergebnismenge thr consulting 39 Datenmodellierung und generische Datenmodelle Generische DB - Zusammenfassung 1. Neue Produkte/Services können weitgehend ohne Änderung des Datenmodells oder der Applikation integriert werden 2. Komplexe Abfragen werden auf der Grundlage des einfachen implementierten Datenmodells in der Regel viel einfacher. Die ständigen Änderungen am Datenmodell hören auf; die Weiterentwicklung entgleitet nicht, bleibt wirtschaftlich bzw. bezahlbar. Hier die Antwort zur Problembeschreibung am Vortragsanfang thr consulting 40 thr consulting 41 Datenmodellierung und generische Datenmodelle Werbung in eigener Sache Sofern Sie Hilfe bei der Erstellung oder Umsetzung Ihrer Datenmodelle benötigen – Ich lebe von zufriedenen Kunden. Quality Qualität, Kosten und Zeit sind drei wesentliche Zielgrößen bei der Projektabwicklung. Das Logo soll ausdrücken, dass zwischen diesen Zielgrößen Wechselwirkungen bestehen. Die Qualität als überragende Zielgröße ist an der oberen Spitze des Dreiecks notiert. Die gleichzeitige Optimierung der miteinander verbundenen Zielgrößen, also die Maximierung der Qualität bei Costs Time gleichzeitiger Minimierung der Kosten und der Zeit, ist eine schwierige Aufgabe. Das im Dreieck notierte Kürzel IT, für Informationstechnik, soll ausdrücken, dass durch den Einsatz moderner Informationstechnik oft neue Lösungen möglich sind, die verbesserte Qualität-Kosten-Zeit-Relationen erschließen. An solchen Projekten mitzuarbeiten und die dabei entwickelten Produkte bis zur Einsatzreife zu bringen, ist mein Geschäft. Dr. Röhrich IT thr consulting 42