Informatische Modellierung

Ähnliche Dokumente
4 Grundlagen der Datenbankentwicklung

Das konzeptionelle Datenmodell

ER-Modell. Entity-Relationship-Model

Inhaltsverzeichnis. 1. Fragestellung

Rückblick: Entity-Relationship-Modell

Modellbildung bei Datenbanken, das Entity Relationship Modell (ERM)

D1: Relationale Datenstrukturen (14)

Relationale Datenbanken Datenbankgrundlagen

Kapitel 1: Einführung 1.1 Datenbanken?

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Aufgabe 1) Übung 4: 1.2

Kapitel 3: Datenbanksysteme

Rückblick: Datenbankentwurf

3. Relationales Modell

IT-Kompaktkurs. Datenbanken Skript zur Folge 5. Prof. Dr. Georg Herde Fachhochschule Deggendorf

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Datenmodelle. Einführung in das Entity-Relationship-Modell. Datenbankmodelle. Beispiel für ein ER-Schema. Kunde( Meier, , ) 41, Meier

Kapitel DB:IV (Fortsetzung)

Inhalt. 2.1 Datenbankentwurf. 2.2 Relationales Modell. 2.3 Relationale Entwurfstheorie. 2.4 Relationale Algebra. 2.5 Structured Query Language (SQL)

Vorlesung Datenbank-Entwurf Klausur

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2

Informatik II: Modellierung Prof. Dr. Martin Glinz. Kapitel 2. Datenmodellierung. Universität Zürich Institut für Informatik

3. Grundlagen relationaler Datenbanksysteme

Einführung in Datenbanken. Definition einer Datenbank. Es gibt verschiedene Definitionen für eine Datenbank. Zwei Beispiele werden hier aufgeführt:

Übungen Teil 1: ER-Modelle. Dozent: Stefan Maihack Dipl. Ing. (FH)

Wirtschaftsinformatik 2

Kapitel 3: Entity-Relationship-Modell

7. Übung - Datenbanken

Inf 12 Übungsarbeit Lösungen /pl

Christian-Weise-Gymnasium Zittau Fachbereich Informatik M. Hans. Datenmodellierung 1. Inhaltsverzeichnis

Theorie zur Übung 8 Datenbanken

Informatik 10 Mar Datenbanken: RDM Normalisierung April 2014

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

3. Das Relationale Datenmodell

Der Tabellenname wird in Grossbuchstaben geschrieben.

Daten Bank. 2. Vorlesung. Dr. Karsten Tolle PRG2 SS 2014

Introduction to Data and Knowledge Engineering Übung 1: Entity Relationship Model

Erstellen von relationalen Datenbanken mit Hilfe der Nomalisierung

10 Datenbanksysteme Datenbanken und Datenbanksysteme

Handout zur Unit Datenmodellierung Web-Technologien Datenmodellierung Prof. Dr. rer. nat. Nane Kratzke

Fundamentals of Software Engineering 1

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Redundanz: Dieselben Informationen werden doppelt gespeichert.

Datenbanken: Relationales Datenbankmodell RDM

2. Datenmodellierung mit ERM. Motivation für Datenmodellierung. Begriffsklärung. Kardinalität/Komplexität von Beziehungstypen

Datenbanksysteme I, SS 2004

HM I Tutorium 1. Lucas Kunz. 27. Oktober 2016

Datenbanken. Einführung

Objektorientierte Modellierung (1)

Microsoft Access 2010 SQL nutzen

Logischer Entwurf von Datenbanken

Entwurf von Datenbanken

Datenbanken und Datenmodellierung

Software-Engineering Einführung

Datenbanksysteme Teil 3 Indizes und Normalisierung. Stefan Maihack Dipl. Ing. (FH) Datum:

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

Datenbankentwurf. Entwicklungsprozess Anforderungsanalyse & Miniwelt

10. Datenbank Design 1

Software-Engineering

Informatische Modellbildung

Klausur zur Veranstaltung "Wirtschaftsinformatik I" Wintersemester 2007/2008

Datenbanken Unit 3: Das relationale Modell

EDV-GESTÜTZTES ENTWERFEN, BERECHNEN UND KONSTRUIEREN IM BAUINGENIEURWESEN Prof. Dr.-Ing. Klaus Wassermann MODULPRÜFUNG

LB 5: Astronomische Beobachtungen

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

Microsoft Access Abfragen: Informationen anzeigen und sortieren

3. Übung. Einführung MS Access. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Relationales Datenmodell

Datenbanken: ER-Modell

Datenorganisation: (Daten)Datei versus Datenbank

Als logisches Datenmodell wird hier das Relationenmodell vorgestellt, das heute den Standard für relationale Datenbanken darstellt.

Beziehungen zwischen Klassen

Datenbanken. Erstellen des Semantischen Modells. Manuel Friedrich. Schiller-Gymnasium Hof

Schulung FRBR Functional Requirements for Bibliographic Records

-02- Arbeitsunterlagen

Datenbanken mit Microsoft Access. Literatur & Quellen. Daten organisieren. Ein Ort für alle Dinge. Access 2007 Grundlagen für Anwender

INFI-Projekt Datenbanksysteme. Namen:...Andreas Bachofner, Patrick Horvath. Klasse:...2AHWIL Jahrgang:. 2. Abgabetermin:... Note:...

1 4. Datenmodellierung mit der Unified Modeling Language (UML)

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

Arbeiten mit ACCESS 2013

Prüfung Informatik für Ökonomen II. 14. Januar Teil 1: Datenbanktechnik Musterlösungen

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Einteilung von Datenbanken

Übung zur Vorlesung im Sommersemester 2009

Fachbereich Informatik Praktikum 1

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

ER-Modell. Das Relationenmodell

Datenbankdesign und -analyse mit MySQL

Definition Informationssystem

2. Symmetrische Gruppen

Grundlagen von Datenbanken SS 2010

Informatik II Datenorganisation Datenbanken

E-R-Modell zu Relationenschema

TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung

Einführung in SQL und MySQL

Transkript:

Informatische Modellierung Der Modellbegriff Ein Datenbanksystem verwaltet Daten einer realen oder gedanklichen Anwendungswelt. Diese Daten gehen aus Informationen hervor, die stets aus den Sachverhalten und Vorgängen dieser Anwendungswelt durch Modellbildung (gedankliche Abstraktion) gewonnen werden. Sie beziehen sich nur auf solche Aspekte des betrachteten Weltausschnitts, die für den Zweck der Anwendung relevant sind. Ein solcher Weltausschnitt wird auch als Miniwelt bezeichnet. Die durch Abstraktion gewonnene Nachbildung der Miniwelt bezeichnet man als Modell. Ein Modell ist eine Nachbildung oder Beschreibung eines Teils der Welt für einen bestimmten Zweck (Fragestellung, Zeitpunkt, Zielgruppe), bei der eine Vereinfachung und Verallgemeinerung (Abstraktion) vorgenommen wird. Die Herstellung (Konstruktion) eines Modells nennt man Modellbildung. Die Definition lässt unterschiedliche Formen von Modellen zu. Üblicherweise unterscheidet man qualitative (verbale Beschreibungen, Grafiken), physische (Schiffsmodelle, elektrische Eisenbahnen) und formale Modelle. Zu letzteren zählen die Modelle der Mathematik und Informatik. Formale Modelle sind immer auf einer mathematischen Theorie aufgebaut und eindeutig. Bei der Beurteilung von Modellen gibt es kein Richtig oder Falsch, sondern ein Brauchbar oder Unbrauchbar. In vielen Bereichen, auch der Mathematik, ist es geradezu sinnlos nach der Richtigkeit eines Modells zu fragen. Was man normalerweise nur fordert ist die Widerspruchsfreiheit. Die Frage der Brauchbarkeit eines Modells ist immer auch vom Zweck abhängig. So ist z. B. das Bohr sche Atommodell nicht falscher als das wellenmechanische Atommodell. Für die Probleme der organischen Chemie ist aber das Bohr sche Atommodell weniger brauchbar. Modellbildung bei der Entwicklung von Datenbanksystemen Das 1976 von Peter Chen vorgestellte Entity-Relationship-Modell (kurz: ER-Modell oder ERM) 1 ist bei der Entwicklung eines Datenbanksystems oft der erste Modellbildungsschritt. Wie der Name bereits andeutet unterscheidet das ER-Modell Objekte (Entities) mit bestimmten Attributen (Eigenschaften) und Beziehungen (Relationships). Es ist daher vor allem geeignet, um Sachverhalte zu modellieren, nicht aber um Vorgänge abzubilden. Objekte Der erste Schritt bei der Datenbankentwicklung ist die Festlegung der Gegenstände, Sachverhalte, Personen usw. (zusammengefasst: Elemente) der Miniwelt, die als Objekte abgebildet werden sollen. Ein Objekt bildet ein eindeutig identifizierbares Element der Miniwelt ab, das kann beispielsweise sein: eine natürliche oder juristische Person (Karl Meier, Bundesbahn,... ); einen Gegenstand (Kinderfahrrad der Marke Puky, ALDI Volkscomputer,... ); immaterielle Dinge und Sachverhalte (Nichtversetzung von Karl,... ). Alle gleichartigen Objekte können unter einem gemeinsamen Oberbegriff, dem Objekttyp zusammengefasst werden. 1 Chen, P. P.-S.: The Entity-Relationship Model Toward a Unified View of Data. In: ACM Transactions on Database Systems 1 (1), März 1976, S. 9-36. 1

Miniwelt Gegenstände Zusammenhänge Tatsachen Informationen Eigenschaften Personen Sachverhalte Vorgänge Veränderungen Formalisierung Informationsmodell Beziehungen Objekte Attribute Abbildung 1: Modellbildung mit dem ER-Modell Im Rahmen der Schule (als Miniwelt) wird man z. B. die Objekttypen SchülerIn und LehrerIn identifizieren können. Claudia Meier ist dann eine konkrete Ausprägung des Objekttyps SchülerIn. Bei der Auswahl der Objekttypen ist es wichtig darauf zu achten, dass diese nicht zu allgemein gefasst werden. So wäre es denkbar SchülerInnen und LehrerInnen unter dem gemeinsamen Objekttyp Mensch zusammenzufassen. Doch für die Charakterisierung von LehrerInnen sind in dieser Miniwelt andere Eigenschaften wichtig, als bei SchülerInnen. Bei LehrerInnen wären z. B. die Wochenarbeitszeit und die Unterrichtsfächer wichtige Eigenschaften, für SchülerInnen aber eher das Eintrittsdatum in die Oberstufe oder dergleichen. Im ER-Modell werden Objekttypen als Rechtecke dargestellt. Die Bezeichnung eines Objekttyps wird in das Rechteck geschrieben. Attribute Über alle Elemente der Miniwelt lassen sich Aussagen machen. Alle SchülerInnen haben z. B. einen Familiennamen und einen Vornamen. Derartige Eigenschaften nennt man Attribute, die bei einem bestimmten Objekt auftretenden Werte Attributwerte. Mit den Attributen und ihren Werten kann man ein bestimmtes Objekt durch Festhalten seiner Eigenschaften beschreiben (charakterisieren) von anderen Objekten unterscheiden (identifizieren). Mit dem Wissen über Attribute kann man auch den Begriff Objekttyp noch genauer definieren: Ein Objekttyp ist der Oberbegriff für eine Menge von Objekten des Informationsmodells, die die gleichen Attribute besitzen. Jeder Objekttyp erhält einen für das Informationsmodell eindeutigen Namen (Bezeichnung). 2

Ein Attribut kann für jedes Objekt höchstens einen Wert besitzen, der der zugehörigen Objekteigenschaft entspricht. Der Wert der Attributes Vorname beim Objekt Karl Meier kann nicht gleichzeitig Karl und Heinz sein. Natürlich könnte der Wert des Attributs Vorname bei einem Objekt Karl-Heinz sein. Ein Wert ergibt nur zusammen mit seinem Attribut eine eindeutige Aussage über eine Objekteigenschaft. Martin kann der Wert des Attributs Vorname von Martin Müller sein, aber auch der Wert des Attributs Nachname bei Michael Martin. Ein Attribut kann für ein Objekt zu einem bestimmten Zeitpunkt keinen Wert besitzen, z. B. weil er im Augenblick nicht bekannt ist. Zuerst werden für jedes Objekt der Miniwelt die relevanten Eigenschaften gesammelt und erfasst. Was relevant ist, entscheiden die AnwenderInnen aufgrund ihrer Informationsanforderungen. Objekte mit gleichen bzw. weitgehend gleichen Eigenschaften werden im Informationsmodell zu einem Objekttyp abstrahiert. Die Schuhgröße wird man bei Objekten vom Typ SchülerIn sicherlich nicht benötigen, sie gehört damit nicht zur Miniwelt. Jeder Eigenschaft muss innerhalb des Objekttyps ein eindeutiger Name zugeordnet werden, z. B. Adresse für die Anschrift von SchülerInnen. Die gefundenen Attribute müssen auf Zerlegbarkeit und Ersatz eines einzelnen Attributs durch mehrere Attribute überprüft werden. Das Attribut Adresse könnte man zerlegen in die Attribute Postleitzahl, Ort, Straße und Hausnummer. Die Zerlegung des Attributs Adresse ist willkürlich und hängt von den Erfordernissen der AnwenderInnen ab. Wer z. B. Massendrucksachen an seine Objekte versenden will, der benötigt die Trennung von Ort und Postleitzahl um das Porto zu senken. In diesem Zusammenhang kann es sogar sinnvoll sein das Attribut Postleitzahl weiter zu zerlegen. Im ER-Modell werden Attribute als Kreise dargestellt, die mit dem Objekttyp (oder dem Beziehungstyp, s. u.), zu dem sie gehören, über eine Linie verbunden werden. Die Bezeichnung eines Attributs wird in den Kreis geschrieben. Beziehungen Die Elemente der Miniwelt stehen zumeist in vielfältigen Abhängigkeiten und Beziehungen zueinander. Bei diesen Beziehungen kann man drei Typen unterscheiden: 1:1 Beziehungen: Hier steht ein Objekt mit genau einem Objekt in Beziehung. Ein typisches Beispiel hierfür wäre die Beziehung verheiratet. Hier steht ein Objekt des Typs Mensch mit einem anderen Objekt des Typs Mensch in Beziehung. 1:N Beziehung: Ein Beispiel für eine derartige Beziehung wäre TutorIn. Ein Objekt des Typs LehrerIn kann mehrere Elemente des Typs SchülerIn als Tutanden haben, aber Schülerinnen haben nicht mehrere TutorInnen. M:N Beziehung: SchülerInnen werden von mehreren (M) LehrerInnen unterrichtet. LehrerInnen unterrichten aber auch mehrere (N) SchülerInnen. Die Beziehung unterrichtet ist also eine M:N Beziehung. Genau wie bei Objekten werden auch alle gleichartigen Beziehungen zu einem Beziehungstypen zusammengefasst. Beziehungstypen können auch Attribute haben, beispielsweise könnte der Beziehungstyp unterrichtet das Attribut Fach haben, das angibt in welchem Fach SchülerInnen von LehrerInnen unterrichtet werden. 3

Im ER-Modell werden Beziehungstypen als Rauten dargestellt, die mit den Objekttypen, die sie in Beziehung setzen, über eine Linie verbunden werden. Die Bezeichnung eines Beziehungstyps wird in den Kreis geschrieben. SchülerIn M unterrichtet N LehrerIn E. OS Fach WAZ Abbildung 2: Symbole des ER-Modells Relationale Datenbanken Um Daten in einer Datenbank speichern zu können, muss das Informationsmodell in ein Datenmodell überführt werden. Dies ist ein weiterer Modellierungsschritt bei der Datenbankentwicklung. Prinzipiell kann man sich verschiedene Datenmodelle vorstellen. Von praktischer Relevanz ist heutzutage aber nur das relationale Datenmodell, denn die Grundlage praktisch aller größeren (betrieblichen) Informationssysteme sind relationale Datenbankmanagementsysteme (RDMS). Zu ihnen gehören beispielsweise Oracle, IBM DB2, MySQL und Microsoft Access. Das relationale Datenmodell Im relationalen Datenmodell werden alle Daten in Tabellen (Relationen) gespeichert. Jede Tabelle hat dabei die folgenden Eigenschaften: Sie ist zweidimensional; die Spalten der Tabelle entsprechen den Attributen; die Anordnung der Spalten ist beliebig; die Zeilen entsprechen den Objekten; die Anordnung der Zeilen ist beliebig. Hier ein kleines Beispiel: NAME ANSCHRIFT JAHRGANG Claudia Müller Parkstraße 11 11 Karl Meier Schlossallee 1 7 Michael Marting Badstraße 3 9......... Tabelle 1: Relation für den Objekttyp SchülerInnen Mathematisch gesehen ist eine Tabelle eine Menge. Daher können niemals zwei Zeilen einer Tabelle völlig identisch sein. In der Praxis sind oft schon eine oder zwei Spalten ausreichend, jede Zeile eindeutig zu identifizieren (im obigen Beispiel der Name). Die Attribute (Spalten) die für sich genommen ausreichen, um jede Zeile eindeutig zu identifizieren, nennt man Primärschlüssel. Primärschlüssel werden benötigt, um Beziehungen zwischen Tabellen herzustellen; daher sind sie wichtig. Findet man im Informationsmodell keine geeigneten Attribute (etwa weil es ja immer vorkommen kann, dass zwei SchülerInnen den gleichen Namen haben), wird ein künstlicher Primmärschlüssel eingeführt. Daher kommen die heute so verbreiteten Kundennummern, Bestellnummern etc. 4

Vom ER-Modell zum relationalen Datenmodell Ein ER-Modell kann man (relativ) leicht auf ein relationales Datenmodell abbilden. Dazu kann man die folgenden Schritte anwenden: 1. Jeder Objekttyp wird zu einer Tabelle mit den entsprechenden Attributen. 2. Für 1:1- und 1:N-Beziehungen wird der Primärschlüssel des Objekttyps auf einer bzw. der 1 -Seite als zusätzliche Spalte(n) (sog. Fremdschlüssel) in die Tabelle des Objekttyps auf der anderen Seite aufgenommen. Eventuell vorhandene Attribute des Beziehungstyps werden ebenfalls dort mit aufgenommen. 3. Für M:N-Beziehungen wird eine eigene Tabelle erstellt, die die Primärschlüssel beider verbundenen Objekttypen sowie die eventuell vorhandenen Attribute des Beziehungstyps enthalten. Das so entstehende Datenmodell ist für kleinere Anwendungsfälle meist schon ganz gut brauchbar. Für größere Informationssysteme wird aber meistens eine weitere Optimierung erforderlich sein. Diese Optimierung erfordert genaue Kenntnisse über die Art und Weise, wie Anwendungsprogramme auf das Datenbanksystem zugreifen werden, und setzt Erfahrung in der Datenbankprogrammierung voraus. Dazu ein kleines Beispiel: Für das bereits bekannte Informationsmodell SchülerIn M unterrichtet N LehrerIn E. OS Fach WAZ kann man ein relationales Datenmodell wie folgt erstellen: 1. Zunächst erstellt man Tabellen für die Objekttypen SchülerInnen und LehrerInnen. Dabei werden gleich zwei künstliche Primärschlüssel mit aufgenommen, die wir für die Beziehung unterrichtet brauchen werden. SchülerInnen S# NAME ANSCHRIFT JAHRGANG E. OS 1 Claudia Müller Parkstraße 11 11 2004 2 Karl Meier Schlossallee 1 13 2002 3 Michael Marting Badstraße 3 9............... LehrerInnen L# NAME ANSCHRIFT WAZ FÄCHER 1 Sigmund Schulze Opernplatz 178 20 Musik, Deutsch 2 Rosalind Schmidt Rathausmarkt 1 46,5 Mathe, Physik 3 Hein Heuer Hafenstraße 3 46,5 Kunst, Geographie............... 5

2. Nun müssen wir noch die unterrichtet-beziehung abbilden. Weil unterrichtet eine M:N-Beziehung ist, erstellen wir eine weitere Tabelle, die die Primärschlüssel von SchülerInnen und LehrerInnen sowie das Attribut Fach als Spalten hat. unterrichtet S# L# FACH 1 2 Physik 1 2 Mathe 1 1 Deutsch 2 2 Physik 2 3 Kunst 3 1 Musik......... Aufgabe 1. Lies den vorstehenden Text sorgfältig. Mache dir Notizen, wenn du etwas nicht verstehst. Du wirst Gelegenheit haben, Verständnisfragen zu stellen. 2. Genauso wie es möglich ist, von einem ER-Modell zu einem relationalen Datenmodell zu kommen (siehe Text), kann man aus gegebenen Tabellen das zu Grunde liegende ER- Modell finden. Rekonstruiere das ER-Modell der Webvideo-Datenbank, mit der wir in den letzten beiden Wochen gearbeitet. Die Tabellenstruktur der Datenbank findest du im Bereich Geschäftsleitung. 6