Slide 1

Slide 1 text

Holger Tiemeyer Graphen! http://www.leonhardeuler.com/leonhard-euler-and-seven-bridges-of-konigsberg/

Slide 2

Slide 2 text

25.11.2019 Graphen! 2

Slide 3

Slide 3 text

Kurzprofil 25.11.2019 Graphen! 3 Schwerpunkte • Softwarearchitektur und –beratung • Enterprise-Architektur • Softwareentwicklung • Projektleitung Branchen • Automotive • Health • IT Dienstleistung • Banken/Versicherung Biographie • Diplom Informatiker • ISAQB: • Certified Professional for Software Architecture (Advanced Level) • Leiter AG Hochschulen • IREB Certified Professional for Requirements Engineering (Foundation Level) • OMG-Certified Expert in Business Process Management (BPM) Holger Tiemeyer 18 Jahre Erfahrung in Enterprise-Projekten

Slide 4

Slide 4 text

25.11.2019 Datenmodellierung 4 Begriff (Gedanke oder Bedeutung) Symbol (Zeichenträger) Gegenstand, Sachverhalt (Referenzobjekt) steht für

Slide 5

Slide 5 text

25.11.2019 Datenmodellierung 5 Begriff (Gedanke oder Bedeutung) Symbol (Zeichenträger) Gegenstand, Sachverhalt (Referenzobjekt) https://commons.wikim edia.org/w/index.php?c urid=26110 « Baum » steht für

Slide 6

Slide 6 text

Der wissenschaftliche Modellbegriff 25.11.2019 Graphen! 6 Konkretes oder gedankliches • Abbild eines vorhandenen Gebildes • Vorbild für ein zu schaffendes Gebilde Das Gebilde, welches Abbild oder Vorbild ist, wird Original genannt. Jedes Modell ist durch die Wahrnehmung der modellierenden Person(en) geprägt. Die Vorstellung «Modell = Ausschnitt der Realität» greift zu kurz. Modelle sind Abbildung und Konstruktion der Realität.

Slide 7

Slide 7 text

Wozu Modelle? 25.11.2019 Graphen 7 Verstehen Kommunizieren Hilfsmittel zum Gestalten, Bewerten und Kritisieren Spezifikation von Anforderungen Experimentieren Aufstellen/Prüfen von Hypothesen

Slide 8

Slide 8 text

Datenbankmanagementsysteme – zeitliche Entwicklung 25.11.2019 Graphen! 8 1960 IBM DBOMP (Database Organization and Maintenance Processor) 1963 Charles Bachman Data Structure Diagram 1968 IBM IMS (Information Management System) 1970 Dr. Codd, Relationales Modell 1975 ANSI-SPARC 3-Schema Architektur 1978 Oracle 1983 IBM DB2 1986 Objekt- daten- banken 1996 UML 2007 NoSQL Heute 2018 Property Graphen? 1976 Peter Chen Entity Relationship modeling

Slide 9

Slide 9 text

Datenbankmanagementsysteme – zeitliche Entwicklung 25.11.2019 Graphen! 9 Heute Pointer als Konstrukt, Beziehungen im Fokus Relationale Empire

Slide 10

Slide 10 text

Relationale Modelle 25.11.2019 Graphen! 10 Suggerieren, dass sie auf «Beziehungen» (relation-ships) fokussieren. Sie fokussieren jedoch auf «relations» (Attributbeziehungen)! Gegeben seien nicht notwendigerweise unterschiedliche Wertebereiche (Domänen) , , … , , d.h. = ist zulässig für ≠ . Dann ist eine Relation definiert als die Teilmenge des kartesischen Produkts der Domänen: ⊆ ⨯ ⨯∙∙∙⨯ aus: Datenbanksysteme, Kemper, Eickler

Slide 11

Slide 11 text

Funktionale Abhängigkeit 25.11.2019 Graphen! 11 Eine funktionale Abhängigkeit stellt eine Bedingung an die möglichen gültigen Ausprägungen des Datenbankschemas dar: → Hierbei repräsentieren [..] und jeweils Mengen von Attributen. R A B C D t 4 2 4 3 p 1 1 1 1 q 1 1 1 2 r 2 2 3 2 s 3 2 4 3 aus: Datenbanksysteme, Kemper, Eickler

Slide 12

Slide 12 text

Prozess der Datenmodellierung 25.11.2019 Graphen! 12 Entitäten identifizieren Attribute identifizieren Beziehungen identifizieren Muster anwenden Namens- konventionen Schlüssel zuweisen Normalisieren De- normalisieren Angelehnt an: Graph Data Modeling for NoSQL and SQL, Thomas Friesendal

Slide 13

Slide 13 text

Datenmodellierung – ER-Diagramm (Auszug) 25.11.2019 Graphen! 13

Slide 14

Slide 14 text

Kritikpunkte 25.11.2019 Graphen! 14 Beziehungen wurden «Bürger zweiter Klasse» Keine Unterstützung für Mengen von Mengen SQL ist keine «wohlgeformte» und vollständige Sprache Geschäftssemantik geht verloren (Informationsverlust) War historisch nie «geschäftsorientiert» Fokussierung auf den Geschäftswert, Schnelligkeit und Anpassbarkeit

Slide 15

Slide 15 text

Datenmodellierung 25.11.2019 Graphen! 15 Haben wir das richtige «Framework» für die Datenmodellierung?

Slide 16

Slide 16 text

Datenmodellierung 25.11.2019 Graphen! 16 Datenmodellierung bedeutet: Kommunikation von Struktur und Beziehung Kommunikation auf Augenhöhe mit den Stakeholdern (Fachabteilung, Management, etc.) Datenmodellierung ist Design!

Slide 17

Slide 17 text

Visuelle Wahrnehmung 25.11.2019 Graphen! 17 Rinadeg Oedrr Aoccdrnig to a rscarhee at Cidgmabre Uinervtisy, it deosn t mtetar in waht oredr the ltteers in a wrod are, the olny iprmoatnt tihng is taht the frist and lsat ltteer be at the rghit pclae.* * Interactive Data Visualization: Foundation, Techniques and Applications. Second Edition, by M.O. Ward, G. Grintstein, D. Keim, CRC Press 2015

Slide 18

Slide 18 text

25.11.2019 Graphen! 18

Slide 19

Slide 19 text

25.11.2019 Graphen! 19

Slide 20

Slide 20 text

25.11.2019 Graphen! 20

Slide 21

Slide 21 text

Ubiquitous pointer 25.11.2019 Graphen! 21 Basisgeste der Menschen Es gibt kein Missverständnis über die Bedeutung The use of pointing gesture is one of the first ways to communicate with the world. This gesture emerges before the second year of life and it is assumed to be the first form of intentional communication.* Der Pointer ist eines unserer stärksten Visualisierungs-Tools. * Development Review, Volume 30, Issue 4, Dezember 2010, Seiten 352-366. Cristina Colonnesia, Geert Jan J.M. Stamsa, Irene Kostera, Marc J. Noomb

Slide 22

Slide 22 text

Konzeptuelle Räume 25.11.2019 Graphen! 22 Geometrische Struktur, die Qualitätsdimensionen repräsentiert Punkte beschreiben Objekte Regionen beschreiben Konzepte Haut- farben Alle Farben

Slide 23

Slide 23 text

Wahrnehmung 25.11.2019 Graphen! 23 (Visuelle) Wahrnehmung funktioniert über Annäherungen «Wenn etwas aussieht wie eine Ente, läuft wie eine Ente und redet wie eine Ente, dann ist es eine Ente!» Multidimensionaler Aspekt von Daten: Dimensionales Denken  Räumliche Wahrnehmung

Slide 24

Slide 24 text

Leitprinzipien der modernen visuellen Kommunikation 25.11.2019 Graphen! 24 Domä- nennähe Kontext beschrei- ben Klare Sprache Räumlich denken Graph it! Angelehnt an: Graph Data Modeling for NoSQL and SQL, Thomas Friesendal

Slide 25

Slide 25 text

Architektur des Datenmodellierungssystems 25.11.2019 Graphen! 25 Extrahieren Teilmenge Erweitern Transformie ren Optimieren Business Concept Modell Solution Data Modell Physikalisches Modell Context maps Property Graphen Property Graphen, ER-Modelle Sehr nah an der Fachlichkeit Brainstorming Whiteboard, etc. Definition von Attributen Fokus auf Beziehungen Performanz Indizierung Eindeutigkeit

Slide 26

Slide 26 text

25.11.2019 Graphen! 26 Institution Zentrale Filiale(n) Vertrags- partner Adresse(n) Vertrags- teilnehmer Teilnehmer- typ Kontakt

Slide 27

Slide 27 text

25.11.2019 Graphen! 27 Institution Zentrale Filiale(n) Vertrags- partner Adresse(n) Vertrags- teilnehmer Teilnehmer- typ Kontakt besteht aus verwaltet IST identifiziert durch HAT/befindet sich an besteht aus HAT HAT definiert • Inhaber • Wirtschaftlich Berechtigter • Ansprechpartner • ... • Telefon • Mobil • Email • Fax • ... • Unternehmen • Organisation • Anstalt • ...

Slide 28

Slide 28 text

Property Graphen 25.11.2019 Graphen! 28 Property Graph Bezie- hungen Knoten Eigen- schaften (Proper- ties) enthält enthält organisieren können haben können haben

Slide 29

Slide 29 text

Property Graphen 25.11.2019 Graphen! 29 Bidirektionale 1:1-Beziehung Buch Cover hat/ bezieht sich auf Autor Buch schreibt Autor Enzy- klopä die trägt bei 1:M-Beziehung M:N-Beziehung

Slide 30

Slide 30 text

Property Graphen 25.11.2019 Graphen! 30 Normalisierung? Adresse(n) Adresstyp Gebäudename Hausnummer Hausnummer-Suffix Straßenname Himmelsrichtung PLZ Ort Ortsteil Regierungsbezirk Land

Slide 31

Slide 31 text

Normalform: Regel 1 25.11.2019 Graphen! 31 Eliminiere sich wiederholende Gruppen Für jede Menge von zugehörigen Attributen wird eine neuer Knoten erzeugt. Dieser Knoten enthält einen Primärschlüssel. Adresse(n) Adresstyp Gebäudename Hausnummer Hausnummer -Suffix Straßenname Himmelsrichtung PLZ Ort Ortsteil Regierungsbezirk Land

Slide 32

Slide 32 text

25.11.2019 Graphen! 32 Adresse Adresse Id Gebäudename Hausnummer Hausnummer-Suffix Adresstyp Anschrift Land Land Id Regierungsbezirk Land Typ Id Typname Anschrift Id Straßenname Himmelsrichtung PLZ Ort Ortsteil typisiert besteht aus befindet sich in/ hat

Slide 33

Slide 33 text

Normalform: Regel 2 25.11.2019 Graphen 33 Eliminiere redundante Daten Wenn ein Attribut nur von einem Teil eines zusammengesetzten Schlüssel abhängt, verschiebe es in einen neuen Knoten. Adresse Adresse Id Gebäudename Hausnummer Hausnummer-Suffix Adresstyp Anschrift Land Land Id Regierungsbezirk Land Typ Id Typname Anschrift Id Straßenname Himmelsrichtung PLZ Ort Ortsteil typisiert besteht aus befindet sich in/ hat

Slide 34

Slide 34 text

25.11.2019 Graphen! 34 Adresse Adresse Id Gebäudename Hausnummer Hausnummer-Suffix Adresstyp Straße Land Land Id Regierungsbezirk Land Typ Id Typname typisiert besteht aus Richtung Lokation Ortsteil Ort kann haben kann haben besitzt identifiziert Straße Id Name Richtung Id Richtung Ortsteil Id Ortsteil Ort Id Name befindet sich in Lokation Id PLZ

Slide 35

Slide 35 text

Normalform: Regel 3 25.11.2019 Graphen! 35 Eliminiere Spalten, die nicht von einem Schlüssel abhängen Attribute, die nichts zu der Beschreibung eines Schlüssels betragen, sollten in einen neuen Knoten verschoben werden. Adresse Adresse Id Gebäudename Hausnummer Hausnummer-Suffix Adresstyp Straße Land Land Id Regierungsbezirk Land Typ Id Typname typisiert besteht aus Richtung Lokation Ortsteil Ort kann haben kann haben besitzt identifiziert Straße Id Name Richtung Id Richtung Ortsteil Id Ortsteil Ort Id Name befindet sich in Lokation Id PLZ

Slide 36

Slide 36 text

25.11.2019 Graphen! 36 Adresse Adresse Id Gebäudename Hausnummer Hausnummer -Suffix Adresstyp Straße Regierungs- bezirk Land Id Land Typ Id Typname typisiert besteht aus Richtung Lokation Ortsteil Ort kann haben kann haben besitzt identifiziert Straße Id Name Richtung Id Richtung Ortsteil Id Ortsteil Ort Id Name kann sich befinden in Land Reg Id Regierungsbezirk befindet sich in kann sich befinden in Lokation Id PLZ

Slide 37

Slide 37 text

25.11.2019 Graphen! 37 Adresse Adresstyp Straße Regierungs- bezirk typisiert besteht aus Richtung Lokation Ortsteil Ort kann haben kann haben identifiziert kann sich befinden in Land befindet sich in kann sich befinden in besitzt

Slide 38

Slide 38 text

25.11.2019 Graphen! 38

Slide 39

Slide 39 text

Normalisierung: Weitere Regeln 25.11.2019 Graphen! 39 Regel 4: Isoliere unabhängige, multiple Beziehungen Kein Knoten sollte mehr als zwei 1:n oder n:m-Beziehungen, die keinen direkten Bezug zueinander haben, besitzen. Regel 5: Isoliere semantisch in Beziehung stehende Beziehungen

Slide 40

Slide 40 text

Projektbeispiel - Anforderungen 25.11.2019 Graphen! 40 Baubeschreibungen und Einrichtungshandbücher Zusammenführen in einer Anwendung Internationaler Kontext Definition eines Standards Landesspezifische Abweichungen vom Standard Strukturelle Zusammenstellung zu einem finalen Buch

Slide 41

Slide 41 text

Projektbeispiel - Anforderungen 25.11.2019 Graphen! 41 Land Region Gebäudetyp Umsatztyp Raumgruppe Raum Baugruppe Baumaterial Fabrikat Teilbereich Platzierungs- Warengruppe SAP- Warengruppe SAP- Untermaterial -gruppe SAP-Material

Slide 42

Slide 42 text

Projektbeispiel - Anforderungen 25.11.2019 Graphen! 42 Land Region Gebäudetyp Umsatztyp Raumgruppe Raum Baugruppe Baumaterial Fabrikat Teilbereich Platzierungs- Warengruppe SAP- Warengruppe SAP- Untermaterial -gruppe SAP-Material

Slide 43

Slide 43 text

Projektbeispiel: Fragestellungen 25.11.2019 Graphen! 43 • In welchen Räumen befindet sich Gegenstand Y? • Welche Baumaterialien sind für den Umsatztyp I vorgesehen? • In welchen Aufenthaltsräumen befindet sich ein Fernseher mit Satellitenanlage vom Typ A.B? • Welchen Ländern ist Material X zugeordnet? • Welche Texte befinden sich aktuell in Übersetzung? • Wie war Gebäude A in Land B am 11.12.2017 ausgestattet?

Slide 44

Slide 44 text

25.11.2019 44 Abbild auf relationale Struktur? Zwischen jede mögliche Hierarchiebeziehungsstufe eine m:n- Relation einführen Komplexität der Queries (Joins) zu hoch Performanz der Abfragen zu niedrig

Slide 45

Slide 45 text

Projektbeispiel: Technologie- und Architekturstack 25.11.2019 Graphen! 45 Buchverwaltung REST-API Logik Persistenz Repository Proxy Daten- modell Service Facade API Resource Spring-Data- Neo4j (OGM) Spring-core Spring- HATEOAS

Slide 46

Slide 46 text

Projektbeispiel: Solution Modell 25.11.2019 Graphen! 46 Vorlagen Abbilder Buchstruktur Deutschland Italien Nord Universität Kapitel 1 Kapitel 2 Kapitel 3

Slide 47

Slide 47 text

Projektbeispiel - Abstraktion 25.11.2019 Graphen! 47

Slide 48

Slide 48 text

adesso AG Stockholmer Allee 20 44269 Dortmund T +49 231 7000-7000 F +49 231 7000-1000 www.adesso.de Vielen Dank!