Datenmodellierung und generische Datenmodelle

Werbung
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
Herunterladen