· entwurf logischer entwurf physischer entwurf hardware/bs-eigenschaften dbms-eigenschaften seite...

19
.RQ]HSWLRQHOOHU'DWHQEDQNHQWZXUI Seite 18 .RQ]HSWLRQHOOHU'DWHQEDQNHQWZXUI 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 Konzeptioneller Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS- Eigenschaften DBMS- Eigenschaften

Upload: trankhue

Post on 18-Sep-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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

Page 2:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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.

Page 3:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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)

Page 4:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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.

Page 5:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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.

Page 6:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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

Page 7:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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.

Page 8:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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�� �� �

Page 9:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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

Page 10:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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.

Page 11:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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

Page 12:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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"(

Page 13:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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(

Page 14:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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

Page 15:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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

Page 16:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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

Page 17:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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

Page 18:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

Seite 35

�$#���� ���

Zug Zugplan Wagenp. PlatzWagen

Zuglauf

Halt

Belegung

Verbind.

Bahnhof

Page 19:  · Entwurf Logischer Entwurf Physischer Entwurf Hardware/BS-Eigenschaften DBMS-Eigenschaften Seite 19 ˘ ˇ˘ ... Professor hält Vorlesung 1 N ’123( ’"2"(Raum ’124( 1

�������������� ���� ��������

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?