Informationsmanagement Übungsstunde 10 Univ.-Prof. Dr.-Ing. Wolfgang Maass Lehrstuhl für Betriebswirtschaftslehre, insb. Wirtschaftsinformatik im Dienstleistungsbereich (Information and Service Systems ISS) Universität des Saarlandes, Saarbrücken SS 2012 Donnerstags, 10:00 12:00 Uhr (s.t.) Audimax, B4 1
Übungsübersicht 11 Übungstermine & 11 Übungsblätter Managementsicht des Informationsmanagements Übung 1-03.05.2012 (Freischaltung Übungsblatt 1) Übung 2-10.05.2012 (Freischaltung Übungsblatt 2) Keine Übung - 17.05.2012 Übung 3-24.05.2012 (Freischaltung Übungsblatt 3) Übung 4-31.05.2012 (Freischaltung Übungsblatt 4) Keine Übung - 07.06.2012 (Freischaltung Übungsblatt 5) Datenmodellierung Übung 10-19.07.2012 (Freisch. Ü. 11) Übung 11-26.07.2012 Unternehmensarchitekturen Übung 5-14.06.2012 (Freischaltung Übungsblatt 6) Übung 6-21.06.2012 (Freischaltung Übungsblatt 7) Systemarchitekturen Übung 7-28.06.2012 (Freischaltung Übungsblatt 8) Übung 8-05.07.2012 (Freischaltung Übungsblatt 9) Übung 9-12.07.2012 (Freischaltung Übungsblatt 10) Slide 2
Organisation: Übung Abgabe der Lösungen der Übungsblätter: Erfolgt auf der Web Site LimeSurvey über Online-Formular Abgabe Lösungen Übungsblatt 11 à bit.ly/lryxz2 Abgabefrist Übungsblatt 11: Mittwoch, 25. Juli, 19 Uhr Slide 3
Lösung Übungsblatt 10 Slide 4
Lösung Übungsblatt 10 Aufgabe A (4 Punkte) Der Pay-TV-Anbieter Universe verfügt über ein großes Repertoire an Filmen, das den Abonnenten vor dem Fernseher gegen eine monatliche Pauschale zur Verfügung steht. Die Informationen zu den Filmen sind in einer Datenbank abgelegt, die zunehmend mehr Probleme generiert als Nutzen bringt. Die Daten stimmen nicht überein und immer wieder werden falsche Filminformationen an die Kunden übermittelt. Nun hat die Marketingabteilung Sie - als Verantwortlichen für das Informationsmanagement - angefragt, ob man das Problem nicht irgendwie lösen könnte. Zusammen mit Ihrem Team entscheiden Sie sich dafür, die Daten neu zu modellieren und somit die Datenbank frisch aufzusetzen. (Dieser Aufgabenblock bezieht sich auf die Vorlesungsinhalte zum Thema Datenmodellierung.) 1) Was versteht man unter Datenmodellierung und in welchen Phasen wird dabei vorgegangen? Erläutern Sie Ihre Antwort in 2-3 Sätzen. Datenmodellierung = Verfahren der Informatik zur formalen Abbildung der in einem definierten Kontext relevanten Objekte mittels ihrer Attribute und Beziehungen Ziel: eindeutige Definition und Spezifikation der in einem Informationssystem zu verwaltenden Objekte, ihrer erforderlichen Attribute und der Zusammenhänge zwischen den Informationsobjekten Vorteil: Überblick über die Datensicht des Informationssystems Ergebnis: Datenmodelle, die nach dem Durchlauf mehrerer Modellierungsstufen zu einsatzfähigen Datenbanken bzw. Datenbeständen führen Slide 5
Lösung Übungsblatt 10 Aufgabe A (4 Punkte) Der Pay-TV-Anbieter Universe verfügt über ein großes Repertoire an Filmen, das den Abonnenten vor dem Fernseher gegen eine monatliche Pauschale zur Verfügung steht. Die Informationen zu den Filmen sind in einer Datenbank abgelegt, die zunehmend mehr Probleme generiert als Nutzen bringt. Die Daten stimmen nicht überein und immer wieder werden falsche Filminformationen an die Kunden übermittelt. Nun hat die Marketingabteilung Sie - als Verantwortlichen für das Informationsmanagement - angefragt, ob man das Problem nicht irgendwie lösen könnte. Zusammen mit Ihrem Team entscheiden Sie sich dafür, die Daten neu zu modellieren und somit die Datenbank frisch aufzusetzen. (Dieser Aufgabenblock bezieht sich auf die Vorlesungsinhalte zum Thema Datenmodellierung.) 1) Was versteht man unter Datenmodellierung und in welchen Phasen wird dabei vorgegangen? Erläutern Sie Ihre Antwort in 2-3 Sätzen. Slide 6
Lösung Übungsblatt 10 Aufgabe A (4 Punkte) 2) Ihr Team startet mit der Datenmodellierung, es fällt das Wort Entity-Relationship-Modell (ERM). Ein Praktikant fragt erstaunt, was darunter zu verstehen ist. Sie erklären es ihm in 1-2 Sätzen. konzeptueller Entwurf im Rahmen der Datenmodellierung ERM - besteht aus Grafik ER-Diagramm (ERD) und textueller Beschreibung der darin verwendeten Elemente - behandelt das Was (Sachlogik) und nicht das Wie (Technik) - stellt Datenstrukturen vereinfacht dar -> erleichtert interdisziplinäre Arbeit am Datenbestand des Informationssystems -... erfasst Informationsobjekte der realen Welt (z.b. Angestellter, Projekte) und verbindet diese mittels Beziehungen (z.b. Angestellter leitet -Projekt) Slide 7
Lösung Übungsblatt 10 Aufgabe A (4 Punkte) 3) Ein Vertreter des Marketing erläutert kurz, worum es bei den Daten geht: Wir haben Filme, die natürlich einen Titel und eine Laufzeit haben. Zudem sind sie einer Kategorie zugeordnet, die einen Namen hat. In den Filmen spielen Schauspieler, die einen Vor- und einen Nachnamen haben. Skizzieren Sie das ERM in Chen-Notation für den aufgezeigten Sachverhalt in Form einer Grafik und laden Sie diese bitte über das Formblatt hoch. Slide 8
Lösung Übungsblatt 10 Aufgabe B (4 Punkte) Im Team haben Sie das ERM diskutiert und starten nun in die nächste Phase. Der Praktikant soll in den Prozess mit eingebunden werden und Vorschläge für die weitere Datenmodellierung liefern. (Dieser Aufgabenblock bezieht sich auf die Vorlesungsinhalte zum Thema Logischer Entwurf in der Datenmodellierung.) 1) Sie erklären ihm, dass in der Firma Universe ein relationales Datenbank-Management- System (DBMS) verwendet wird. Somit muss auch ein relationales Datenmodell entwickelt werden. Was versteht man unter einem DBMS und dem relationalen Datenmodell? Erklären Sie beide Begriffe in jeweils einem Satz. DBMS = Datenbank-Management-System = Set aus Komponenten zur Definierung, Erstellung und Verwaltung von Datenbanken Bekanntestes Datenbankmodell -> Relationales Datenbankmodell (Codd, 1983): Speicherung von Daten auf Basis von teilweise untereinander verknüpften Tabellen Slide 9
Lösung Übungsblatt 10 Aufgabe B (4 Punkte) 2) Der Praktikant hat auf Basis des ERM ein relationales Datenmodell entwickelt und stellt es im Meeting mit beispielhaften Daten vor (siehe Tabelle 1). Sie wissen um das Prinzip der Normalformen und erläutern, wo bei dem Datenmodell das Problem liegt. Was versteht man unter Normalisierung und warum ist Tabelle 1 nicht konform mit der 1. Normalform? Erläutern Sie dies in 3-4 Sätzen. Normalisierung eines relationalen Datenschemas = Aufteilung von Attributen (Tabellenspalten) in mehrere Relationen (Tabellen) gemäß den Normalisierungsregeln -> Redundanzen entfernen -> 4 Normalformen Vorgehen um relationales Datenschema in eine Normalform zu brinden -> fortschreitend Tabellen in einfachere Tabellen zerlegen bis keine weitere Zerlegung mehr möglich ist ohne Verlust von Daten Slide 10
Lösung Übungsblatt 10 Aufgabe B (4 Punkte) 2) Der Praktikant hat auf Basis des ERM ein relationales Datenmodell entwickelt und stellt es im Meeting mit beispielhaften Daten vor (siehe Tabelle 1). Sie wissen um das Prinzip der Normalformen und erläutern, wo bei dem Datenmodell das Problem liegt. Was versteht man unter Normalisierung und warum ist Tabelle 1 nicht konform mit der 1. Normalform? Erläutern Sie dies in 3-4 Sätzen. 1. Normalform (1NF): Jedes Attribut der Relation muss einen atomaren Wertebereich haben. Zusammengesetzte Wertebereiche sind nicht erlaubt Ziel: kein Attributwertebereich kann in weitere (sinnvolle) Teilbereiche aufgespalten werden, z.b. Adresse wird aufgeteilt in PLZ, Ort, Straße, Hausnummer Nutzen: Abfragen der Datenbank werden erleichtert bzw. überhaupt erst ermöglicht, da die Attributwertebereiche atomar sind; Felder, die einen ganzen Text aus Vorname und Nachname enthalten, kann man nicht nach dem Nachnamen sortieren Slide 11
Lösung Übungsblatt 10 Aufgabe B (4 Punkte) 2) Der Praktikant hat auf Basis des ERM ein relationales Datenmodell entwickelt und stellt es im Meeting mit beispielhaften Daten vor (siehe Tabelle 1). Sie wissen um das Prinzip der Normalformen und erläutern, wo bei dem Datenmodell das Problem liegt. Was versteht man unter Normalisierung und warum ist Tabelle 1 nicht konform mit der 1. Normalform? Erläutern Sie dies in 3-4 Sätzen. Tabelle in 1NF Slide 12
Lösung Übungsblatt 10 Aufgabe B (4 Punkte) 3) Auf Basis Ihrer Anmerkungen hat der Praktikant das Datenmodell überarbeitet (siehe Tabelle 2). Warum ist das Resultat nicht konform mit der 2. Normalform? Erläutern Sie dies in 3-4 Sätzen. 2. Normalform (2NF): Eine Relation ist in der zweiten Normalform, wenn die erste Normalform vorliegt und kein Nichtschlüsselattribut funktional abhängig von einer echten Teilmenge eines Schlüsselkandidaten ist. Jedes Nichtschlüsselattribut ist von der Gesamtheit des Schlüssels abhängig (nicht nur von einem Teil des Schlüssels) Ziel: jede Tabelle modelliert nur einen thematischen Zusammenhang Nutzen: Redundanz und damit Gefahr von Inkonsistenzen wird reduziert, da sich nur noch logisch/sachlich zusammengehörige Information in einer Tabelle befindet Slide 13
Lösung Übungsblatt 10 Aufgabe B (4 Punkte) 3) Auf Basis Ihrer Anmerkungen hat der Praktikant das Datenmodell überarbeitet (siehe Tabelle 2). Warum ist das Resultat nicht konform mit der 2. Normalform? Erläutern Sie dies in 3-4 Sätzen. Tabelle in 2NF Tabelle Film Tabelle Schauspieler Tabelle Kategorie Slide 14
Lösung Übungsblatt 10 Aufgabe C (4 Punkte) Sie besprechen die Fortschritte bei der Datenbankentwicklung mit einem Kollegen und erklären ihm, dass Sie eigentlich gern noch Statistiken hinsichtlich der Anfrage bestimmter Filme durch die Anwender speichern und verarbeiten möchten. (Dieser Aufgabenblock bezieht sich auf die Vorlesungsinhalte zum Thema Alternative Ansätze.) 1) Der Kollege erzählt Ihnen in dem Zusammenhang von NoSQL. Was versteht man darunter? Erläutern Sie dies in einem Satz. NoSQL = not only SQL (SQL = Sprache zur Definition, Abfrage und Manipulation von relationalen Datenbanken) -> Datenbanken, die einen nicht-relationalen Ansatz verfolgen Slide 15
Lösung Übungsblatt 10 Aufgabe C (4 Punkte) 2) Er meint zudem, dass NoSQL bei der Speicherung der Statistiken Vorteile bieten würde. Welche Merkmale charakterisieren NoSQL? Erläutern Sie dies in 1-2 Sätzen. kein festgelegtes Datenbankschema Nicht relational Kann mit vielen Schreib-/Leseanfragen umgehen Schwache Garantien hinsichtlich Konsistenz oder auf einzelne Datensätze eingeschränkte Transaktionen Unterstützung von verteilten Datenbanken mit redundanter Datenhaltung auf vielen Servern -> Systeme können einfach skalieren und Ausfälle einzelner Server überstehen Slide 16
Aufgabe C (4 Punkte) Lösung Übungsblatt 10 3) Bei der Verarbeitung der Statistiken könnte man überlegen, ob man den MapReduce-Ansatz nutzt, meint er. Welche Vorteile bietet der Ansatz und aus welchen Teilschritten besteht er? Erläutern Sie dies in 3-4 Sätzen. MapReduce = von Google eingeführtes Framework für nebenläufige Berechnungen über große Datenmengen auf Computerclustern - Für große Datenmengen - Für Datenverarbeitung ohne viel Synchronisation - Keine komplexen Rechenoperationen 1 Daten in Arbeitspakete aufteilen 2 Arbeitspakete an die Knoten verteilen 3 Map: Jeder Knoten wendet die Arbeitslogik auf sein eigenes Arbeitspaket an - Ergebnis: Liste aus Schlüssel/Wert- Paaren mit z.t. Schlüssel-Duplikaten 4 Reduce: Zueinander gehörende Teilergebnisse (gleicher Schlüssel) werden aggregiert - Ergebnis: Liste aus Schlüssel/Wert-Paaren mit einzigartigen Schlüsseln 5 Weitere Zusammenführung zu Endergebnis Slide 17
Modellierung von semantischen Datenrepräsentationen mit Hilfe von Protégé Slide 18
Abstrakte Repräsentationsstufen Stufe 1: Textdokumente und Datenbankeinträge Daten sind anwendungsbezogen (proprietär) Semantik in den jeweiligen Anwendungen, nicht in den Daten, z.b. Datenbestand bei Ebay Stufe 2: XML-Dokumente mit einheitlichem Vokabular In bestimmter Domäne erreichen Daten Unabhängigkeit von der Anwendung -> Austausch zwischen Anwendungen möglich, z.b. Dublin-Core Bibliografien XML Dokumente Taxonomien (XML) Stufe 3: XML-Taxonomien und Dokumente mit unterschiedlichem Vokabular Daten stammen aus unterschiedlichen Domänen und werden durch hierarchisch strukturierte Taxonomien klassifiziert Einfache Beziehungen zwischen den einzelnen Kategorien dienen der Kombination von Daten Ontologien (XML) Stufe 4: XML-Ontologien und automatisches Schlussfolgern Neue Daten können aus bestehenden Daten gewonnen werden durch die Anwendung von Schlussfolgerungsregeln Daten, Eigenschaften von Daten und Beziehungen zwischen Daten lassen sich semantisch beschreiben (Bildquelle: wikipedia.de) z.b. Goldwespen sind Taillenwespen sind Insekten Slide 19
Web Ontology Language (OWL) Was ist OWL? Akronym für Web Ontology Language Formale Beschreibungssprache für Ontologien Durch XML-Notation mensch- und maschinenverarbeitbar Vergleich zu RDF(S): OWL basiert auf dem RDF Syntax, aber spezialisiert darüber hinaus Ausdrucksmöglichkeiten von OWL gehen über RDF(S) hinaus -> zusätzliche Operatoren hinzugefügt, z.b. Kardinalitäten, Quantoren rdfs:class owl:class rdfs:resource rdfs:property owl:objectproperty owl:datatypeproperty Slide 20
Protégé Editor Slide 21
OWL Beispiel UniversityPeople.owl!!! <?xml version="1.0"?>! <rdf:rdf! xmlns:owl="http://www.w3.org/2002/07/owl#"! [...]! xml:base="http://uds/universitypeople">! <owl:ontology rdf:about="">! <rdfs:comment xml:lang="de">a simple example ontology </rdfs:comment>! </owl:ontology>! <owl:class rdf:id="person">! <owl:disjointwith>! <owl:class rdf:id="course"/>! </owl:disjointwith>! <rdfs:subclassof>! <owl:restriction>! <owl:cardinality rdf:datatype= "http://www.w3.org/2001/xmlschema#int >1</owl:cardinality>! <owl:onproperty>! <owl:datatypeproperty rdf:id="age"/>! </owl:onproperty>! </owl:restriction>! </rdfs:subclassof>! <rdfs:subclassof rdf:resource= "http://www.w3.org/2002/07/owl#thing"/>! </owl:class>! <owl:class rdf:about="#course">! [...]! </owl:class>! <owl:class rdf:id="student">! <owl:disjointwith>! <owl:class rdf:id="professor"/>! </owl:disjointwith>! >true</protege:subclassesdisjoint>! <rdfs:subclassof>! <owl:restriction>! <owl:onproperty>! <owl:objectproperty rdf:id="attends"/>! </owl:onproperty>! <owl:mincardinality rdf:datatype= "http://www.w3.org/2001/xmlschema#int">1</owl:mincardinality>! </owl:restriction>! </rdfs:subclassof>! <rdfs:subclassof>! <owl:restriction>! <owl:somevaluesfrom rdf:resource="#course"/>! <owl:onproperty>! <owl:objectproperty rdf:about="#attends"/>! </owl:onproperty>! </owl:restriction>! </rdfs:subclassof>! <rdfs:subclassof rdf:resource="#person"/>! </owl:class>! [...]! <owl:class rdf:about="#professor">! <rdfs:subclassof rdf:resource="#person"/>! <owl:disjointwith rdf:resource="#student"/>! </owl:class>! <owl:objectproperty rdf:about="#attends">! <rdfs:range rdf:resource="#course"/>! <owl:inverseof>! <owl:objectproperty rdf:id="is_attended_by"/>! </owl:inverseof>! <rdfs:domain rdf:resource="#student"/>! </owl:objectproperty>! <owl:objectproperty rdf:about="#is_attended_by">! <owl:inverseof rdf:resource="#attends"/>! <rdfs:range rdf:resource="#student"/>! <rdfs:domain rdf:resource="#course"/>! </owl:objectproperty>! <owl:datatypeproperty rdf:about="#name">! <rdfs:domain>! <owl:class>! <owl:unionof rdf:parsetype="collection">! <owl:class rdf:about="#course"/>! <owl:class rdf:about="#person"/>! </owl:unionof>! </owl:class>! </rdfs:domain>! <rdfs:range rdf:resource= "http://www.w3.org/2001/xmlschema#string"/>! </owl:datatypeproperty>! <owl:datatypeproperty rdf:about="#age">! <rdfs:range rdf:resource= "http://www.w3.org/2001/xmlschema#int"/>! <rdfs:domain rdf:resource="#person"/>! </owl:datatypeproperty>! </rdf:rdf>!! Slide 22
Arbeit mit semantischen Datenrepräsentationen Öffnen der owl-datei mit Protégé 3.4.8 Eintragen des Kürzels für unseren Namespace à uds Slide 23
Arbeit mit semantischen Datenrepräsentationen Unter Reiter OWL-Classes sind alle Klassen zu finden, sowie deren Datentypen und Properties Umstellen der Ansicht auf Properties im Reiter OWL Classes Slide 24
Arbeit mit semantischen Datenrepräsentationen Hinzufügen des Datentyps title bei der Klasse Professor Slide 25
Arbeit mit semantischen Datenrepräsentationen Hinzufügen der Property holds bei der Klasse Professor mit Bezug auf die Klasse Course Hinzufügen der inversen Property isheldby Slide 26
Arbeit mit semantischen Datenrepräsentationen Hinzufügen der inversen Property isheldby Slide 27
Arbeit mit semantischen Datenrepräsentationen Klasse Professor mit neuem Datentyp und Property Slide 28
Arbeit mit semantischen Datenrepräsentationen Reiter Individuals Hinzufügen einer neuen Instanz der Klasse Professor à John Nash Slide 29
Arbeit mit semantischen Datenrepräsentationen Reiter Individuals Hinzufügen einer neuen Instanz der Klasse Course à Game Theory Der Kurs wird gehalten von John Nash Slide 30
Arbeit mit semantischen Datenrepräsentationen Reiter Individuals Blick in die Instanz John Nash zeigt, dass über die inverse Property die Verbindung zur Kursinstanz automatisch hergestellt wird Slide 31
Arbeit mit semantischen Datenrepräsentationen Reiter Individuals Instanz John Nash hält noch einen weiteren Kurs à Hinzufügen der bestehenden Instanz Information Management Slide 32
Arbeit mit semantischen Datenrepräsentationen Öffnen des SPARQL-Query Panels über Reasoning > Open SPARQL Query Panel Gib mir alle Instanzen, die über die Property isheldby verbunden sind à gib mir alle Kurse, die gehalten werden Slide 33
Arbeit mit semantischen Datenrepräsentationen Variablen können beliebig benannt werden Gib mir alle Studenten, die den Kurs Information Management besuchen Slide 34
Übungsübersicht 11 Übungstermine & 11 Übungsblätter Managementsicht des Informationsmanagements Übung 1-03.05.2012 (Freischaltung Übungsblatt 1) Übung 2-10.05.2012 (Freischaltung Übungsblatt 2) Keine Übung - 17.05.2012 Übung 3-24.05.2012 (Freischaltung Übungsblatt 3) Übung 4-31.05.2012 (Freischaltung Übungsblatt 4) Keine Übung - 07.06.2012 (Freischaltung Übungsblatt 5) Datenmodellierung Übung 10-19.07.2012 (Freisch. Ü. 11) Übung 11-26.07.2012 Unternehmensarchitekturen Übung 5-14.06.2012 (Freischaltung Übungsblatt 6) Übung 6-21.06.2012 (Freischaltung Übungsblatt 7) Systemarchitekturen Übung 7-28.06.2012 (Freischaltung Übungsblatt 8) Übung 8-05.07.2012 (Freischaltung Übungsblatt 9) Übung 9-12.07.2012 (Freischaltung Übungsblatt 10) Slide 35
Univ.-Prof. Dr.-Ing. Wolfgang Maass Lehrstuhl für Betriebswirtschaftslehre, insb. Wirtschaftsinformatik im Dienstleistungsbereich (Information and Service Systems ISS) Universität des Saarlandes, Saarbrücken Univ.-Prof. Dr.-Ing. Wolfgang Maass