· entwurf logischer entwurf physischer entwurf hardware/bs-eigenschaften dbms-eigenschaften seite...
TRANSCRIPT
�������������� ���� ��������
Seite 18
��������������� ������������� �Datenorientierter Ansatz� Welche Daten müssen im System verwaltet werden?
� Wie werden die Daten im System verändert?
Datenbankentwurfsschritte
Informations-anforderungen
Datenverarbeitungs-anforderungen
Anforderungs-analyse
KonzeptionellerEntwurf
LogischerEntwurf
PhysischerEntwurf
Hardware/BS-Eigenschaften
DBMS-Eigenschaften
�������������� ���� ��������
Seite 19
���� �� ������������ Diese Problemstellung wird primär im Bereich der Softwaretechnik betrachtet.
– siehe auch die Veranstaltungen von Prof. Hesse
� Die Analyse basiert auf dem Wissen über ���� ������� ��� ���� �� �����, z. B.
– Was sind meine Objekte und deren Attribute?
– Wie sehen die Beziehungen zwischen den Objekten aus?
– Wie viele Objekte werden in meiner Datenbank auftreten?
und die ������ � ����������� �� �����, z. B.
– Was sind meine typischen Operationen?
– Laufzeit und Bedeutung der Operationen
� Zentrales Problem bei der Anforderungsanalyse:
– Entwickler einer Datenbank muss diese Informationen erst von den Benutzeren der Datenbank bekommen!
– Es gibt kein Patentrezept für eine erfolgreiche Anforderungsanalyse.
� In der Anforderungsanalyse werden im Gegensatz zu den anderen Phasen auch die Datenverarbeitungsanforderungen berücksichtigt.
�������������� ���� ��������
Seite 20
������������ ����� �� Beschreibung der Datenstrukturen in einer formalen Sprache auf der Basis eines
konzeptionellen Datenmodells hoher Abstraktion.
– Ein bekanntes konzeptionelles Datenmodell ist das Entity-Relationship Modell (ER-Modell)
– Ein insbesondere für OO-Sprachen wichtiges Datenmodell ist Bestandteil der UML (Unified Model Language).
� Daten in der Datenbank (Instanzen) werden nicht betrachtet, sondern nur deren Schema.
� Transformation einer Anforderungsanalyse in einen konzeptionellen Entwurf ist schwierig:
– Benutzer verwenden verschiedene Bezeichner für den gleichen Objekttyp
– Benutzer verwenden den gleichen Bezeichner für verschiedene Objekttypen
– Irrelevante Strukturen sollen weggelassen werden (Abstraktion der realen Objekte)
�������������� ���� ��������
Seite 21
������ � ����� �� Abbildung der Datenstrukturen des konzeptionellen Modells in Datenstrukturen des darunter
liegenden logischen Datenmodells, d.h., in konkrete Strukturen der entsprechenden Datenbank (z. B. Relationen)
� Datenstrukturen des logischen Modells abstrahieren von der physischen Repräsentation.
� Ziel: einmalige Repräsentation Daten (Vermeidung von Redundanz)
! ����� � ����� ��� Physische Repräsentation der Datenstrukturen des logischen Entwurfs in Dateien.
� Anlegen von Hilfsstrukturen wie z. B. Indexe zur Unterstützung von Anfragen.
– zu viele Indexe: Updates der Datenbank werden zu teuer
– zu wenige Indexe: Anfragen werden nicht effizient unterstützt.
�������������� ���� ��������
Seite 22
��"�����#$������� ������������� kurz ER-Modell (Peter P. Chen: The Entity-Relationship Model - Toward a Unified View of
Data. in Trans. on Database Systems 1(1): 9-36(1976))
� Das ER-Modell hat eine große Relevanz in der Praxis (nicht nur für den konzeptionellen Entwurf von Datenbanken).
� Vorgehensweise beim DB-Entwurf (siehe oben)
– zuerst: Anforderungsanalyse und Entwurf des ER-Modells
– dann: Umsetzung des ER Modells in ein konkreteres Modell der Datenbank
� Ziel:Modellierung eines Ausschnittes der “realen Welt” durch ��� �����, so dass gewisse Fragen über die “reale Welt” mit Hilfe des Modells beantwortet werden können.
– �����������:Zunächst nur wahrnehmbar über Sinnesorgane. Menschliche ��� �� ist bereits erster Abstraktions- und Modellierungsschritt.
ER-Modell beschreibt “reale Welt” durch� ���%�� (��������) mit
� ������� ���� (����������) und
� &���� ����� (�������������) zueinander.
�������������� ���� ��������
Seite 23
���%�'����(� existiert in der realen, zu modellierenden Welt und unterscheidet sich von anderen Entitäten
– (ISBN 3-929821-31-1, Datenbanken), (Sommer, C++)
� Ähnlich Entitäten werden zu einer ���%������ (Entity Set) zusammengefasst
– Menge aller Bücher, Menge aller Vorlesungen, Menge aller Professoren
Eine Entitätsmenge umfasst alle zusammengehörigen Entitäten (unabhängig von der derzeiti-gen Ausprägung in der Datenbank). Man spricht dann auch von einem Entitätstyp.
– Ein Entitätstyp wird durch die zugehörigen Attribute und weiteren Nebenbedingungen beschrieben.
� � ��� eines Entitätstyps beschreibt eine charakteristische Eigenschaft
– Jedes Buch besitzt eine ISBN-Nummer, einen Autor, …
– Die Werte eines Attributes stammen aus )� ��� ��� �� wie INTEGER, REAL, STRINGz. B. ist die ISBN-Nummer eines Buches ein String aus Ziffern
� Eine �������� Menge von Attributen, anhand deren Werte sich alle Entitäten eines Entitätstyps unterscheiden lassen, wird als *� �+����������� bezeichnet.
– z.B. identifiziert die ISBN-Nummer das Buch
�������������� ���� ��������
Seite 24
&���� ����'$������� �(� Über eine Beziehung lassen sich Zusammenhänge zwischen Entitäten herstellen.
Beispiele:– Student Maier hört Vorlesung DBS I
– es gibt ein Buchexemplar zum Buch mit ISBN-Nummer 3-929821-31-1
� Eine homogene Menge von Beziehungen wird zu einer &���� ������������������������������zusammengefasst�
– z. B. die Beziehung Hört_Vorlesung
Eine Beziehungsmenge wird auch als &���� ����� bezeichnet, der durch eine geordnete Liste von Entitätstypen Ei ,1 � i � n, und zusätzlichen Attributen beschrieben wird.
– n ist der Grad der Beziehung
– Beziehungstypen können auch Attribute besitzen.Beispiel: Hört_Vorlesung besitzt als Eigenschaft die Nummer des Hörsaals
– Der Grad einer Beziehung ist i. A. 2, aber eine Beziehung mit höherem Grad ist möglich.
� Ein Entitätstyp darf in einem Beziehungstyp mehrfach vorkommen.
– Zur Unterscheidung ist es dann wichtig an die mehrfach in einer Beziehung vorkommenden Entitätstypen eine $���� zu vergeben.
�������������� ���� ��������
Seite 25
,���������%�����&���� �������"-"�#�&���� ������'���#�#���� ������� ��(
� Falls für eine Beziehungstyp jedes Entity aus zu höchstens einem Entity aus
in Beziehung steht und umgekehrt.
"-.�#�&���� ������'���#�#����� ������� ��(
� Falls für eine zweistelliges Beziehungstyp jede Entität aus �� mit beliebig vielen
(also mehreren oder auch keinen) Entitäten aus ��, aber jede Entität aus �� mit maximal einer Entität aus �� in Beziehung steht.
.-/�#�&���� ������'����#�#����� ������� ��(
� Falls für eine binären Beziehungstyp jede Entität aus �� mit beliebig vielen (also
mehreren oder auch keinen) Entitäten aus ���in Beziehung stehen kann und umgekehrt.
� �1 �2�� �� � �1 �2
� �1 �2�� �� �
� �1 �2�� �� �
�������������� ���� ��������
Seite 26
&�������� ABTEILUNG �������������� �� ANGESTELLTER
Annahme: jede Abteilung hat genau einen Leiter und kein Angestellter leitet mehr als eine Abteilung.
� ANGESTELLTER ����������� ABTEILUNGAnnahme: jeder Angestellte arbeitet in genau einer Abteilung.
� ANGESTELLTER ����������!�Projekt
Einige Besonderheiten:� in Beziehungstypen, in denen Entitätstypen mehrfach vorkommen, werden entsprechende
$����� vergeben.
– Beispiel: VORGESETZTER(CHEF: ANGESTELLTER, MITARBEITER: ANGESTELLTER ) wobei CHEF und MITARBEITER Rollen für den Entitätstyp ANGESTELLTER sind.
� Einige Beziehungstypen sind so genannte Spezialisierungen: IS-A-Beziehungen
– ANGSTELLTER besitzt Attribute ANGNR, NAME und GEHALT
– ZUGFUEHRER und TECHNIKER sind auch ANGESTELLTER, besitzen aber noch weitere Attribute
�������������� ���� ��������
Seite 27
��"�"��$#���� ���� graphische Repräsentation von Entitätstypen, Beziehungstypen und ihrer Attribute durch einen
Graphen
folgende Vereinbarungen werden getroffen:
� Ein Rechteck repräsentiert einen Entitätstyp:
� Ellipsen repräsentieren Attribute:
– Sie sind über ungerichtete Kanten mit ihrem Entitätstyp verbunden.
– Schlüssel-Attribute werden unterstrichen.
� ein Beziehungstyp wird durch eine Raute repräsentiert:
– Beziehungstypen werden mit ihren Entitätstypen durch Kanten verbunden.
– Die Kanten werden mit der Funktionalität des in der Beziehung auftretenden Entity-Typs gekennzeichnet. a) Bei 1:1 Beziehungen besitzen beide Kanten das Symbol “1”.b) Bei n:1Beziehungen zwischen E1 und E2 ist die Kante zu E1 mit dem Symbol
“n” und die Kante zu E2 mit dem Symbol “1” gekennzeichnet.c) Bei n:m Beziehungen wird “n” der einen und “m” der anderen Kante zugeordnet.
�������������� ���� ��������
Seite 28
��� ������/�������� 0��� ��/����� bei einer 1:n-Beziehungen hält(Professor, Vorlesung) sieht folgendermaßen
aus:
� In der Lietratur findet man auch die funktionale Schreibweise hält: Vorlesung |--> Professor.
Stattdesssen wird auch die funktionale Beziehung dadurch charakterisiert, wie oft ein Entity in der Beziehung mit einem anderen Entity auftreten kann.
� Einige kommerzielle Anbieter verwenden die sogennannte “Krähenfußnotation”
Professor hält Vorlesung1 N
Professor hält Vorlesung
Professor hält Vorlesung
�������������� ���� ��������
Seite 29
min-max Notation� An einer Kante einer Relation R(E1,E2) wird ein Intervall (mini,maxi) i=1,2 notiert. Dabei gilt:
– für alle :
– für alle :
� Wenn es keine obere Schranke gibt (oder diese unbekannt ist), wird dies durch ein “*” gekennzeichnet.
� Beispiel:
� Wie man sieht unterscheiden sich die (min,max)-Notation von der üblichen Notation.
�1 �1� !��1 �2 �1 �2�� �� � !�"1� �
�2 �2� !��2 �1 �1 �2�� �� � !�"2� �
Professor hält Vorlesung1 N
'123( '"2"(
�������������� ���� ��������
Seite 30
&���� ����������� �������������%��� Im Folgenden betrachten wir eine Relation mit k Entitäten. Wir ordnen in
unserer Notation der Kante zur Entität eine “1” zu, falls
eine Funktion ist. Ansonsten ein Symbol.
� Die min-max Notation läst sich auch verallgemeinern. Dabei betrachten wir k Intervalle , , wobei folgende Bedingungen gilt:
� Beispiel:
� �1 … �#� ��
�$
�: �1 … �$ 1– �$ 1+ … �#� � � � �� �$�
!��$ !�"$�� 1 $ #� �
!��$ !���$ �$� � �1 … �$ … �#� � � �( ) !�"�$ �$� � �1 … �$ … �#� � � �( ) !�"$� � �
Professor hält Vorlesung1 N
'123( '"2"(
Raum
1'124(
�������������� ���� ��������
Seite 31
��"���� ���� �����Id-Beziehungen� Id Beziehungen sind spezielle 1:n Beziehungen, wobei die Existenz einer Entität von einem
anderen Entity abhängt.
– Man bezeichnet dann auch den existenzabhängigen Entitätstyp als schwach und den anderen Entitätstyp als stark.
� Graphische Notation
� Beispiel:
schwacheEntität
Id Beziehung
Abteilung Ang1 N
�������������� ���� ��������
Seite 32
�*#��&���� ������'5�� ���� ���(� Ein Entity vererbt ���� seine Eigenschaften an einen anderen Entity. Die Beziehung zwischen
den Entitätstypen wird auch als IS-A Beziehung bezeichnet.
� IS-A Beziehung wird für die Partitionierung einer Menge in (disjunkte) Teilmengen verwendet. Beide Entitäten einer IS-A Beziehung besitzen den gleichen Schlüssel.
� Beispiel
– ANGSTELLTER besitzt Attribute ANGNR, NAME und GEHALT
– Professoren sind auch ANGESTELLTER, besitzen aber noch weitere Attribute wie z. B. FACHGEBIET
Besonderheit von IS-A und Id-Beziehungstypen� Es gibt höchstens nur einen IS-A oder Id Beziehungstyp zwischen zwei Entitätstypen
IS-A
Professor
Angestellter
Mitarbeiter
�������������� ���� ��������
Seite 33
�������� ���������$#���� ����an Hand des Beispiels eines Auskunft- und Buchungssystem für DB-ICE-Netz
Mögliche Anfragen (Datenverarbeitungsanforderungen)� Wann fährt ein Zug von München nach Bremen?
� Reserviere ein Platz von München nach Frankfurt im Zug ICE792 am 6.12.2004.
� Gib Liste der reservierten Plätze in Zug ICE792 am 6.12.2004.
� Gibt es eine Verbindung von München nach Essen mit Abfahrt zwischen 8.00 und 10.00 (ohne umzusteigen)?
Informationsanforderungen:Attribute:� Zugnr, Name, Verkehrstage
� Wagennr., Klasse, Platzanzahl
� Platznr., R/NR
� Name, Umsteigebahnhof
Entitätstypen: � Zug
� Wagen
� Platz
� Bahnhof
�������������� ���� ��������
Seite 34
Beziehungstypen:� Zugplan: Zug x Wagen
� Wageplan: Wagen x Platz
� Belegung: Platz x Bahnhof x Bahnhof
� Halt: Zug x Bahnhof
� Zuglauf: Zug x Bahnhof x Bahnhof x Bahnhof
� Verbindung: Bahnhof x Bahnhof x Bahnhof
Einschränkungen:� ein Platz kann nicht auf überlappenden Teilstrecken reserviert werden
� die Zeiten in den Beziehungstypen Halt und Verbindung müssen übereinstimmen
�������������� ���� ��������
Seite 35
�$#���� ���
Zug Zugplan Wagenp. PlatzWagen
Zuglauf
Halt
Belegung
Verbind.
Bahnhof
�������������� ���� ��������
Seite 36
6��������������� Datenbankentwurf ist ein äußerst komplexer Vorgang
� ER-Modellierung ist ein auch in der Industrie anerkanntes und weit verbreitetes Verfahren zur Datenmodellierung
– Voraussetzung ist aber bereits eine Anforderungsanalyse
– Beachte, dass das ER-Modell vom DBMS �����%���� ist.
� wichtige Komponenten:
– Entität, Entitätstyp
– Beziehung, Beziehungstyp.
� Charakterisierung von Beziehungstypen
– n:m, 1:m, 1:1-Beziehungen
– is-a Beziehung, has-a Beziehung
– “starke” Beziehungen
� Frage:Wie kann das ER-Modell in eine Datenbank abgebildet werden?