-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodellierung.html
132 lines (132 loc) · 9.32 KB
/
modellierung.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<!DOCTYPE html>
<html data-wf-page="6414ab90754c8f05dec711e8" data-wf-site="640b3e76d7d422a8f3c9b5af">
<head>
<meta charset="utf-8">
<title>Modellierung</title>
<meta content="Modellierung" property="og:title">
<meta content="Modellierung" property="twitter:title">
<meta content="width=device-width, initial-scale=1" name="viewport">
<meta content="Webflow" name="generator">
<link href="css/normalize.css" rel="stylesheet" type="text/css">
<link href="css/webflow.css" rel="stylesheet" type="text/css">
<link href="css/index.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com" rel="preconnect">
<link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
<script type="text/javascript">
WebFont.load({
google: {
families: ["Righteous:regular"]
}
});
</script>
<script type="text/javascript">
! function(o, c) {
var n = c.documentElement,
t = " w-mod-";
n.className += t + "js", ("ontouchstart" in o || o.DocumentTouch && c instanceof DocumentTouch) && (n.className += t + "touch")
}(window, document);
</script>
<link href="images/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="images/webclip.png" rel="apple-touch-icon">
</head>
<body class="body-2">
<div data-animation="default" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="navbar-logo-left-container shadow-three w-nav">
<div class="container">
<div class="navbar-wrapper">
<a href="index.html" class="navbar-brand w-nav-brand">
<div class="text-block"><span class="text-span">S</span>(cratch)<span class="text-span-2">QL</span></div>
</a>
<nav role="navigation" class="nav-menu-wrapper w-nav-menu">
<ul role="list" class="nav-menu-two w-list-unstyled">
<li>
<div data-hover="false" data-delay="0" class="nav-dropdown w-dropdown">
<div class="nav-dropdown-toggle w-dropdown-toggle">
<div class="nav-dropdown-icon w-icon-dropdown-toggle"></div>
<div class="text-block-4">Themen</div>
</div>
<nav class="nav-dropdown-list shadow-three mobile-shadow-hide w-dropdown-list">
<a href="einfuehrung.html" class="nav-dropdown-link w-dropdown-link">Einführung</a>
<a href="#" id="1" class="nav-dropdown-link w-dropdown-link">Modellierung</a>
<a href="transformationen.html" class="nav-dropdown-link w-dropdown-link">Transformation</a>
<a href="abfragengrundlagen.html" class="nav-dropdown-link w-dropdown-link">Abfragengrundlage</a>
</nav>
</div>
</li>
<li class="mobile-margin-top-10">
<a href="game.html" class="button-primary w-button">Try it out</a>
</li>
</ul>
</nav>
<div class="menu-button w-nav-button">
<div class="w-icon-nav-menu"></div>
</div>
</div>
</div>
</div>
<div class="w-container">
<h1 class="heading-3">ER-Modell</h1>
<div class="text-block-3">Wie kann man die erwähnten Entitäten und Relationen, die in der realen Welt vorhanden sind verständlich veranschaulichen? <br></div>
<ul role="list">
<li class="list-item-2"><strong>ER-Modellierung</strong> wurde dafür geschaffen. ER heißt Entity Relationship.</li>
<li class="list-item">Damit erstellen wir <strong>ER-Diagramme.</strong></li>
</ul>
<div class="rich-text-block w-richtext">
<h2><strong>ER-Modellierung (ERM) Begriffe</strong></h2>
<p>Entity heißt <strong>Entität</strong> und bedeutet so viel wie „Ein existierendes Ding“. Eine Entität definiert sich und unterscheidet sich von anderen Entitäten durch die Eigenschaften, die sie besitzt. </p>
<p></p>
<p>Beispiel: Maren und Dennis sind Schüler, die unterschiedliche Namen und somit unterschiedliche Eigenschaften besitzen. Sie können also nicht dieselbe Entität sein und können somit identifiziert/unterschieden werden. </p>
<p>Die Eigenschaften der Entitäten nennt man in diesem Fall <strong>Attribute</strong> und sie werden durch Werte angegeben. Sie können eine Entität oder auch eine Relation beschreiben. </p>
<p>Beispiel: Anzahl, Name, Klasse, Alter </p>
<p>Die <strong>Werte</strong> sind primitive Datenelemente, die direkt darstellbar sind. Alle Attribute der Entitäten werden mit Werten angegeben. </p>
<p>Beispiel: int (Zahl) für das Alter, String (Zeichenkette) für den Namen </p>
<p> </p>
<p><strong>Entitätstypen</strong> fassen alle gleichartigen Entitäten zusammen. Sie funktionieren als Blaupause oder Schablone um alle Entitäten einer Art zusammen abzuspeichern und zu strukturieren. </p>
<p>Beispiel: Schüler und Lehrer sind zwei Entitätstypen, mit denen wir jetzt jede Entität aus einer Schulklasse einem Entitätstypen zuordnen können. 1 = Schüler 2 = Lehrer </p>
<p> </p>
<p>Relationship aus dem Begriff Entity-Relationship steht für die <strong>Relation</strong>, also Beziehung. Die Entitäten können also einen Bezug zueinander haben und hängen somit zusammen. </p>
<p>Beispiel: Es gibt den Lehrer Herr Volk und dieser unterrichtet die Schüler Paul und Jan, was auch ihre Beziehung zu ihm beschreibt. </p>
<p> </p>
<p><strong>Primärschlüssel</strong> sind Attribute, die es kein zweites Mal geben darf und somit eindeutig eine Entität Identifizieren. Oft kommen IDs mit dieser Rolle zum Einsatz, welche selbst erstellte Primärschlüssel sind. (Auch mehrere Attribute zusammen können einen Primärschlüssel bilden, sofern sie die Bedingung erfüllen, dass es sie in dieser Kombination nur einmal gibt.) </p>
<p>Beispiel: Zwei Schüler heißen Alex, aber einer hat die ID 69 und der andere 420. </p>
<p>Die <strong>Kardinalität</strong> ist die Anzahl an Entitäten die an einer Relation Teilnehmen, da sich diese Zahl je nach Relation unterscheiden kann. Es gibt 1:1, 1:n, m:n Beziehungen. Bei 0…n muss eine Entität nicht zu einer Relation gehören. Das nennt sich auch Optionalität. </p>
<p>Beispiel: In einer Klasse sind 20 Schüler, sodass eine Relation von Klasse zu Schülern mit der Kardinalität von 1:20 besteht. Jeder Schüler ist einer Klasse zugeordnet aber mehrere Klassen sind nicht einem Schüler zugeordnet. </p>
</div>
<ul role="list">
<li class="list-item-3">Jetzt da diese Begriffe der ER-Modellierung bekannt sind können wir mit diesen ER-Diagramme erstellen</li>
</ul>
<div class="rich-text-block-3 w-richtext">
<h2><strong>ER-Diagramme (ERD) </strong></h2>
<ol start="" role="list">
<li>Entitätstypen werden als Rechtecke dargestellt. Im Rechteck steht der Name des Entitätstyps. </li>
<li>Attribute werden als Ovale dargestellt, die mit einer Linie mit dem Entitätstyp verbunden sind, zu dem sie gehören. Im Oval steht der Name des Attributs. </li>
<li>Die Namen von Primärschlüsseln werden unterstrichen. </li>
<li>Relationen werden als Rauten dargestellt, die jeweils mit einer Linie mit den beteiligten Entitätstypen verbunden sind. In der Raute steht der Name der Relation. </li>
<li>An den Verbindungslinien von Relationen werden die Kardinalitäten notiert. </li>
<li>Entitäten werden nicht dargestellt. </li>
</ol>
</div>
<h3 class="heading-5">Beispiel 1:</h3>
<div class="columns w-row">
<div class="column w-col w-col-5"><img src="images/erstesbsp.png" loading="lazy" alt=""></div>
<div class="column-2 w-col w-col-7">
<div class="text-block-5">Jedes Album besitzt eine AlbumNr, einen Titel und einen Preis. AlbumNr ist der Primärschlüssel mit dem jedes Album eindeutig identifiziert werden kann. </div>
</div>
</div>
<h3 class="heading-4">Beispiel 2:</h3><img src="images/zweitesbsp.png" loading="lazy" sizes="100vw" srcset="images/zweitesbsp-p-500.png 500w, images/zweitesbsp-p-800.png 800w, images/zweitesbsp.png 918w" alt="" class="image">
<div class="text-block-6">Jeder Mensch hat eine eindeutige Steuernummer (Primärschlüssel), einen Vornamen, einen Nachnamen und ein Geburtsdatum. Jeder Finger hat einen eindeutigen Abdruck und eine Länge. Zudem hat jeder einzelne Mensch zwischen 0 und n Finger (Kardinalität 0..n). Jeder einzelne Finger hat aber nur genau einen Menschen (Kardinalität 1) Hat ist die Beziehung, die die Entitäten zueinander haben. In diesem Fall hat sie keine Attribute. </div>
</div>
<section class="footer-dark wf-section">
<div class="container-3">
<div class="footer-wrapper">
<a href="index.html" class="footer-brand w-inline-block">
<div class="text-block"><span class="text-span">S</span>(cratch)<span class="text-span-2">QL</span></div>
</a>
</div>
</div>
<div class="footer-divider"></div>
</section>
<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=640b3e76d7d422a8f3c9b5af" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="js/webflow.js" type="text/javascript"></script>
</body>
</html>