WEBVTT

06:40.510 --> 06:43.970
Wenn Fragebögen schon ausgefüllt sind, dann bitte gerade hier vorne

06:43.970 --> 06:45.750
zum Beispiel hinlegen.

06:45.910 --> 06:48.430
Ich tue das hier gerade mal dazu, dann sieht man das.

06:48.950 --> 06:53.790
Also entweder hier, ja tun wir es hier her, da gerade abgeben.

06:54.490 --> 06:58.910
Es sind zwei Fragebögen, einer für den Teil von Herrn Abbeck und einer

06:58.910 --> 07:00.870
für den Teil von Herrn Lockermann im Moment.

07:11.240 --> 07:13.760
Ich warte jetzt noch einen kleinen Moment, gebe noch ein bisschen

07:13.760 --> 07:17.140
Zeit, damit man den Fragebogen auch entsprechend ausfüllen kann.

07:17.260 --> 07:21.260
Machen wir gerade vielleicht noch fünf Minuten oder vier Minuten und

07:21.260 --> 07:22.580
dann fangen wir an mit der Übung.

12:21.050 --> 12:23.850
Herr Abbeck,

12:30.820 --> 12:31.100
bitte.

13:19.960 --> 13:21.560
Jetzt können

13:42.800 --> 13:53.520
Sie ruhig auch hier unten hinlegen, genau, danke.

14:10.800 --> 14:14.640
So, ich glaube, die meisten sind jetzt schon fast fertig.

14:14.640 --> 14:19.640
Bitte dann dran denken, nachher noch hier unten abgeben, bitte.

14:20.040 --> 14:22.520
Entweder hier oder hier her legen, wenn noch nicht geschehen.

14:24.140 --> 14:29.220
Gut, dann habe ich zwei Ankündigungen erstmal noch und zwar

14:29.220 --> 14:30.680
organisatorischer Art.

14:31.180 --> 14:37.040
Das erste ist, dass die Bakalau-Jahrtsklausur, das betrifft nur

14:37.040 --> 14:42.380
wenige, aber auch für die, die sind sicher jetzt hier, also

14:42.380 --> 14:46.040
diejenigen, die diese Übungsscheinklausur, den zweiten Teil für den

14:46.040 --> 14:52.580
Bereich Datenhaltung mitschreiben wollen, die möchte ich am letzten

14:52.580 --> 14:54.700
Freitag im Semester durchführen.

14:55.880 --> 15:02.700
Und da würde ich ganz gerne die vor der Vorlesung schon machen, also

15:02.700 --> 15:03.560
um 8.30 Uhr.

15:04.300 --> 15:07.680
Jetzt wollte ich fragen, ob da grundsätzlich was dagegen spricht von

15:07.680 --> 15:11.440
denjenigen, die da teilnehmen wollen, ob da eventuell eine

15:11.440 --> 15:14.320
Veranstaltung schon ist, wo sie teilnehmen.

15:15.300 --> 15:16.860
Scheint nicht der Fall zu sein.

15:17.140 --> 15:22.140
Dann werde ich noch angeben, wo die Klausur stattfindet, es wird

15:22.140 --> 15:25.760
nämlich nicht hier sein können, weil hier davor immer eine Vorlesung

15:25.760 --> 15:27.320
ist, eine andere Vorlesung.

15:27.820 --> 15:31.900
Also ich gebe das jetzt nochmal dann entsprechend nächsten Freitag auf

15:31.900 --> 15:37.420
jeden Fall bekannt, dass sie stattfindet, 8.30 Uhr, den Freitag drauf,

15:37.520 --> 15:42.140
am letzten Freitag im Semester, und wo sie dann stattfinden wird.

15:46.190 --> 15:49.190
Deswegen hatte ich gerade gefragt, das war ja gerade das.

15:49.850 --> 15:51.610
Da hatte ich ja gefragt, ob da jemand nicht kann.

15:51.910 --> 15:53.770
Also da gibt es einen, der da nicht kann.

15:53.770 --> 15:55.310
Das ist schlecht.

15:56.470 --> 15:59.010
Dann müssen wir es eben doch später machen.

15:59.630 --> 16:02.550
Okay, dann schaue ich nochmal, also sie wollten mitschreiben auf jeden

16:02.550 --> 16:02.730
Fall.

16:03.550 --> 16:08.230
Dann gucke ich, dass ich nochmal abkläre, ob wir es eventuell doch zur

16:08.230 --> 16:10.410
Übungszeit noch machen können.

16:10.770 --> 16:14.310
Also das gebe ich dann bekannt am nächsten Freitag bei der Übung.

16:14.630 --> 16:21.390
Ich werde es auch auf die Webseite schreiben, sobald ich es weiß, also

16:21.390 --> 16:25.470
gleich in der Einstiegsseite für die Vorlesung, sobald ich weiß, wo es

16:25.470 --> 16:26.550
stattfindet und wann.

16:30.850 --> 16:31.510
Okay, gut.

16:31.750 --> 16:34.370
Der zweite Punkt, den hatte Herr Lockmann schon mal angesprochen.

16:34.590 --> 16:38.370
Es geht da um so eine Umfrage bezüglich Verwendung von den

16:38.370 --> 16:44.450
verschiedensten Lehrmaterialien, die sie ja in verschiedenen

16:44.450 --> 16:47.850
Variationen zur Vorlesung bekommen.

16:47.850 --> 16:54.230
Und da interessiert uns halt auch, wie sie das aufnehmen, was da für

16:54.230 --> 16:58.070
sie am günstigsten ist, was sie da für Anregungen haben.

16:58.570 --> 17:03.330
Und da werde ich noch einen Fragebogen ins Web stellen,

17:06.530 --> 17:12.170
zu dem jeder aufgerufen ist, dass er den ausfüllt und abschickt dann

17:12.170 --> 17:12.710
übers Web.

17:12.710 --> 17:18.130
Das würde uns sehr helfen, weil wir da halt auch generell für

17:18.130 --> 17:21.850
Vorlesungen und im Rahmen von Forschungsprojekten auch daran arbeiten

17:21.850 --> 17:25.990
und hätten damit eine Unterstützung, herauszukriegen, was überhaupt

17:25.990 --> 17:31.150
sinnvoll ist, was so die Kriterien sind, wann man etwas nimmt oder

17:31.150 --> 17:31.690
wann nicht.

17:32.010 --> 17:37.410
Wir haben das das letzte Mal gemacht, kurz vor der Klausur, im Zuge

17:37.410 --> 17:38.830
der Klausurvorbereitung.

17:38.830 --> 17:42.690
Da hat man nochmal andere Dinge im Kopf plötzlich.

17:43.730 --> 17:47.070
Ich denke, das werden wir dieses Mal auch wieder anbieten, dass Sie

17:47.070 --> 17:49.430
vielleicht zweimal den Bogen ausfüllen, mal schauen.

17:50.010 --> 17:53.850
Also wären wir natürlich sehr dankbar, wenn es Ihnen nicht zu viel

17:53.850 --> 17:54.130
ist.

17:54.450 --> 17:55.730
Also wir hoffen, dass Sie da mitmachen.

17:56.050 --> 18:00.290
Aber es wird auch jetzt am Ende des Semesters nochmal einen Fragebogen

18:00.290 --> 18:04.750
geben, der jetzt begleitend zur Vorlesung das Ganze analysieren soll

18:04.750 --> 18:09.230
und uns helfen soll, was da sinnvoll ist, Ihnen anzubieten.

18:10.750 --> 18:14.070
Gut, soweit jetzt aber wirklich zum Organisatorischen.

18:14.190 --> 18:17.510
Jetzt steigen wir ein in die Übung und wir haben diverse

18:17.510 --> 18:21.430
Übungsaufgaben heute und ich werde es auch wie das letzte Mal auch so

18:21.430 --> 18:25.170
machen, dass ich nicht alle Übungsaufgaben hier in der großen Übung

18:25.170 --> 18:26.110
besprechen werde.

18:26.850 --> 18:33.290
Und werde Sie dann bitten, dass Sie einfach sich die Lösungsvorschläge

18:33.290 --> 18:39.030
dann anschauen und für die Teile, die wir eben nicht so detailliert

18:39.030 --> 18:43.990
hier behandeln werden oder auch auslassen werden.

18:44.550 --> 18:48.090
Und wenn da natürlich Fragen sind, können Sie jederzeit zu mir kommen

18:48.090 --> 18:50.270
oder auch E-Mail schicken.

18:52.790 --> 19:00.390
Das sind dann auch Aufgaben, die erläutern, wie man vorgeht und wo man

19:00.390 --> 19:04.010
das ja anhand der Lösungsvorschläge durchaus auch sicher arbeiten

19:04.010 --> 19:04.390
kann.

19:06.070 --> 19:17.170
Gut, dann steigen wir mal ein und ich möchte die erste Aufgabe erstmal

19:17.170 --> 19:18.270
überspringen.

19:18.710 --> 19:21.150
Eventuell nachher nochmal darauf zurückkommen.

19:23.710 --> 19:26.910
So, und gleich in die zweite Aufgabe einsteigen.

19:27.670 --> 19:33.830
Weil die erste, die ist sehr umfangreich und das ist zwar gut zum

19:33.830 --> 19:40.690
Üben, aber zum Erläutern, wie man vorgeht und wie man das entsprechend

19:40.690 --> 19:43.210
machen soll, ist es etwas schwierig zu verstehen.

19:43.390 --> 19:44.950
Dann braucht es ziemlich viel Zeit.

19:45.190 --> 19:48.050
Aber zum Üben ist es eine sehr gute Aufgabe auch.

19:48.750 --> 19:53.990
Also da wäre wohl der Verweis, dass Sie das versuchen sollten, selbst

19:53.990 --> 19:57.930
mal daheim zu machen und sich dann orientieren an dem, was in dem

19:57.930 --> 19:59.730
Lösungsvorschlag drin steht.

20:01.050 --> 20:03.230
Gut, steigen wir jetzt mal in Aufgabe 2 ein.

20:03.290 --> 20:07.490
Da geht es ja um eigentlich die gleichen Sachen wie bei Aufgabe 1, nur

20:07.490 --> 20:09.030
ist ein anderes Anwendungsfeld.

20:09.610 --> 20:15.490
Wir haben hier eine Datenbasis für eine Investmentgesellschaft und da

20:15.490 --> 20:20.270
gibt es jetzt eine Relation, wir vereinfachen stark an dieser Stelle,

20:20.270 --> 20:25.830
eine Relation mit den Attributen Makler, Büro eines Maklers, der

20:25.830 --> 20:31.670
Investor, der investiert, dann Aktie, dann die Quantität einer Aktie,

20:31.750 --> 20:36.590
die ein Investor besitzt, also wie viele Aktien soll das einfach sein,

20:37.290 --> 20:40.750
und die Dividende, die für eine Aktie bezahlt wird.

20:41.630 --> 20:44.950
Okay, eine kleine überschaubare Relation.

20:45.710 --> 20:51.310
R gleich MBIAQD, das sind die Attribute, wie oben beschrieben.

20:51.790 --> 20:55.450
Und jetzt kommen noch Funktionalabhängigkeiten, die wir hier unten

20:55.450 --> 20:56.430
aufgeführt haben.

20:56.950 --> 21:02.870
Zum Beispiel bestimmt die Aktie die Dividende eindeutig, also

21:02.870 --> 21:05.090
Funktionalabhängigkeit von A nach D.

21:06.230 --> 21:12.870
Oder der Investor und die Aktie liefert uns eindeutig die Anzahl, die

21:12.870 --> 21:16.530
Quantität, die Anzahl der Aktien, die dieser Investor für diese Aktie

21:16.530 --> 21:16.870
hält.

21:17.690 --> 21:19.190
Also IA nach Q.

21:21.030 --> 21:25.890
Okay, das ist also unsere Anwendung, die wir jetzt betrachten und

21:25.890 --> 21:30.590
jetzt möchten wir gerne diese Relation analysieren und vor allem

21:30.590 --> 21:32.550
erstmal einen Schlüssel finden.

21:34.470 --> 21:36.530
Wie gehen wir jetzt da vor?

21:36.950 --> 21:42.930
Schlüssel heißt ja zur Erinnerung, dass wir eine Kombination finden

21:42.930 --> 21:49.870
müssen aus einem oder mehreren Attributen der Relation, die sämtliche

21:49.870 --> 21:51.810
Attribute dieser Relation bestimmen.

21:52.230 --> 21:59.470
Also deren Fülle über die Funktionalabhängigkeit dann die gesamten

21:59.470 --> 22:01.190
Attribute der Relation sind.

22:01.190 --> 22:05.730
Das wäre ja auch Bestimmen aller anderen Attribute, wäre ja auch diese

22:05.730 --> 22:08.610
Aussage mit der Hüllenbildung über diesen Schlüssel.

22:09.570 --> 22:13.270
Es kann mehrere geben, es kann mehrere Schlüsselkandidaten geben, da

22:13.270 --> 22:16.250
kommen wir nachher noch dazu, in Aufgabe B.

22:17.090 --> 22:22.310
Und häufig wird auch, gerade in der Normalformen-Theorie, das möchte

22:22.310 --> 22:25.630
ich einfach nochmal sagen, weil da auch schon Fragen aufgekommen sind,

22:26.210 --> 22:29.490
wird einfach von Schlüssel, vereinfachend von Schlüssel gesprochen.

22:30.570 --> 22:34.710
Und gemeint sind dann Schlüsselkandidaten, weil wir in der

22:34.710 --> 22:37.610
Normalformen -Theorie und bei der Bestimmung der Normalformen

22:37.610 --> 22:41.330
heutzutage einfach generell von Schlüsselkandidaten ausgehen und der

22:41.330 --> 22:44.910
ausgezeichnete Primärschlüssel da keine Rolle spielt.

22:45.890 --> 22:51.210
Der kommt dann erst ins Feld, wenn wir uns überlegen, wie wir das

22:51.210 --> 22:56.230
Ganze in einem konkreten Datenbanksystem mittels Relationen dann

22:56.230 --> 22:57.790
konkret umsetzen.

22:57.790 --> 23:02.130
Da müssen wir einen ausgezeichneten Schlüssel haben und an der Stelle

23:02.130 --> 23:04.190
tritt dann erst der Primärschlüssel ins Feld.

23:05.070 --> 23:11.610
Also immer wenn hier im Normalformen-Bereich Schlüsselbestimmung bei

23:11.610 --> 23:15.690
der Normalisierung die Rede ist von Schlüsseln, meinen wir

23:15.690 --> 23:16.670
Schlüsselkandidaten.

23:17.850 --> 23:22.310
So, soweit die allgemeine Sache, dass das einmal gesagt ist auch.

23:23.290 --> 23:26.890
Und jetzt gehen wir einfach mal vor, wie bestimmen wir jetzt diesen

23:26.890 --> 23:33.850
Schlüssel für die Relation R und da gilt ja, dass wir ausprobieren

23:33.850 --> 23:34.130
müssen.

23:34.450 --> 23:35.270
Das ist einfach so.

23:35.590 --> 23:39.470
Wir haben einen Algorithmus, wie wir super Schlüssel bestimmen.

23:40.050 --> 23:45.410
Das ist angegeben im Skriptum drin, wurde auch in der Vorlesung

23:45.410 --> 23:49.630
vorgestellt und da wird einfach durchgegangen anhand dieser

23:49.630 --> 23:54.030
funktionalen Abhängigkeiten und wird dann erstmal eine genommen, dann

23:54.030 --> 24:00.010
die linke Seite davon, denn die gehört ja potenziell zum Schlüssel und

24:00.010 --> 24:03.850
dann wird geschaut, wie sieht denn da die funktionale Hülle aus.

24:03.990 --> 24:07.290
Also gehen wir mal so vor, machen wir das mal, also

24:07.290 --> 24:08.310
Schlüsselbestimmung.

24:10.030 --> 24:13.350
Gehen wir mal einfach von A nach D aus.

24:13.650 --> 24:19.710
Also sagen wir mal A sei jetzt das erste Attribut, das potenziell zum

24:19.710 --> 24:25.230
Schlüssel gehört und dann bilden wir da mal die Hülle darüber und das

24:25.230 --> 24:30.270
heißt jetzt, dass wir schauen müssen, entsprechend diesem Algorithmus

24:30.270 --> 24:33.950
zur Hüllenbildung, wie wir entlang dieser funktionalen Abhängigkeiten

24:33.950 --> 24:39.090
da jeweils zusätzliche Attribute über funktionale Abhängigkeiten von A

24:39.090 --> 24:40.150
ausgehend erreichen.

24:40.630 --> 24:45.950
Von A erreichen wir auf jeden Fall A selber, weil ja die Armstrong

24:45.950 --> 24:47.790
-Aktion mit ihrer Flexibilität gilt.

24:50.090 --> 24:56.730
Dann erreichen wir sicher das direkt über funktionale Abhängigkeit in

24:56.730 --> 25:00.910
der Menge der funktionalen Abhängigkeiten enthaltene D.

25:04.370 --> 25:07.930
So, jetzt haben wir also A und D drin enthalten, jetzt können wir mal

25:07.930 --> 25:12.990
schauen, können wir mit dieser funktionalen Abhängigkeit irgendwas

25:12.990 --> 25:13.530
anfangen?

25:13.650 --> 25:17.570
Im Moment noch nicht, wir haben A und D in unserer Menge der Attribute

25:17.570 --> 25:18.730
in der Hülle drin.

25:18.730 --> 25:22.170
Wir müssen mal schauen jetzt, was können wir aus diesen beiden

25:22.170 --> 25:23.510
Attributen ableiten?

25:24.490 --> 25:27.450
Also da können wir nichts mit anfangen, hier ist zwar ein A drin

25:27.450 --> 25:30.250
enthalten, aber das I fehlt uns, das haben wir nicht.

25:30.570 --> 25:31.970
Können wir also auch nichts mitmachen?

25:32.410 --> 25:36.230
Und da haben wir ein M, M haben wir auch nicht zu bieten.

25:36.490 --> 25:39.730
Also haben wir da keine Chance, was weiter zu bestimmen.

25:41.070 --> 25:48.410
Die Hülle ausgehend von dem Attribut A, die Hüllenbildung liefert uns

25:48.410 --> 25:50.270
gerade die Attribute A und D.

25:51.150 --> 25:53.010
Das ist das Endergebnis an der Stelle.

25:53.530 --> 25:56.230
Wir sehen, das A ist also auf jeden Fall nicht Schlüssel.

25:56.670 --> 26:00.910
Kann ein Bestandteil des Schlüssels sein, aber ist nicht alleine

26:00.910 --> 26:01.330
Schlüssel.

26:02.130 --> 26:07.650
So, jetzt gehen wir weiter und können das im Prinzip auch für die

26:07.650 --> 26:11.970
anderen Attribute entsprechend machen, natürlich nur für die, die auf

26:11.970 --> 26:13.710
der linken Seite vorkommen.

26:13.710 --> 26:18.350
Das ist aber ein Durchprobieren und es ist auch keine Reihenfolge in

26:18.350 --> 26:22.330
irgendeiner Form vorgegeben, sodass wir das auch machen können, wie

26:22.330 --> 26:22.830
wir wollen.

26:23.190 --> 26:27.110
Das heißt, es ist kein deterministischer Algorithmus.

26:27.330 --> 26:28.530
Das heißt, es ist ein Probieren.

26:29.150 --> 26:33.610
Das einzige, was wir wissen, ist das Ergebnis dann, wenn wir

26:33.610 --> 26:40.030
tatsächlich eine Attributkombination haben, deren Hülle die gesamten

26:40.030 --> 26:43.610
Attribute der Relation sind, dann haben wir einen super Schlüssel

26:43.610 --> 26:44.110
gefunden.

26:45.650 --> 26:46.590
Also ist das Ergebnis.

26:46.930 --> 26:48.450
Also probieren wir einfach mal weiter.

26:49.790 --> 26:54.110
Wenn wir hier mal durchgucken, also wenn wir das i jetzt hier nehmen

26:54.110 --> 26:59.750
würden, dann kämen wir auf m, also probieren wir einfach mal i.

27:00.730 --> 27:04.690
Was wäre, wenn wir das Attribut i nehmen und das als Verdacht für den

27:04.690 --> 27:05.870
Schlüssel verwenden wollen?

27:06.450 --> 27:10.810
Da kämen wir natürlich auf i, dann kämen wir wieder auf m, weil da

27:10.810 --> 27:13.130
diese funktionale Abhängigkeit existiert.

27:14.150 --> 27:17.050
a nach d nützt uns nichts, wir haben kein a.

27:18.030 --> 27:21.330
i, a, da ist zwar das i dabei, aber das a fehlt uns.

27:21.810 --> 27:23.670
Und m, a, ja m haben wir.

27:24.570 --> 27:26.970
m ist in unserer Attributhülle schon drin.

27:27.430 --> 27:33.010
Also können wir, wenn wir von i aus gehen, erhalten wir ja i, m

27:33.010 --> 27:34.130
erstmal in der Attributhülle.

27:34.670 --> 27:37.570
Und von dort aus können wir auch b bestimmen.

27:37.570 --> 27:40.070
Also kommt da b schon mal mit dazu.

27:41.130 --> 27:44.750
Jetzt müssen wir überprüfen, wenn wir das b drin haben, ob sich dann

27:44.750 --> 27:48.210
vielleicht aus den anderen funktionalen Abhängigkeiten jetzt neue

27:48.210 --> 27:51.490
Möglichkeiten ergeben, andere Attribute zu erreichen.

27:52.090 --> 27:58.850
Da sehen wir aber, dass b nirgends auf der linken Seite vorkommt, von

27:58.850 --> 28:00.150
funktionalen Abhängigkeiten.

28:01.530 --> 28:04.830
Also sind wir hier auch fertig und sehen, das ist auch kein Schlüssel.

28:08.720 --> 28:10.620
Gut, jetzt können wir weitermachen.

28:11.280 --> 28:18.060
Wir haben hier noch eine funktionale Abhängigkeit mit m, mit einem

28:18.060 --> 28:21.080
Attribut nur auf der linken Seite, das wäre m.

28:21.740 --> 28:24.120
Schauen wir also an, was ist denn da die Hülle.

28:24.720 --> 28:27.080
Das ist auf jeden Fall m und dann wieder b.

28:28.480 --> 28:30.640
Und jetzt, ja, das war's, mehr haben wir nicht.

28:30.860 --> 28:35.320
Also m und b ist die Hülle von m.

28:36.440 --> 28:38.200
Das heißt, es ist auch kein Schlüssel.

28:38.600 --> 28:40.140
So, jetzt schauen wir uns mal an.

28:40.260 --> 28:43.960
Hier haben wir so eine IA-Kombination auf der linken Seite.

28:44.320 --> 28:45.660
Also jetzt müssen wir übergehen.

28:45.780 --> 28:48.900
Wir haben keine anderen funktionalen Abhängigkeiten oder keine anderen

28:48.900 --> 28:52.680
Attribute mehr, die auf der linken Seite der funktionalen

28:52.680 --> 28:53.980
Abhängigkeiten vorkommen.

28:54.640 --> 29:02.180
Also sind wir fertig mit der Bestimmung der Hüllen und Überprüfung, ob

29:02.180 --> 29:06.320
damit sämtliche Attribute erreicht werden für den Einzelfall, für die

29:06.320 --> 29:07.300
einzelnen Attribute.

29:07.740 --> 29:08.880
Jetzt gehen wir also weiter.

29:09.020 --> 29:12.240
Jetzt nehmen wir mal a und i zusammen

29:17.260 --> 29:21.060
und bestimmen darüber die Hülle.

29:22.360 --> 29:31.360
Also zum einen können wir aus a und i, über die Reflexivität wiederum,

29:31.860 --> 29:34.000
sowohl a als auch i erreichen.

29:34.580 --> 29:39.520
Zum anderen haben wir hier aus a, i können wir die Quantität

29:39.520 --> 29:40.160
erreichen.

29:41.800 --> 29:46.580
Dann können wir, wenn wir nur a betrachten, das reicht uns ja auch

29:46.580 --> 29:51.700
schon aus, können wir dann a und d, können wir auch d erreichen.

29:52.640 --> 29:56.340
Wenn wir i betrachten, da hat man uns ja auch schon angeguckt, da

29:56.340 --> 29:59.580
kriegen wir m und b.

30:01.520 --> 30:03.580
So, jetzt müssen wir überprüfen.

30:03.820 --> 30:09.160
1, 2, 3, 4, 5, 6 Attribute, 1, 2, 3, 4, 5, 6 Attribute.

30:09.540 --> 30:14.240
Also da ich keines doppelt habe, sind wohl alle Attribute erfasst.

30:14.820 --> 30:18.480
Das heißt a, i ist auf jeden Fall ein Superschlüssel.

30:19.460 --> 30:26.000
Weil nämlich die Hülle entsprechend auch sämtliche Attribute der

30:26.000 --> 30:27.540
Relation umfasst.

30:32.400 --> 30:35.420
Jetzt ist die Frage, ist es auch ein Schlüssel?

30:36.340 --> 30:37.760
Das muss man jetzt neu klären.

30:38.940 --> 30:41.680
Und das ist aber relativ schnell geklärt, da haben wir nämlich schon

30:41.680 --> 30:42.900
Vorarbeit geleistet.

30:43.040 --> 30:47.080
Was kommt jetzt noch dazu als Bedingung, wenn wir einen Schlüssel

30:47.080 --> 30:51.560
bestimmen, ausgehend vom Superschlüssel, da kommt noch hinzu, dass wir

30:51.560 --> 30:53.660
die Minimalität gewährleisten müssen.

30:54.060 --> 30:59.140
Es darf also keine Teilmenge hier aus diesem Superschlüssel geben, die

30:59.140 --> 31:03.820
alleine schon sämtliche Attribute der Relation bestimmt.

31:05.840 --> 31:07.760
Und das haben wir ja hier schon nachgewiesen.

31:07.900 --> 31:11.740
Wir haben hier die Hülle über a und die Hülle über i schon gebildet

31:11.740 --> 31:17.580
und jedes Mal erkannt, das ist nicht schon ein Schlüsselkandidat.

31:17.740 --> 31:20.260
Das ist also noch kein Schlüssel.

31:21.560 --> 31:26.120
Das heißt, wir kriegen hier auch keine Teilmenge raus, damit haben wir

31:26.120 --> 31:30.960
die Minimalität nachgewiesen.

31:31.460 --> 31:33.080
Also a, i ist minimal.

31:36.640 --> 31:41.020
Und daraus erhalten wir, a, i ist Schlüssel.

31:41.520 --> 31:43.500
Nicht nur Superschlüssel, sondern auch Schlüssel.

31:44.300 --> 31:51.100
Ganz genau Schlüsselkandidat, aber dazu die Vorbemerkung von vorhin.

31:54.380 --> 31:58.560
Damit hätten wir die Aufgabe a erst einmal erledigt.

31:59.660 --> 32:02.960
Jetzt geht es darum, was mir eigentlich schon interessiert daran ist,

32:03.080 --> 32:07.660
auch gerade im Hinblick auf Normalformbestimmung für später dann, dass

32:07.660 --> 32:11.240
wir alle Schlüsselkandidaten bestimmen, also alle Schlüssel.

32:11.780 --> 32:16.060
Deswegen auch die Aufgabe b jetzt, wie viele Schlüsselkandidaten gibt

32:16.060 --> 32:17.280
es für diese Relation.

32:17.280 --> 32:20.940
Und da kann man dann auch entsprechend eine Begründung noch mit

32:20.940 --> 32:24.240
angeben, die ist dann auch sehr ausführlich auf dem Lösungsblatt

32:24.240 --> 32:26.500
nochmal da, wie das zum Beispiel aussehen könnte.

32:27.000 --> 32:28.780
Wir schauen uns das mal kurz an.

32:29.740 --> 32:32.380
Wir haben also dieses a, i schon betrachtet.

32:32.920 --> 32:38.160
Was eigentlich noch in Betracht kommen würde, also das m hatten wir

32:38.160 --> 32:44.200
auch schon betrachtet, das führt eigentlich nur noch b hinzu.

32:46.420 --> 32:49.760
Und ansonsten fehlen uns halt alle anderen Attribute.

32:50.160 --> 32:59.160
Das heißt, wir könnten höchstens noch die Kombination, also bei b

32:59.160 --> 33:04.580
könnte man noch die Kombinationen, die Zweierkombinationen betrachten.

33:05.160 --> 33:06.860
Das wäre a, i hatten wir ja schon.

33:06.860 --> 33:11.000
Wäre noch a, m, da die Hülle bilden.

33:11.620 --> 33:16.260
Die ist also auf jeden Fall a, m, d und b.

33:16.780 --> 33:18.760
Können wir sehr einfach hier draus auch ableiten.

33:19.040 --> 33:22.600
Müssen nur noch dann gucken, ob wir hier draus dann noch aus der

33:22.600 --> 33:26.560
Kombination zwischen a und m jetzt hier zusätzliche Möglichkeiten

33:26.560 --> 33:29.900
haben, neue Attribute abzuleiten.

33:30.020 --> 33:34.080
Das muss man natürlich noch machen, wenn wir die Kombination

33:34.080 --> 33:35.000
betrachten.

33:35.480 --> 33:39.060
Das sehen wir aber, da ist a drin, da ist i drin.

33:39.160 --> 33:40.780
Das fehlt uns ganz, i, a.

33:41.120 --> 33:43.440
Das q können wir nicht ableiten, das i fehlt.

33:43.980 --> 33:45.960
Und das m können wir lediglich b ableiten.

33:46.060 --> 33:47.580
Das haben wir aber schon in der Hülle drin.

33:48.060 --> 33:51.360
Also damit sind wir fertig, das ist also kein Schlüsselkandidat.

33:52.580 --> 33:55.040
So, das nächste können wir machen mit i und m.

33:57.900 --> 34:02.660
Und da kommen wir eben auch auf i, m.

34:03.320 --> 34:05.540
Durch die Reflexivität wiederum.

34:05.860 --> 34:10.620
Dann erreichen wir das b von m aus.

34:11.160 --> 34:14.160
Und von i aus, i und m, das haben wir schon.

34:14.320 --> 34:16.520
Und das b kriegen wir gar nicht mehr.

34:16.920 --> 34:18.700
Also auch kein Schlüsselkandidat.

34:19.360 --> 34:23.140
Was wir jetzt noch für Möglichkeiten haben, das wäre, dass wir

34:23.140 --> 34:31.640
überprüfen, wenn wir nur a nehmen, nicht i, und eine Kombination aus

34:31.640 --> 34:33.880
den anderen Attributen dazunehmen.

34:35.020 --> 34:36.740
Also das einzige, was noch möglich ist.

34:37.100 --> 34:39.360
a und i zusammen ist ja schon ein Schlüssel.

34:39.880 --> 34:43.240
Das heißt, da ich ja an den Schlüsseln interessiert bin, ist die

34:43.240 --> 34:44.880
Minimalität wichtig.

34:45.360 --> 34:50.480
Also eine Erweiterung dieser i, a Kombination bringt uns nichts,

34:50.580 --> 34:51.740
bringt uns keinen neuen Schlüssel.

34:52.700 --> 34:59.200
Das heißt, wir können höchstens entweder a mit den anderen Attributen

34:59.200 --> 35:00.800
außer i kombinieren.

35:04.320 --> 35:08.700
Und wenn man da natürlich eventuell, also in Bezug auf, ob das

35:08.700 --> 35:11.820
Superschlüssel ist, und da müsste man gucken, was jetzt Minimalität,

35:12.420 --> 35:15.140
was die Minimalitätseigenschaft betrifft.

35:15.240 --> 35:17.060
Aber jetzt gucken wir erstmal den Superschlüssel an.

35:17.440 --> 35:25.560
Und wenn wir das hier betrachten, dann enthält diese Hülle auf keinen

35:25.560 --> 35:26.380
Fall das i.

35:27.840 --> 35:28.860
Und zwar warum?

35:29.120 --> 35:33.840
Weil es i nur auf der linken Seite von funktionalen Abhängigkeiten

35:33.840 --> 35:34.720
vorkommt.

35:35.120 --> 35:39.240
Also ich kann so viel ich möchte, ableiten aus dieser

35:39.240 --> 35:44.340
Attributkombination a, q, d, m, b über die funktionalen

35:44.340 --> 35:46.100
Abhängigkeiten, aber ich komme nie zu i.

35:47.100 --> 35:50.220
Also, i wird nicht erreicht.

35:53.550 --> 35:56.370
Da es auf der linken Seite nur vorkommt.

35:58.790 --> 36:05.690
Da nur auf linker Seite.

36:07.570 --> 36:11.310
Und genau die gleiche Argumentation kriegen wir auch für a.

36:13.370 --> 36:21.930
Also wenn wir jetzt i, q, d, m, b betrachten, a nicht enthalten.

36:24.150 --> 36:29.390
So, damit kriegen wir aber den Nachweis, dass wir keine andere

36:29.390 --> 36:31.290
Möglichkeit eines Schlüssels haben.

36:32.590 --> 36:35.530
Also ist i, a einziger Schlüssel.

36:47.630 --> 36:50.030
Gut, jetzt haben wir das geklärt.

36:50.030 --> 36:52.770
Jetzt können wir einsteigen und die Normalform bestimmen.

36:53.350 --> 36:55.830
Und da interessiert uns natürlich die höchste Normalform.

36:56.730 --> 36:58.710
Ja, schauen wir uns mal an.

36:59.270 --> 37:02.590
Diese Relation hier oben mit diesen funktionalen Abhängigkeiten, in

37:02.590 --> 37:05.370
welcher höchsten Normalform befindet sich diese Relation.

37:07.670 --> 37:14.570
Und da ist es so, dass wir ja jetzt erstmal überprüfen müssen, zweite

37:14.570 --> 37:15.250
Normalform.

37:23.170 --> 37:35.710
So, zweite Normalform heißt ja, dass es für alle funktionalen

37:35.710 --> 37:40.630
Abhängigkeiten, gerade gucken, dass ich die gleiche Formulierung, die

37:40.630 --> 37:45.390
sie gewohnt sind, verwende, dann erkennt man es am besten wieder.

37:45.570 --> 37:46.810
Das übt dann auch entsprechend.

37:48.230 --> 37:56.090
Also, dass die Nicht-Schlüssel-Attribute, genau, so fangen wir an,

37:56.210 --> 38:01.270
dass die Nicht-Schlüssel-Attribute alle vom Schlüssel, die sind

38:01.270 --> 38:03.650
natürlich vom Schlüssel funktional abhängig, sonst wäre es kein

38:03.650 --> 38:07.270
Schlüssel, aber dass die voll funktional abhängig sind vom Schlüssel.

38:08.050 --> 38:09.630
Das ist ja zweite Normalform.

38:10.570 --> 38:14.670
Volle funktionale Abhängigkeit vom Schlüssel für alle Nicht-Schlüssel

38:14.670 --> 38:15.310
-Attribute.

38:15.310 --> 38:20.090
Okay, das können wir uns vielleicht auch mal noch vermerken.

38:23.370 --> 38:30.790
Also, 2NF, alle Nicht-Schlüssel-Attribute

38:37.200 --> 38:40.440
voll funktional abhängig vom Schlüssel.

38:51.190 --> 38:53.170
Okay, so, ja,

39:07.680 --> 39:09.700
voll funktional abhängig steht da.

39:10.840 --> 39:11.360
Eben.

39:12.500 --> 39:15.180
Es ist immer, wir haben hier gleich einen Fall.

39:18.440 --> 39:21.000
Ja, Moment, da muss ich klicken.

39:21.820 --> 39:25.240
Also, gucken wir uns das mal an, dann sehen Sie, was das heißt.

39:26.100 --> 39:30.860
Wir haben das Schlüssel-IA und jetzt betrachten wir uns mal, was wir

39:30.860 --> 39:34.200
hier an funktionalen Abhängigkeiten haben und nehmen einfach mal eine

39:34.200 --> 39:34.680
raus.

39:35.980 --> 39:37.380
Zum Beispiel die hier.

39:44.620 --> 39:50.340
Eine funktionale Abhängigkeit des Nicht-Schlüssel-Attributs M von I.

39:51.580 --> 39:53.740
I ist aber nicht Schlüssel.

39:54.620 --> 39:55.920
Ist nur ein Teil des Schlüssels.

39:56.840 --> 39:59.400
Und damit haben wir nicht die volle funktionale Abhängigkeit.

40:01.700 --> 40:02.380
Da haben wir es also.

40:03.120 --> 40:05.040
Also das ist unser Problem hier.

40:05.460 --> 40:09.360
Also nicht nur in erster Normalform.

40:10.460 --> 40:13.580
Wegen das hier, das verletzt praktisch 2NF.

40:15.460 --> 40:17.300
Diese funktionale Abhängigkeit.

40:18.620 --> 40:21.960
Also, da gibt es einen Teil vom Schlüssel, der schon ein Nicht

40:21.960 --> 40:23.760
-Schlüssel -Attribut alleine bestimmt.

40:24.620 --> 40:27.620
Und das ist nicht erlaubt in der zweiten Normalform.

40:39.430 --> 40:40.970
Also wir hätten da sowas.

40:41.150 --> 40:42.730
Wir nehmen mal das als Schlüssel.

40:44.490 --> 40:46.130
Das wäre hier mal unser Schlüssel.

40:46.810 --> 40:50.390
Ich tue das mal so eingreißen, dass man sieht, das ist unser

40:50.390 --> 40:50.790
Schlüssel.

40:50.790 --> 40:52.530
Das hier.

40:53.370 --> 40:58.250
Und dann darf es halt, ein C darf nicht vorkommen.

40:58.570 --> 41:00.330
Also da gibt es ja noch andere Attribute.

41:00.810 --> 41:04.610
Aber was nicht vorkommen darf, ist, dass von so einem Teil des

41:04.610 --> 41:08.830
Schlüssels, von einem Attribut zum Beispiel nur, eine funktionale

41:08.830 --> 41:11.650
Abhängigkeit nach einem Nicht-Schlüssel-Attribut existiert.

41:13.410 --> 41:15.170
Also das darf nicht sein.

41:17.250 --> 41:17.870
Verletzung...

41:19.710 --> 41:23.770
2nf Gut, okay.

41:24.170 --> 41:27.590
Also haben wir die Aufgabe auch schon abgewickelt.

41:28.470 --> 41:29.310
Das war C.

41:30.350 --> 41:32.170
Und jetzt möchten wir da zerlegen.

41:32.850 --> 41:37.270
Und bei der Zerlegung, ja da sieht es dann so aus, dass wir natürlich

41:37.270 --> 41:39.630
unseren Algorithmus einsetzen, den wir kennen.

41:40.070 --> 41:42.610
Und da können wir relativ zügig vorangehen.

41:42.610 --> 41:49.350
Was wir wissen müssen, ist, dass wir eine kanonische Form haben

41:49.350 --> 41:52.110
müssen, von den funktionalen Abhängigkeiten.

41:53.170 --> 41:54.770
Das muss man sich dann nochmal anschauen.

41:54.870 --> 41:59.310
Da ist die erste Übung, die erste Aufgabe ganz gut geeignet, das

41:59.310 --> 42:01.230
nochmal durchzugehen entsprechend.

42:01.970 --> 42:08.330
Hier an der Stelle, da kann man relativ schnell sehen, dass das

42:08.330 --> 42:09.030
erfüllt ist.

42:09.030 --> 42:15.050
Kann man einfach mal durchchecken, was eigentlich der Sinn ist von

42:15.050 --> 42:19.570
dieser kanonischen Überdeckung, die ja Voraussetzung ist, um daraus

42:19.570 --> 42:23.230
jetzt dann den Algorithmus, den Zerlegungsalgorithmus einzuwenden.

42:23.450 --> 42:29.270
Ist ja, dass jede linke Seite, jede linke Seite, dass die einzigartig

42:29.270 --> 42:29.650
ist.

42:30.470 --> 42:34.190
Dass die also nicht noch in dieser Form in anderen funktionalen

42:34.190 --> 42:35.490
Abhängigkeiten auftritt.

42:35.570 --> 42:37.630
Das ist so das Hauptziel.

42:38.630 --> 42:42.310
Und dass also möglichst wenig Redundanz drin enthalten ist.

42:42.770 --> 42:45.930
Und da sehen wir auch, wir haben hier A, hier haben wir I, hier haben

42:45.930 --> 42:50.970
wir zwar I und A beide, aber natürlich wird hier ja dann das Q

42:50.970 --> 42:55.550
abgeleitet, also etwas anderes als aus A und aus I.

42:55.850 --> 42:57.350
Und wir haben hier nochmal M.

42:57.830 --> 43:02.630
Also die kommen nicht in Konflikt an der Stelle.

43:02.630 --> 43:05.750
Man muss dann nochmal natürlich überprüfen, erstmal diese

43:05.750 --> 43:07.990
Linksreduktion durchführen.

43:08.450 --> 43:12.310
Also überprüfen, was ist denn eventuell, es gibt es da eventuell.

43:12.490 --> 43:17.850
Also der erste Schritt bei der Erstellung der kanonischen Überdeckung

43:17.850 --> 43:19.890
ist ja, dass wir eine Linksreduktion machen.

43:20.310 --> 43:24.550
Dass wir also hier anschauen, die linken Seiten, kann ich da irgendein

43:24.550 --> 43:30.370
Attribut weglassen, ohne dass diese Abhängigkeit nachher dann, wenn

43:30.370 --> 43:33.530
wir die Hülle berechnen, ohne dass diese Abhängigkeit fehlt.

43:34.670 --> 43:37.890
Und da sehen wir also, das ist ziemlich minimal hier ausgelegt, da

43:37.890 --> 43:39.110
kann man wohl nichts weglassen.

43:40.170 --> 43:41.530
Linksreduktion entfällt somit.

43:42.010 --> 43:46.270
Dann kommt die Rechtsreduktion, da kann man sich überlegen, ist

43:46.270 --> 43:50.230
irgendein Attribut auf der rechten Seite vielleicht überflüssig, ohne

43:50.230 --> 43:52.650
dass natürlich Abhängigkeiten verloren gehen.

43:53.010 --> 43:56.850
Die müssen nachher ableitbar sein, wenn wir die Hülle berechnen.

43:56.850 --> 44:00.270
Also gucken wir uns auf der rechten Seite an, ob da irgendwas zu

44:00.270 --> 44:01.070
reduzieren ist.

44:01.190 --> 44:03.830
Also hier ist nur ein Attribut, das kann man wohl nicht reduzieren.

44:04.270 --> 44:08.010
Das sind lauter einzelne Attribute, die kann man nicht reduzieren.

44:08.390 --> 44:10.550
Die rechte Seite auch nicht.

44:11.050 --> 44:15.110
Und das nächste, was dann wäre, wäre die Vereinigungsregel, dass ich

44:15.110 --> 44:19.330
nämlich schaue, wenn es mehrere Funktionalabhängigkeiten gibt mit der

44:19.330 --> 44:22.630
gleichen linken Seite, dann schiebe ich die einfach zusammen.

44:23.090 --> 44:27.610
Also wenn da noch so ein A nach X wäre, dann würde ich aus A nach D

44:27.610 --> 44:31.370
und A nach X eine Funktionalabhängigkeit machen im dritten Schritt.

44:31.790 --> 44:34.110
A nach D, X.

44:35.490 --> 44:39.690
Damit die linke Seite wirklich nur einzigartig ist in dieser

44:39.690 --> 44:44.150
kanonischen Überdeckung und in dieser Auswahl von funktionalen

44:44.150 --> 44:44.930
Abhängigkeiten.

44:46.070 --> 44:49.590
Also wichtig ist einfach, dass diese kanonische Überdeckung dann

44:49.590 --> 44:54.830
trotzdem genau die Abhängigkeiten durch die Hüllenbildung erreichen

44:54.830 --> 44:58.630
lässt und umfasst, die wir auch vorher schon hatten.

44:59.630 --> 45:04.650
Nur sind halt da so ein paar Sachen rausgenommen, die eigentlich

45:04.650 --> 45:07.690
überflüssig sind, die man durch die Hüllenbildung sowieso schon

45:07.690 --> 45:08.250
mitkriegt.

45:08.750 --> 45:11.250
Also diese drei Schritte, die sollte man durchaus mal üben.

45:11.670 --> 45:14.150
Erste Aufgabe wäre dann ein Kandidat dazu.

45:15.630 --> 45:20.170
Also können wir die hier, diese kanonische Überdeckung direkt nehmen,

45:20.170 --> 45:24.330
können dann unseren Algorithmus anwerfen und da kriegen wir ja

45:24.330 --> 45:25.910
folgende Vorgabe.

45:26.390 --> 45:32.390
Wir sollen die einzelnen funktionalen Abhängigkeiten durchgehen und

45:32.390 --> 45:36.350
jeweils eine Relation erzeugen.

45:37.130 --> 45:42.610
Es sei denn, es gibt schon eine Relation, die sämtliche Attribute, die

45:42.610 --> 45:45.290
in dieser funktionalen Abhängigkeit enthalten ist.

45:45.690 --> 45:47.050
Funktionalen Abhängigkeiten gehen wir durch.

45:47.050 --> 45:53.090
Dass wir eventuell eine Relation schon haben, die schon alle Attribute

45:53.090 --> 45:55.690
dieser funktionalen Abhängigkeit enthält.

45:56.650 --> 45:58.950
Okay, können wir jetzt einfach mal durchgehen.

45:59.110 --> 46:02.150
Ich mache das auch auf dieser Seite noch, aber mit Blau.

46:02.190 --> 46:03.070
Das sieht man glaube ich.

46:03.950 --> 46:06.090
Also bei D sind wir im Moment.

46:07.570 --> 46:10.230
Das quetsche ich hier rein, das ist glaube ich noch zu sehen.

46:10.830 --> 46:12.490
Gut, D.

46:14.470 --> 46:17.130
Erste funktionale Abhängigkeit wäre AD.

46:17.790 --> 46:19.930
Im Moment starten wir ja, wir haben noch nichts.

46:20.570 --> 46:22.630
Also gibt es auf jeden Fall eine Relation.

46:23.730 --> 46:25.610
R1 mit A und D.

46:26.410 --> 46:27.210
Ich schreibe es jetzt mal so.

46:28.530 --> 46:31.550
Nächste funktionale Abhängigkeit ist I nach M.

46:32.230 --> 46:35.710
I und M sind noch nicht in dieser existierenden Relation drin.

46:35.710 --> 46:37.910
Also gibt es eine zweite Relation.

46:40.930 --> 46:43.990
Dritte funktionale Abhängigkeit ist IA nach Q.

46:45.170 --> 46:49.930
I haben wir schon, A haben wir schon, aber noch nicht in der gleichen

46:49.930 --> 46:50.630
Relation.

46:51.010 --> 46:52.430
Und auch das Q haben wir noch nicht.

46:52.750 --> 46:55.990
Also müssen wir auch eine neue Relation erzeugen.

46:57.270 --> 47:01.650
Also es wäre jetzt nur, das könnte ich mir nur dann sparen, wenn ich

47:01.650 --> 47:03.010
schon eine Relation hätte.

47:03.590 --> 47:06.870
Also dieses R3 würde nur dann nicht erzeugt, wenn z.B.

47:07.070 --> 47:11.730
in R2 schon I, A und Q, alle drei Attribute drin enthalten sind.

47:12.450 --> 47:15.710
Das ist nicht der Fall, also müssen wir eine neue Relation erzeugen,

47:15.810 --> 47:16.790
so der Algorithmus.

47:17.610 --> 47:21.650
Gut, dann kommen wir zur letzten funktionalen Abhängigkeit, M nach B.

47:22.430 --> 47:26.450
Wir haben keine Relation, in der M und B drin enthalten ist.

47:27.490 --> 47:27.950
Zusammen.

47:29.310 --> 47:30.390
Mindestens M und B.

47:30.390 --> 47:36.750
Also müssen wir noch eine R4 einfügen.

47:37.210 --> 47:41.990
Und damit haben wir jetzt erstmal die Hauptschleife des Algorithmus

47:41.990 --> 47:45.390
durchgeführt und haben vier Relationen erzeugt.

47:46.410 --> 47:48.690
Und jetzt kommt noch der Abschlussschritt.

47:49.510 --> 47:53.290
Wir müssen nämlich jetzt noch schauen, ist auch der Schlüssel oder

47:53.290 --> 47:58.050
mindestens einer der Schlüsselkandidaten in einer dieser Relationen

47:58.050 --> 47:58.710
drin enthalten.

47:58.710 --> 48:03.230
Und da haben wir Glück, R3, da ist I und A zusammen drin.

48:03.750 --> 48:07.150
Also sind wir fertig mit unserer Zerlegung.

48:07.610 --> 48:12.150
Was wir jetzt noch machen können und auch sollten, ist, wir sollten

48:12.150 --> 48:14.010
uns noch die Schlüssel vermerken.

48:15.370 --> 48:19.590
Was sind jetzt die Schlüssel in diesen Relationen, die jetzt erzeugt

48:19.590 --> 48:19.790
wurden.

48:20.150 --> 48:23.250
Und das kann man relativ schnell, da wir ja von den funktionalen

48:23.250 --> 48:26.790
Abhängigkeiten ausgegangen sind, ich unterstreiche die da einfach,

48:27.090 --> 48:28.250
also das sieht man ja.

48:28.450 --> 48:31.810
A bestimmt D und genau die zwei Attribute haben wir nur, also das ist

48:31.810 --> 48:32.390
A -Schlüssel.

48:33.090 --> 48:37.870
I, M, I, A, Q sind die zwei Schlüssel und M, B.

48:38.690 --> 48:41.010
So, das wäre die Zerlegung.

48:41.150 --> 48:44.710
Damit hätten wir die Aufgabe D durchgeführt.

48:44.990 --> 48:48.390
Die Frage ist, ist diese Zerlegung jetzt verlustfrei und

48:48.390 --> 48:49.790
abhängigkeitsbewahrend?

48:56.280 --> 48:57.240
Und, ist es?

49:04.620 --> 49:06.600
War da ja eine Meinung?

49:11.090 --> 49:14.930
Ja, was würden Sie sagen, ist die jetzt verlustfrei und

49:14.930 --> 49:15.970
abhängigkeitsbewahrend?

49:15.990 --> 49:18.050
Denn genau so eine soll ich ja in D finden.

49:23.740 --> 49:28.620
Ja, wenn man sich mal den, da wird genickt, ja ja, schon, genau, es

49:28.620 --> 49:29.220
ist so.

49:29.640 --> 49:30.680
Warum ist es so?

49:30.680 --> 49:33.720
Weil unser Algorithmus ja genau das garantiert.

49:34.700 --> 49:38.460
Ja, also wir brauchen das nicht mal nachzuprüfen an dieser Stelle.

49:39.140 --> 49:42.140
Der Algorithmus garantiert eine verlustfreie und

49:42.140 --> 49:44.120
abhängigkeitsbewahrende Zerlegung.

49:44.240 --> 49:47.320
Wenn wir so vorgehen, dann kriegen wir das raus als Ergebnis.

49:48.640 --> 49:53.760
Also, wir können dann aus diesen vier Relationen hier durch natürliche

49:53.760 --> 49:57.800
Verbindung die ursprüngliche Relation exakt wiederbekommen.

49:57.800 --> 50:02.680
Wir kriegen genau die Tuppel, die da drin waren, auf jeden Fall wieder

50:02.680 --> 50:10.360
zurück und wir kriegen nicht mehr Tuppel, wenn wir die vier Relationen

50:10.360 --> 50:14.240
verbinden, als in der ursprünglichen Relation enthalten war.

50:15.020 --> 50:16.420
Das kann man sich dann nochmal überlegen.

50:16.560 --> 50:19.920
Das ist ja genau entlang dieser funktionalen Abhängigkeiten und damit

50:19.920 --> 50:22.820
sind die Abhängigkeiten auf jeden Fall drin und dann können nicht mehr

50:22.820 --> 50:27.640
Tuppel als vorher möglich waren reinkommen und zum anderen haben wir

50:27.640 --> 50:31.880
jeweils auch immer zerlegt über diese funktionalen Abhängigkeiten.

50:32.100 --> 50:35.880
Das heißt, da wird ja dann jeweils auch immer bestimmt, wie die

50:35.880 --> 50:41.020
Attribute zugeordnet sind, wie die zueinander gehören und wir haben

50:41.020 --> 50:42.400
den Schlüssel an einer Stelle.

50:42.700 --> 50:46.320
Das heißt, wir können das Ganze über natürliche Verbindung wieder

50:46.320 --> 50:49.840
zusammenfügen und bekommen exakt die Relation raus, die wir auch

50:49.840 --> 50:50.420
vorher hatten.

50:52.420 --> 50:54.740
Also ist verlustfreie und abhängigkeitsbewahrend.

50:54.740 --> 51:00.080
So, jetzt ist die Frage, befindet sich diese Relation in höherer

51:00.080 --> 51:01.180
Normalform als R?

51:02.140 --> 51:04.220
Das ist ja auch ein Ziel gewesen in D.

51:07.970 --> 51:10.190
Da sagt uns auch der Algorithmus etwas.

51:12.610 --> 51:16.430
Der Algorithmus sagt uns genau an der Stelle, wir erreichen auf jeden

51:16.430 --> 51:20.490
Fall dritte Normalform für alle entstehenden Relationen.

51:20.870 --> 51:24.410
Und da hier oben sogar die zweite Normalform schon verletzt war, haben

51:24.410 --> 51:34.690
wir auf jeden Fall eine höhere Normalform erreicht.

51:35.030 --> 51:38.630
Denn diese Ausgangsrelation war ja nur in erster Normalform.

51:39.010 --> 51:42.710
Diese neu entstandenen vier Relationen befinden sich alle mindestens

51:42.710 --> 51:43.870
in dritter Normalform.

51:45.230 --> 51:48.310
Jetzt könnte man noch gucken, ob sie sich in Boy-Scott-Normalform

51:48.310 --> 51:48.770
befinden.

51:48.890 --> 51:50.910
Das muss nicht unbedingt immer der Fall sein.

51:52.230 --> 51:54.550
Das liefert uns der Algorithmus nicht.

51:57.310 --> 52:01.530
Und dann kommt noch die Frage, wenn das der Fall ist, das wäre in

52:01.530 --> 52:04.950
diesem Fall so, dann kommt noch die Frage, ob sie in vierter

52:04.950 --> 52:05.870
Normalform sind.

52:05.970 --> 52:11.410
Und da müssten mehrwertige Abhängigkeiten bekannt sein, die eben die

52:11.410 --> 52:14.410
Bedingungen verletzen würden.

52:15.090 --> 52:17.530
Und das haben wir hier auch nicht.

52:17.590 --> 52:19.910
Hier sind gar keine bekannt, keine definiert.

52:20.430 --> 52:22.870
Außer die Funktionalen, die sind ja erlaubt.

52:23.150 --> 52:25.670
Und damit haben wir sogar, dass alle vier Relationen in vierter

52:25.670 --> 52:26.550
Normalform sind.

52:27.430 --> 52:29.070
Also das wäre so der Bogen jetzt.

52:29.390 --> 52:32.050
Was wir auf jeden Fall über den Algorithmus schon kriegen, ist diese

52:32.050 --> 52:35.190
höhere Normalform als die Ausgangsrelation.

52:35.370 --> 52:36.370
Und das ist nämlich dritte.

52:36.910 --> 52:38.130
So, jetzt war deine Frage.

52:40.390 --> 52:40.990
Ah, okay.

53:14.640 --> 53:17.540
Also wir betrachten genau, geexakt, das ist die Frage.

53:17.540 --> 53:20.400
Also hier oben haben wir ja sehr ausführlich betrachtet,

53:21.620 --> 53:23.620
Schlüsselkandidaten, Superschlüssel und so weiter für R.

53:24.480 --> 53:26.700
Und jetzt gehen wir runter, zerlegen.

53:27.680 --> 53:29.720
Und jetzt haben wir ja mehrere Relationen.

53:29.820 --> 53:32.440
Jetzt können wir wieder für jede Relation, müssen wir jetzt separat

53:32.440 --> 53:37.180
wieder betrachten, in welcher Normalform befindet sich diese Relation.

53:37.600 --> 53:39.880
Und da nehmen wir jetzt gerade mal die Relation R4.

53:40.460 --> 53:45.300
Und in R4, da wissen wir, der Schlüssel ist M, weil ja die funktionale

53:45.300 --> 53:47.200
Abhängigkeit M nach B existiert.

53:47.200 --> 53:49.080
Damit wird B durch M bestimmt.

53:49.940 --> 53:53.740
Und es gibt keinen anderen Schlüsselkandidaten da drin.

53:54.040 --> 53:56.660
Wir betrachten nur dieses kleine Universum jetzt.

53:57.120 --> 54:00.060
Nur diese Relation, wenn wir die Normalform bestimmen.

54:12.290 --> 54:13.570
Was wollten Sie machen jetzt?

54:17.090 --> 54:18.690
Und wohin?

54:22.770 --> 54:23.990
In R2 rein.

54:26.090 --> 54:29.050
Ja, dann haben wir ein Problem.

54:31.030 --> 54:33.210
Also machen wir ein R2 Strich.

54:37.280 --> 54:41.060
Sieht man, also I, M und B.

54:43.620 --> 54:46.080
I ist eigentlich Schlüssel.

54:46.340 --> 54:49.920
Und jetzt haben wir noch von M nach B eine funktionale Abhängigkeit.

54:50.520 --> 54:54.740
Und das widerspricht der zweiten Normalform.

54:58.980 --> 55:01.940
Der dritten Normalform, Entschuldigung.

55:10.090 --> 55:16.710
Für alle X nach A.

55:18.330 --> 55:24.310
Mit A nicht Schlüsselattribut gilt,

55:31.220 --> 55:34.580
X ist Superschlüssel.

55:40.880 --> 55:45.200
Ja, also das würde bedeuten, das wäre gerade eine Verletzung.

55:45.820 --> 55:49.800
X nach A und X muss dann Superschlüssel sein.

55:49.920 --> 55:56.340
Und wir hatten gerade eben von M nach B eine funktionale Abhängigkeit.

55:56.700 --> 55:58.620
Und M enthält nicht den Schlüssel.

55:58.920 --> 56:00.020
Also ist kein Superschlüssel.

56:00.340 --> 56:02.440
Also ist eine Verletzung von der dritten Normalform.

56:03.800 --> 56:04.640
Geht also nicht.

56:05.200 --> 56:12.120
Wir hätten da dann zwar jetzt, dadurch, dass wir jetzt das I, M

56:12.120 --> 56:17.580
rausgekoppelt hätten, würden wir auf Relationen kommen, die sich schon

56:17.580 --> 56:19.380
in einer höheren Normalform befinden.

56:20.260 --> 56:21.860
Insofern wäre es nicht schlecht.

56:22.080 --> 56:27.200
Also ich habe ja da unten nicht gesagt, dass man hier dritte

56:27.200 --> 56:28.460
Normalform erreichen muss.

56:28.640 --> 56:30.740
Also man könnte das auch akzeptieren.

56:31.200 --> 56:34.320
Aber es wäre halt dann nicht in dritter Normalform, aber in einer

56:34.320 --> 56:36.200
höheren als die Ausgangsrelation.

56:37.660 --> 56:40.280
Wäre auch eine Lösung in dem Sinne.

56:42.840 --> 56:47.740
Also ich könnte das auch machen, könnte R2 Strich definieren und R4

56:47.740 --> 56:49.400
entfällt dann in diesem Fall.

56:51.680 --> 56:55.900
Aber dann ist es nur in zweiter Normalform.

57:02.100 --> 57:03.120
Gut, okay.

57:04.220 --> 57:07.600
Also ich glaube, da haben wir schon einiges gelernt an der Stelle.

57:11.700 --> 57:15.000
Und jetzt gehen wir einfach...

57:17.240 --> 57:21.020
Da muss ich dazu sagen, ich hoffe, es haben noch nicht so viele die

57:21.020 --> 57:23.680
Aufgabe bearbeitet, obwohl das auch nicht schadet.

57:23.720 --> 57:26.700
Das ist nämlich dann auch einfach nochmal eine Übungsaufgabe an der

57:26.700 --> 57:26.980
Stelle.

57:26.980 --> 57:32.880
Aber das, was ich eigentlich ausbringen wollte und herausarbeiten

57:32.880 --> 57:37.580
wollte, denn die Neuigkeit, die ist hier nicht zu erhalten,

57:40.900 --> 57:43.800
weil ich nämlich hier was vergessen habe.

57:44.980 --> 57:46.620
Und das möchte ich auch hinzufügen.

57:46.740 --> 57:49.760
Ich möchte das Übungsblatt einfach nachträglich ersetzen.

57:50.420 --> 57:55.520
Also hier an der Stelle erweitern und dann die Lösung auch für dieses

57:55.520 --> 57:56.880
Erweiterte dann angeben.

57:57.300 --> 57:59.660
Und zwar sage ich das jetzt einfach mal.

58:01.520 --> 58:03.420
Das ist wie folgt.

58:03.500 --> 58:05.700
Ich habe da nämlich vergessen, die Relationen anzugeben.

58:06.400 --> 58:09.860
Ich möchte nicht die Zerlegung...

58:15.280 --> 58:19.100
Ich möchte nicht entlang der funktionalen Abhängigkeiten zerlegen,

58:20.720 --> 58:24.800
sondern, ich schreibe es dann aufs Übungsblatt drauf, sondern hier

58:24.800 --> 58:28.780
eine spezielle Relation, Straßen und Orte.

58:34.900 --> 58:38.000
Und dann möchte ich hier Spezielle angeben.

58:38.160 --> 58:41.760
Und zwar möchte ich hier die Relation Straßen haben.

58:42.360 --> 58:47.260
Und diese Relation Straßen, die hat genau die Attribute Straße.

58:53.190 --> 58:56.770
Straße und Postleitzahl.

58:59.070 --> 59:04.590
Und die Relation Orte, die wäre dann nach dieser funktionalen

59:04.590 --> 59:07.090
Abhängigkeit, die hier angegeben wurde.

59:07.690 --> 59:12.050
Das wäre nämlich gerade dann Postleitzahl, Ort und Bundesland.

59:14.450 --> 59:16.510
Und die sollten Sie anschauen.

59:17.630 --> 59:20.390
Das ist natürlich nicht entlang der funktionalen Abhängigkeiten

59:20.390 --> 59:21.710
zerlegt, hier an der Stelle.

59:22.450 --> 59:25.190
Deswegen ergibt es hier einen anderen Effekt.

59:25.190 --> 59:28.310
Das kann man natürlich auch machen, aber dann gibt es, ja das ist so,

59:28.710 --> 59:31.190
und alles okay, hat man schön geübt dann.

59:31.330 --> 59:32.670
Aber es gibt keinen neuen Effekt.

59:32.750 --> 59:35.510
Und ich möchte hier gerne diese zwei Relationen betrachten.

59:36.070 --> 59:41.570
Und da gebe ich dann auch ein Beispiel noch in der Lösung, wie das

59:41.570 --> 59:42.090
aussieht.

59:42.250 --> 59:44.230
Das ist nämlich eine sehr schöne Sache.

59:44.490 --> 59:49.430
Da wird nämlich eine Zerlegung erreicht, hier diese Zerlegung.

59:49.630 --> 59:52.930
Die kann man nachweisen, dass die verlustfrei ist.

59:52.930 --> 59:55.870
Aber sie ist nicht abhängigkeitsbewahrend.

59:56.270 --> 59:58.770
Nämlich diese Abhängigkeit hier, die ist nicht mehr drin.

01:00:02.900 --> 01:00:06.880
Okay, also soweit zu dieser Aufgabe, für die diese schon bearbeitet

01:00:06.880 --> 01:00:07.300
haben.

01:00:07.580 --> 01:00:09.980
Ich denke, die sind wohl gut klar gekommen.

01:00:10.740 --> 01:00:12.760
Aber ich möchte sie noch abändern.

01:00:15.600 --> 01:00:18.880
Und vor allem würde ich das dann auch empfehlen, dass man sich das

01:00:18.880 --> 01:00:20.200
genau nochmal anschaut.

01:00:20.660 --> 01:00:24.400
Ich habe das als Übungsaufgabe, kann ich vielleicht auch dazu sagen,

01:00:24.500 --> 01:00:28.080
für diejenigen, die das Buch schon mal angeguckt haben.

01:00:28.220 --> 01:00:30.080
Das ist auch in unserer Literaturliste drin.

01:00:30.480 --> 01:00:39.640
Ich habe das aus dem Buch der Anmerkssysteme von Kemper und Eikler.

01:00:40.320 --> 01:00:42.840
Habe ich das Beispiel auch rausgenommen.

01:00:43.080 --> 01:00:46.660
Und ich finde das äußerst gut gelungen, dieses Beispiel.

01:00:46.660 --> 01:00:49.620
Deswegen habe ich das von Kollegen Kemper da übernommen.

01:00:50.640 --> 01:00:55.520
Okay, das darf ich sagen, weil der war mal wirklich ein Kollege von

01:00:55.520 --> 01:00:55.720
mir.

01:00:56.900 --> 01:00:58.240
War mal hier in unserer Gruppe.

01:00:58.960 --> 01:01:03.520
Okay, so jetzt kommen wir zur Aufgabe 4, mehrwertige Abhängigkeiten.

01:01:03.940 --> 01:01:08.000
Da schauen wir uns mal ganz kurz an, das ist so zum Aufwärmen in dem

01:01:08.000 --> 01:01:08.480
Bereich.

01:01:10.120 --> 01:01:11.880
Ja, wie sieht denn das hier aus?

01:01:12.020 --> 01:01:14.000
Was heißt mehrwertige Abhängigkeit?

01:01:14.500 --> 01:01:19.140
Und da gehen wir jetzt mal davon aus, wir hätten eine Relation R1

01:01:22.400 --> 01:01:24.900
mit den Attributen A, B und C.

01:01:25.840 --> 01:01:30.120
Und da soll es eben diese mehrwertige Abhängigkeit A nach B geben.

01:01:32.620 --> 01:01:36.700
Und jetzt habe ich hier so eine Relation Ausprägung.

01:01:36.940 --> 01:01:39.660
Also ich mache da mal noch ein bisschen, dass es etwas klarer wird.

01:01:39.660 --> 01:01:43.020
So, das sind Tabellendarstellungen.

01:01:43.600 --> 01:01:46.420
Und das soll aber jetzt nur ein Ausschnitt sein.

01:01:47.860 --> 01:01:51.140
Wie wir auch gleich sehen werden, denn das kann gar nicht alles sein.

01:01:51.640 --> 01:01:53.820
Da fehlen Tuppel in dieser Relation.

01:01:54.580 --> 01:01:55.720
Woran sehen wir das?

01:01:55.780 --> 01:01:59.620
Wir sehen das daran, dass wir hier eine mehrwertige Abhängigkeit

01:01:59.620 --> 01:02:00.100
haben.

01:02:00.320 --> 01:02:02.540
Und das ist jetzt gerade die Aufgabe hier.

01:02:03.160 --> 01:02:06.900
Wir sollen nämlich von diesen Beispiel-Tuppeln hier ausgehen und

01:02:06.900 --> 01:02:09.640
sollen dann sagen, welche anderen Tuppel auf jeden Fall in dieser

01:02:09.640 --> 01:02:10.900
Relation noch drin sind.

01:02:11.880 --> 01:02:13.960
Das wissen wir, weil wir wissen, das ist eine mehrwertige

01:02:13.960 --> 01:02:14.620
Abhängigkeit.

01:02:15.700 --> 01:02:19.680
Sonst würde die mehrwertige Abhängigkeit nicht erfüllt werden.

01:02:19.980 --> 01:02:23.080
Okay, was heißt eine mehrwertige Abhängigkeit?

01:02:24.340 --> 01:02:29.220
Ich schreibe einfach mal den formalen Ausdruck nochmal hin.

01:02:29.800 --> 01:02:35.640
Mehrwertige Abhängigkeit heißt an der Stelle, dass wenn ich hier die

01:02:35.640 --> 01:02:46.440
Kombination betrachte von den Werten, die von A, also A nach B, die

01:02:46.440 --> 01:02:51.200
mehrwertige Abhängigkeit, wenn ich jetzt einen A-Wert betrachte und

01:02:51.200 --> 01:02:56.040
dann mir anschaue in dieser Relation, welche B-Werte da drin

01:02:56.040 --> 01:03:01.140
zugeordnet sind, dem gleichen A-Wert, dann ist diese Zuordnung zu den

01:03:01.140 --> 01:03:05.240
A -Werten unabhängig zu der Zuordnung der C-Werte.

01:03:06.580 --> 01:03:14.300
Das heißt, ich habe also formal dann sowas, mal gucken, dass ich das

01:03:14.300 --> 01:03:15.620
auch richtig hinschreibe,

01:03:19.650 --> 01:03:24.330
ich habe also sowas gegeben, wenn ich mir überlege, ich würde eine

01:03:24.330 --> 01:03:32.470
Projektion machen auf A, B, C, das wäre in dem Fall die gesamte

01:03:32.470 --> 01:03:37.890
Relation, das wäre in dem Fall gleich A, aber das interessiert jetzt

01:03:37.890 --> 01:03:43.830
gerade im Moment nicht, dann wäre das das gleiche, wie wenn ich eine

01:03:43.830 --> 01:03:52.610
Projektion mache auf A, B, die B-Werte sind zugeordnet den A-Werten,

01:03:53.250 --> 01:03:59.990
ich mache eine Projektion auf A, C, denn die C-Werte sind auch A

01:03:59.990 --> 01:04:03.970
zugeordnet, aber unabhängig jetzt von den B-Werten und ich mache dann

01:04:03.970 --> 01:04:05.750
hier ein kathesisches Produkt.

01:04:06.810 --> 01:04:11.570
Also kombiniere die beliebig, was heißt beliebig, also jedes Tupel

01:04:11.570 --> 01:04:16.570
hier, jedes A, B-Tupel hier mit jedem A, C-Tupel hier.

01:04:16.870 --> 01:04:17.790
Das stimmt aber nicht.

01:04:21.570 --> 01:04:25.290
Okay, Entschuldigung, das ist nicht richtig, ich muss das natürlich

01:04:25.290 --> 01:04:28.010
auf einen A-Wert beziehen, deswegen ist es nämlich etwas

01:04:28.010 --> 01:04:28.830
komplizierter.

01:04:30.330 --> 01:04:33.950
Entschuldigung, ich muss das gerade schnell ersetzen an der Stelle.

01:04:33.950 --> 01:04:36.150
Mal gerade

01:04:41.070 --> 01:04:45.870
gucken, wie ich das mache.

01:04:59.280 --> 01:05:06.400
Also ich ersetze das hier durch Erstrich, mache das in Rot, durch

01:05:06.400 --> 01:05:12.140
Erstrich, das entfällt dann, ich tue das A-Wert.

01:05:14.880 --> 01:05:18.860
Okay, ich lasse es mal da, dann sehen Sie, was sich da ändert.

01:05:19.540 --> 01:05:20.880
Nachher können wir es noch streichen.

01:05:22.660 --> 01:05:35.800
So, und zwar das Erstrich, und zwar gilt es für alle A-Elemente, A von

01:05:35.800 --> 01:05:42.860
R, für alle einzelnen Werte A muss gelten, und das Erstrich wäre dann

01:05:42.860 --> 01:05:46.700
an der Stelle gerade

01:05:50.860 --> 01:05:59.880
die Tupel, die ich erhalte aus der Selektion über den A-Wert.

01:06:01.880 --> 01:06:04.920
Also Erstrich ist gleich...

01:06:17.770 --> 01:06:22.950
Also ich betrachte jetzt einen A-Wert, deswegen hat es nicht gestimmt

01:06:22.950 --> 01:06:23.170
hier.

01:06:23.170 --> 01:06:25.830
Einen A-Wert betrachte ich.

01:06:30.210 --> 01:06:33.470
Das irritiert total, das tun wir einfach mal weg.

01:06:34.390 --> 01:06:36.670
Einen A-Wert betrachte ich.

01:06:44.560 --> 01:06:52.900
Und dieser eine A-Wert, da gilt dann, wenn ich diesen einen, wenn ich

01:06:52.900 --> 01:06:58.440
den Projizierer selektiere, genau die Tupel, die diesen A-Wert

01:06:58.440 --> 01:07:03.820
enthalten, und dann schaue ich an, welche B-Werte sind denn da drin,

01:07:04.860 --> 01:07:09.180
für diesen einen festen A-Wert, welche B-Werte gibt es da, und

01:07:09.180 --> 01:07:15.100
kombiniere die mit den C-Werten, die es für diesen einen A-Wert gibt,

01:07:15.100 --> 01:07:19.160
unabhängig jetzt vom B-Wert, kombiniere die dann über das kathesische

01:07:19.160 --> 01:07:23.240
Produkt, dann ist es dasselbe, wie wenn ich in diese selektierte

01:07:23.240 --> 01:07:28.220
Relation reingehe, mit dem einen festgehaltenen A-Wert, und mir

01:07:28.220 --> 01:07:32.200
sämtliche Tupel raushole, mit B- und C-Werten.

01:07:33.200 --> 01:07:35.940
Also das kathesische Produkt hier ist direkt hier drin.

01:07:36.760 --> 01:07:37.880
In der Relation drin.

01:07:38.100 --> 01:07:40.440
Das ist das, was es mir aussagt.

01:07:41.080 --> 01:07:43.680
Und das kann ich jetzt hier einfach nachvollziehen.

01:07:43.680 --> 01:07:48.760
Ich kann also sagen, ich nehme hier mal beispielsweise den A-Wert 1,

01:07:49.240 --> 01:07:53.340
den halte ich mir jetzt mal fest, der kommt hier nochmal vor, und

01:07:53.340 --> 01:07:57.520
jetzt sehe ich, da gibt es einen B-Wert 2 und einen B-Wert 6.

01:07:58.240 --> 01:08:01.080
Und es gibt einen C-Wert 3 und einen C-Wert 7.

01:08:01.400 --> 01:08:07.200
Dass jetzt 2 und 3 gerade zusammenkommen, darf keine Auswirkung haben,

01:08:08.080 --> 01:08:10.640
weil die sollen ja unabhängig voneinander sein.

01:08:10.640 --> 01:08:16.520
Das heißt, ich gehe jetzt so vor, betrachte dieses erste Tupel, und

01:08:16.520 --> 01:08:25.400
sage, wenn 1, 2, 3 drin enthalten ist, und 1, 6, also 2 und 6 als B

01:08:25.400 --> 01:08:29.340
-Wert drin enthalten ist, und ein C-Wert 3 mit kombiniert ist, dann

01:08:29.340 --> 01:08:32.940
muss es auch ein Tupel geben, das 1, 6 und 3 enthält.

01:08:33.260 --> 01:08:36.500
Weil die B- und die C-Werte, die dürfen nicht zusammenhängen.

01:08:36.780 --> 01:08:38.440
Die müssen unabhängig sein voneinander.

01:08:38.440 --> 01:08:45.340
Also muss ich hier ein neues Tupel kriegen.

01:08:45.460 --> 01:08:49.200
1, 6 und 3.

01:08:51.580 --> 01:08:57.560
Also B-Werte habe ich jetzt 2 und 6, und 2 war kombiniert mit 3, aber

01:08:57.560 --> 01:09:01.680
muss ja unabhängig sein von dem B-Wert, also muss es auch dieses 3

01:09:01.680 --> 01:09:03.360
kombiniert mit 6 da sein.

01:09:07.200 --> 01:09:08.860
Mehr habe ich jetzt hier nicht drin.

01:09:08.860 --> 01:09:15.700
Damit wäre dieser erste Fall der B-Wert-Kombinationen bei dem A-Wert

01:09:15.700 --> 01:09:17.320
abgedeckt.

01:09:17.420 --> 01:09:19.880
Jetzt muss ich nochmal gucken, was habe ich denn mit den C-Werten.

01:09:19.960 --> 01:09:21.780
Da gilt ja das gleiche.

01:09:22.240 --> 01:09:28.580
Also 1, 2, 3 habe ich hier, und hier unten ist eine 7 als C-Wert für

01:09:28.580 --> 01:09:29.960
den 1a kombiniert.

01:09:30.520 --> 01:09:34.980
Also darf ich nicht 2, 3 nur haben, sondern muss auch 2, 7 haben.

01:09:36.200 --> 01:09:38.760
Damit da kein Zusammenhang existiert.

01:09:39.160 --> 01:09:44.580
Also weiß ich, ich muss auch hier haben 1, 2, 7.

01:09:46.380 --> 01:09:47.740
Gut, okay.

01:09:48.180 --> 01:09:50.700
Das würde das genau hier erfüllen jetzt.

01:09:51.220 --> 01:09:56.960
Die Projektion von diesen Tupeln, die den gleichen A-Wert haben, wenn

01:09:56.960 --> 01:10:01.620
ich da die B-Werte betrachte, ist 2 und 6, und die Projektion von

01:10:01.620 --> 01:10:05.640
diesen Tupeln, die den gleichen A-Wert haben, und da die C-Werte,

01:10:05.780 --> 01:10:09.520
nämlich 3 und 7 betrachten, und dann kombiniere ich die über das

01:10:09.520 --> 01:10:10.520
kathesische Produkt.

01:10:10.760 --> 01:10:15.620
Das heißt, es kommt 2, 3, 2, 7, 6, 3, 6, 7 vor.

01:10:15.760 --> 01:10:21.780
Und genau das habe ich hier auch in der Relation und kriege dann hier

01:10:21.780 --> 01:10:23.260
das hier raus.

01:10:23.400 --> 01:10:25.280
Und genau die Tupeln fehlen da nämlich noch.

01:10:27.320 --> 01:10:28.240
Das weiß ich.

01:10:30.300 --> 01:10:32.080
Die Tupeln fehlen an der Stelle.

01:10:33.840 --> 01:10:34.360
Okay.

01:10:34.920 --> 01:10:39.840
Das Ganze kann man sich jetzt nochmal anschauen für den Fall, dass man

01:10:39.840 --> 01:10:42.880
jetzt 4 Attribute hat, aber da ist es eigentlich das Gleiche.

01:10:43.360 --> 01:10:46.740
Man muss halt nur dann ein bisschen mehr kombinieren noch, weil dieses

01:10:46.740 --> 01:10:52.720
kathesische Produkt ja hier gilt und da muss man also mehr

01:10:52.720 --> 01:10:55.240
Kombinationen miteinander kombinieren.

01:10:55.580 --> 01:10:56.860
Das ist die Aufgabe B.

01:10:58.120 --> 01:11:00.020
So, jetzt kommen wir zur Aufgabe 5.

01:11:00.020 --> 01:11:04.480
Und das ist nochmal mehrwertige Abhängigkeit, so von der anderen Ecke

01:11:04.480 --> 01:11:09.280
her kommend erläutert, nämlich anhand eines konkreten Beispiels.

01:11:09.340 --> 01:11:13.060
Da war 2 in der Vorlesung auch ein sehr gutes Beispiel, finde ich, wo

01:11:13.060 --> 01:11:14.720
man es auch gut erklären konnte.

01:11:14.800 --> 01:11:16.020
Hier jetzt nochmal ein anderes.

01:11:16.760 --> 01:11:20.960
Und zwar habe ich hier einfach 2 Relationen mal mir überlegt.

01:11:21.100 --> 01:11:23.860
Das eine ist Lehrer-Hobby und das andere Lehrer-Klasse.

01:11:24.400 --> 01:11:26.820
Habe es einfach so genannt, dass man es sich merken kann.

01:11:26.820 --> 01:11:33.200
In Lehrer-Hobby, da steht drin, die Fächer, die ein Lehrer lehren kann

01:11:33.200 --> 01:11:35.200
und außerdem seine Hobbys.

01:11:35.400 --> 01:11:38.220
Das klingt schon so sehr unabhängig voneinander.

01:11:38.880 --> 01:11:42.660
Verdacht mehrwertiger Abhängigkeit, werden wir gleich mal gucken,

01:11:43.280 --> 01:11:44.640
woran man das dann erkennt.

01:11:45.020 --> 01:11:48.540
Zweiter Fall beschreibt die Fächer, die ein Lehrer in einer Klasse

01:11:48.540 --> 01:11:49.060
lehrt.

01:11:49.500 --> 01:11:52.120
Das heißt, sie haben auch einen Lehrernamen, einen Fach und eine

01:11:52.120 --> 01:11:52.480
Klasse.

01:11:53.440 --> 01:11:58.140
Ein Lehrer lehrt Fächer, ein Lehrer lehrt in einer Klasse, ein Lehrer

01:11:58.140 --> 01:12:00.580
lehrt Fächer, ein Lehrer hat Hobbys.

01:12:01.180 --> 01:12:04.120
Diese Zusammenhänge habe ich, aber die sind hier natürlich

01:12:04.120 --> 01:12:05.860
unterschiedlich kombiniert.

01:12:06.260 --> 01:12:07.720
Und das wollen wir uns ganz kurz anschauen.

01:12:09.540 --> 01:12:15.380
Wir haben hier beispielsweise jetzt, fangen wir mal mit dem A-Teil an,

01:12:15.500 --> 01:12:16.940
da hatte ich ja schon mal motiviert.

01:12:17.320 --> 01:12:19.920
Oh, das klingt sehr unabhängig voneinander, ist auch so.

01:12:21.740 --> 01:12:23.480
Also, wie wäre denn das hier?

01:12:23.480 --> 01:12:26.620
Wir haben den Lehrernamen Meier, beispielsweise.

01:12:27.600 --> 01:12:28.980
Und wir haben Englisch.

01:12:29.680 --> 01:12:32.900
Und wir haben beispielsweise sein Hobby Surfen.

01:12:35.440 --> 01:12:41.700
Und der gleiche Meier, der würde auch Deutsch noch lehren.

01:12:42.900 --> 01:12:46.800
Und hätte auch noch als Hobby Bergsteigen.

01:12:46.940 --> 01:12:47.720
Das ist zu lang.

01:12:47.900 --> 01:12:48.620
Mal mal lesen.

01:12:49.120 --> 01:12:49.920
Jetzt passt es nicht hin.

01:12:49.920 --> 01:12:50.720
Lesen.

01:12:51.480 --> 01:12:51.480
Okay.

01:12:52.020 --> 01:12:54.020
So, und jetzt kämen wir genauso wieder dazu.

01:12:54.600 --> 01:12:58.140
Was hat es damit zu tun, dass der Meier Englisch lehrt, dass er auch

01:12:58.140 --> 01:12:58.640
surft?

01:12:59.420 --> 01:13:02.500
Dieser Zusammenhang, der muss nicht in einem Tuppel drin enthalten

01:13:02.500 --> 01:13:02.860
sein.

01:13:02.980 --> 01:13:04.340
Das sagt nichts aus.

01:13:04.580 --> 01:13:08.080
Wenn ich das nur in einem Tuppel habe, dann hätte das die Aussage,

01:13:08.520 --> 01:13:09.760
dass das zusammen gehört.

01:13:10.380 --> 01:13:13.980
Dass er nur dann Englisch lehrt, wenn er surft, in dem Sommer zum

01:13:13.980 --> 01:13:14.360
Beispiel.

01:13:15.360 --> 01:13:16.760
Wollen wir aber natürlich nicht.

01:13:16.880 --> 01:13:19.540
Sondern das soll wirklich unabhängig voneinander sein.

01:13:19.920 --> 01:13:22.900
Und das würde bedeuten, dass das tatsächlich eine mehrwertige

01:13:22.900 --> 01:13:24.080
Abhängigkeit ist.

01:13:24.620 --> 01:13:25.740
Und zwar von Meier.

01:13:26.040 --> 01:13:26.740
Äh, von Meier.

01:13:27.320 --> 01:13:28.100
Okay.

01:13:29.480 --> 01:13:35.100
Von L-Name nach Fach.

01:13:36.300 --> 01:13:39.800
Und damit wissen wir aus den Regeln der mehrwertigen Abhängigkeiten,

01:13:40.220 --> 01:13:43.560
dass auch eine mehrwertige Abhängigkeit von L-Name nach Hobby

01:13:43.560 --> 01:13:44.640
existiert.

01:13:45.200 --> 01:13:46.760
So ist die ja definiert.

01:13:47.160 --> 01:13:47.300
Okay.

01:13:47.820 --> 01:13:50.780
Und das heißt dann jetzt hier an der Stelle, dass wir eher die Tuppel

01:13:50.780 --> 01:13:51.720
aufnehmen müssen.

01:13:52.200 --> 01:13:54.180
Meier, Deutsch und Surfen.

01:13:54.820 --> 01:13:59.620
Denn auch wenn er Deutsch lehrt, was er ja kann, muss er auch das

01:13:59.620 --> 01:14:01.420
Hobby Surfen irgendwie ausdrücken.

01:14:01.960 --> 01:14:05.700
Und Meier, Englisch und Lesen muss auch noch mit rein.

01:14:06.400 --> 01:14:08.840
Und das ist genau das, was wir eigentlich ausdrücken wollen.

01:14:09.160 --> 01:14:12.400
Hier unten, dagegen ist es ein bisschen anders, da steht es ja schon.

01:14:12.400 --> 01:14:16.180
Fächer, die ein Lehrer in einer bestimmten Klasse lehrt.

01:14:16.280 --> 01:14:20.900
Hier ist es also wichtig, welches Fach mit welcher Klasse in

01:14:20.900 --> 01:14:22.020
Kombination steht.

01:14:22.600 --> 01:14:26.020
Also da hätten wir wieder unseren Meier und der hätte jetzt hier

01:14:26.020 --> 01:14:31.200
Englisch und das würde er auch tatsächlich in der Klasse 7c lehren.

01:14:32.360 --> 01:14:35.180
Und zum anderen hat er dann auch Deutsch.

01:14:35.560 --> 01:14:36.800
Wissen wir ja, dass er das kann.

01:14:38.720 --> 01:14:41.500
Und Deutsch hat er aber nicht in der Klasse 7c.

01:14:41.900 --> 01:14:42.600
Soll vorkommen.

01:14:43.340 --> 01:14:45.780
Also das hat er von mir aus dann in der 5a.

01:14:47.380 --> 01:14:48.320
Und das reicht uns.

01:14:48.440 --> 01:14:50.580
Das ist genau das, was wir auch aussagen wollen.

01:14:50.680 --> 01:14:51.960
Das wissen wir, was vorkommt.

01:14:52.120 --> 01:14:57.060
Das heißt, Deutsch und 5a sind bedeutungstragend, dass die zusammen

01:14:57.060 --> 01:14:58.400
vorkommen.

01:14:58.480 --> 01:15:01.780
Es sind nicht unabhängig voneinander diese Werte, sondern ich möchte,

01:15:02.340 --> 01:15:06.140
ich brauche diesen Zusammenhang und der mir in dem Tuppel ausgedrückt

01:15:06.140 --> 01:15:11.380
wird, dass Deutsch und 5a dann praktisch zusammengehören und

01:15:11.380 --> 01:15:15.280
entscheidend sind für die Aussage, was in der Anwendungswelt wirklich

01:15:15.280 --> 01:15:16.340
vor sich geht.

01:15:17.080 --> 01:15:20.300
Es ist nicht unabhängig voneinander das Fach und die Klasse, sondern

01:15:20.300 --> 01:15:24.160
es interessiert, in welcher Klasse welches Fach gelehrt wird.

01:15:25.140 --> 01:15:32.740
Ok, also so mehrwertige Abhängigkeiten auf die auf dem Beispiel, auf

01:15:32.740 --> 01:15:33.800
der Beispielebene.

01:15:37.400 --> 01:15:38.720
UML-Modellierung.

01:15:38.720 --> 01:15:39.940
Was ganz anderes.

01:15:43.960 --> 01:15:48.420
Da habe ich auch mehrere Beispielfälle mal zusammengetragen und da

01:15:48.420 --> 01:15:51.380
gibt es dann immer unterschiedliche Dinge, die man beachten möchte.

01:15:51.740 --> 01:15:56.640
Hier geht es jetzt darum, in der Aufgabe 6 ist es jetzt hier, dass ich

01:15:56.640 --> 01:16:02.400
hier eine Anwendung habe und da gibt es sehr viele Angaben über

01:16:03.640 --> 01:16:05.720
Kardinalitäten oder Multiplizitäten.

01:16:06.400 --> 01:16:07.760
Und diese

01:16:10.920 --> 01:16:13.960
Kardinalitäten, die möchte ich gerne hier an der Stelle in dieser

01:16:13.960 --> 01:16:16.820
Aufgabe üben und das gucken wir uns mal kurz schnell an.

01:16:17.540 --> 01:16:21.360
Und dann kommt auch noch die Frage, sind alle Angaben im UML-Diagramm

01:16:21.360 --> 01:16:23.200
darstellbar, welche nicht und warum?

01:16:23.440 --> 01:16:26.320
Da kann man sich auch noch ein bisschen überlegen und Gedanken machen,

01:16:26.420 --> 01:16:27.380
warum das so ist.

01:16:28.240 --> 01:16:32.340
Jetzt gehen wir mal einfach durch und schauen uns das Diagramm an.

01:16:35.720 --> 01:16:37.260
Das sieht zum Beispiel so aus.

01:16:37.780 --> 01:16:41.260
Das drückt ungefähr das aus, was wir gerade eben gelesen haben.

01:16:41.900 --> 01:16:45.340
Und jetzt müssen wir mal schauen, was gibt es denn jetzt hier für

01:16:45.340 --> 01:16:48.940
entsprechende Kardinalitäten, die ich hier eintragen kann.

01:16:50.100 --> 01:16:53.760
Und zwar können wir da gleich mal vielleicht unten anfangen, zwischen

01:16:53.760 --> 01:16:58.280
Krankenhaus, Arztstation, diese Ecke, die ist etwas interessanter.

01:16:58.720 --> 01:17:02.560
Schauen wir uns gerade noch mal an, was da steht.

01:17:06.680 --> 01:17:09.700
Ok, eine Station kann leer sein, interessiert uns im Moment gerade

01:17:09.700 --> 01:17:09.960
nicht.

01:17:10.120 --> 01:17:15.900
Wir wollten ja Arztstation und Krankenhaus betrachten.

01:17:16.920 --> 01:17:20.480
Jede Station gehört zu exakt einem Krankenhaus.

01:17:21.740 --> 01:17:24.920
Das wäre eigentlich sogar eine Aggregationsbeziehung, könnte man hier

01:17:24.920 --> 01:17:25.540
modellieren.

01:17:25.700 --> 01:17:27.060
Ich habe es jetzt hier mal nicht gemacht.

01:17:28.540 --> 01:17:30.680
Aber das wäre eigentlich das Korrekte.

01:17:31.220 --> 01:17:34.700
Gehört zu exakt einem Krankenhaus und jedes Krankenhaus hat mindestens

01:17:34.700 --> 01:17:36.020
5 Stationen.

01:17:36.900 --> 01:17:39.220
Gucken wir mal, wie das sich umsetzen würde.

01:17:39.820 --> 01:17:44.380
Also eine Station, wenn wir die hier haben, dann schauen wir, wie

01:17:44.380 --> 01:17:48.400
viele Krankenhäuser gehören zu dieser Station, da gehört exakt eines

01:17:48.400 --> 01:17:48.860
dazu.

01:17:51.600 --> 01:17:55.560
Wenn wir ein Krankenhaus haben, dann hat dieses Krankenhaus nicht nur

01:17:55.560 --> 01:17:59.740
eine Station, aber mindestens eine Station, sondern, was war es jetzt

01:17:59.740 --> 01:18:00.020
gerade?

01:18:09.180 --> 01:18:10.980
Mindestens 5 halt.

01:18:13.220 --> 01:18:14.140
Das war falsch.

01:18:15.940 --> 01:18:20.640
Da steht drin, ein Krankenhaus hat mindestens 5 Stationen, glaube ich.

01:18:21.080 --> 01:18:24.880
Und kann aber, die Oberzahl ist nicht festgelegt.

01:18:24.980 --> 01:18:25.940
Gucken wir nochmal nach.

01:18:27.960 --> 01:18:31.320
Jedes Krankenhaus hat mindestens 5 Stationen.

01:18:31.520 --> 01:18:32.700
Ist nicht ausgesagt, wie viele.

01:18:32.820 --> 01:18:36.180
Also müssen wir da minimal 5, maximal Stern angeben.

01:18:36.180 --> 01:18:41.000
So, an einem Krankenhaus sind zwischen 5 und 200 Ärzten angestellt.

01:18:41.780 --> 01:18:45.060
Und ein Arzt ist an mindestens einem Krankenhaus beschäftigt, wenn wir

01:18:45.060 --> 01:18:46.960
ihn hier aufnehmen, in die Datenbasis.

01:18:47.700 --> 01:18:51.720
Und er darf an höchstens 3 Krankenhäusern gleichzeitig beschäftigt

01:18:51.720 --> 01:18:52.060
sein.

01:18:52.300 --> 01:18:55.900
Oder in der Datenbasis ist halt vermerkt, dass er beschäftigt ist,

01:18:55.960 --> 01:18:57.820
maximal in 3 Krankenhäusern.

01:18:59.560 --> 01:19:07.700
Also, ein Krankenhaus hat eine bestimmte Anzahl von Ärzten und zwar

01:19:07.700 --> 01:19:09.040
mindestens 5 wieder.

01:19:10.900 --> 01:19:12.460
Und bis zu 200.

01:19:13.300 --> 01:19:19.300
Und ein Arzt ist mindestens an einem Krankenhaus und maximal an 3.

01:19:20.250 --> 01:19:22.020
Können wir also einfach darstellen.

01:19:22.360 --> 01:19:24.840
Diese Angaben haben wir hier alle notiert.

01:19:25.220 --> 01:19:30.160
Also immer die Richtung, immer in Leserichtung sozusagen, dann die

01:19:30.160 --> 01:19:32.540
Kardinalitäten angeben, das ist wichtig.

01:19:32.540 --> 01:19:35.620
Weil es bei ER gerade umgekehrt funktioniert.

01:19:36.340 --> 01:19:39.200
Wenn jemand mal mit Entity Relationship modelliert, da muss man

01:19:39.200 --> 01:19:41.560
aufpassen, das ist eine andere Semantik.

01:19:41.940 --> 01:19:43.160
Da muss man anders denken.

01:19:43.980 --> 01:19:48.180
Also bei UML immer in Leserichtung die Kardinalitäten angeben, man

01:19:48.180 --> 01:19:53.360
nimmt also ein Objekt aus dieser Klasse und schaut danach, wie viele

01:19:53.360 --> 01:19:56.580
Objekte aus dieser Klasse sind damit in Beziehung.

01:19:59.980 --> 01:20:04.780
So, interessant ist eventuell noch hier diese dreistellige Beziehung

01:20:04.780 --> 01:20:10.520
und da geht es darum, dass man hier eine Beziehung behandelt hat und

01:20:10.520 --> 01:20:15.880
da ist ein Patient, wird von einem Arzt auf einer Station behandelt.

01:20:16.480 --> 01:20:17.700
Das ist hier ausgedrückt.

01:20:19.840 --> 01:20:25.500
Gucken wir mal, was unsere Kardinalitäten oder unsere Aussagen, unsere

01:20:25.500 --> 01:20:27.640
Beschreibung der Minivell dazu sagt.

01:20:30.700 --> 01:20:31.180
Ok.

01:20:32.500 --> 01:20:32.980
Also...

01:20:34.900 --> 01:20:38.260
Also das oben, ein Patient leidet an einer oder mehreren Krankheiten,

01:20:38.380 --> 01:20:40.020
das ist der obere Teil.

01:20:40.420 --> 01:20:43.420
Es gibt jedoch Krankheiten, an denen niemand leidet, ist auch der

01:20:43.420 --> 01:20:46.220
obere Teil, das kann man ja vielleicht noch ergänzen.

01:20:46.940 --> 01:20:50.980
Also das ist einfach, dass der Patient, was wir uns merken müssen,

01:20:51.140 --> 01:20:56.520
ist, dass auch Krankheiten drin sind in dieser Datenbasis, die von

01:20:56.520 --> 01:21:03.320
Patienten im Moment nicht ja, nicht an denen die Patienten im Moment

01:21:03.320 --> 01:21:04.460
nicht leiden dran.

01:21:04.760 --> 01:21:09.500
Also kann hier null stehen, dagegen muss ein Patient an mindestens

01:21:09.500 --> 01:21:14.000
einer Krankheit leiden, wenn er im Krankenhaus ist, sonst ist er kein

01:21:14.000 --> 01:21:14.480
Patient.

01:21:15.360 --> 01:21:16.260
Ok, das war das.

01:21:16.420 --> 01:21:18.540
Und jetzt aber diese dreistellige Beziehung.

01:21:19.040 --> 01:21:20.040
Gehen wir nochmal zurück.

01:21:22.860 --> 01:21:27.540
Jeder Patient wird genau auf einer Station behandelt.

01:21:29.240 --> 01:21:31.200
Da sitzt der Arzt noch nicht richtig drin.

01:21:31.460 --> 01:21:33.360
Also wir haben ja eigentlich eine dreistellige Beziehung.

01:21:33.460 --> 01:21:34.560
Da muss man ein bisschen aufpassen.

01:21:35.200 --> 01:21:38.460
Also jeder Patient wird genau auf einer Station behandelt.

01:21:38.880 --> 01:21:43.720
Der Patient wird von einem oder mehreren Ärzten behandelt.

01:21:44.020 --> 01:21:45.160
Das ist auch möglich.

01:21:45.340 --> 01:21:48.820
Er muss nicht immer vom gleichen behandelt werden, aber er muss

01:21:48.820 --> 01:21:50.700
immerhin von einem Arzt behandelt werden.

01:21:50.700 --> 01:21:59.240
Und jeder Arzt behandelt mindestens 10 und höchstens 50 Patienten, die

01:21:59.240 --> 01:22:02.480
aber auf verschiedenen Stationen liegen können.

01:22:04.480 --> 01:22:07.380
Und eine Station kann nun mal leer sein.

01:22:07.920 --> 01:22:12.340
Das heißt, es muss nicht unbedingt Patienten auf dieser Station gerade

01:22:12.340 --> 01:22:12.780
geben.

01:22:14.020 --> 01:22:15.200
Das ist halt eine Annahme.

01:22:16.160 --> 01:22:19.640
Da ist also einiges drin, wo man sich mal Gedanken machen muss.

01:22:19.700 --> 01:22:21.600
Fangen wir einfach mal an mit etwas.

01:22:21.960 --> 01:22:26.480
Was wir also sagen können ist, dass der Patient von einem oder

01:22:26.480 --> 01:22:28.440
mehreren Ärzten behandelt wird.

01:22:28.580 --> 01:22:32.640
Und gleichzeitig wissen wir, dass jeder Patient auf einer Station

01:22:32.640 --> 01:22:33.480
behandelt wird.

01:22:33.660 --> 01:22:37.600
Zwar auf genau einer Station, aber das reicht uns jetzt erstmal, dass

01:22:37.600 --> 01:22:39.780
er auf einer Station behandelt wird.

01:22:40.000 --> 01:22:42.100
Und da gibt es jetzt keine Einschränkung.

01:22:43.740 --> 01:22:45.680
Also von einem oder mehreren Ärzten.

01:22:46.480 --> 01:22:49.860
Also schauen wir uns mal an, was das heißt.

01:22:50.420 --> 01:22:54.440
Ein Patient, von dem gehen wir gerade aus und schauen, was es da jetzt

01:22:54.440 --> 01:22:57.140
für Aussagen gibt, im Zusammenhang mit dieser Beziehung.

01:22:57.940 --> 01:22:59.160
Ein Patient wird

01:23:02.280 --> 01:23:02.760
behandelt.

01:23:02.880 --> 01:23:05.320
Und jetzt ist die Frage, wie interpretieren wir das in einer

01:23:05.320 --> 01:23:06.840
dreistelligen Beziehung.

01:23:07.120 --> 01:23:09.940
Und in einer dreistelligen Beziehung geht es genauso in diese

01:23:09.940 --> 01:23:13.820
Richtung, nur müssen wir da ja natürlich jetzt sagen, was ist jetzt,

01:23:14.000 --> 01:23:15.720
was müssen wir da jetzt zusammenfassen.

01:23:16.220 --> 01:23:21.420
Und wir müssen ja jetzt hier in irgendeiner Form an ein Ende einer

01:23:21.420 --> 01:23:25.900
dieser Kanten vor einer Klasse eine Kardinalität reinschreiben.

01:23:26.640 --> 01:23:27.980
Also zum Beispiel hier.

01:23:29.260 --> 01:23:31.180
Was schreibe ich da jetzt rein?

01:23:31.680 --> 01:23:35.040
Eigentlich möchte ich da ja wissen, wie viele Stationen dann in dieser

01:23:35.040 --> 01:23:39.720
Beziehung zu irgendwas in Beziehung stehen.

01:23:40.380 --> 01:23:45.780
Und das irgendwas ist, ich nehme gerade jeweils ein konkretes Paar aus

01:23:45.780 --> 01:23:47.600
Patient und aus Arzt.

01:23:47.920 --> 01:23:49.120
Ein Paar.

01:23:49.200 --> 01:23:52.980
Ein konkretes Paar nehme ich mir raus.

01:23:53.700 --> 01:23:59.280
Ein konkretes Paar, das da vorkommt.

01:23:59.820 --> 01:24:06.260
Und schaue mir dann an, wie viele dann von dieser noch nicht

01:24:06.620 --> 01:24:11.220
betrachteten Klassen, wie viele Objekte von dieser nicht betrachteten

01:24:11.220 --> 01:24:15.340
Klasse bisher in dieser Relation dann in Beziehung steht.

01:24:15.840 --> 01:24:20.420
Also, ein Patient und ein Arzt, was kann ich dann sagen, wie viele

01:24:20.420 --> 01:24:22.260
Stationen sind da beteiligt.

01:24:24.460 --> 01:24:27.360
Und da merkt man schon, da kann man nicht so viel mehr aussagen, weil

01:24:27.360 --> 01:24:29.500
das natürlich eine dreistellige Beziehung ist.

01:24:29.960 --> 01:24:35.360
Und dann pro Patient und Arzt ja, wir wissen ein Patient liegt zwar

01:24:35.360 --> 01:24:41.200
genau auf einer Station, okay, da kriegen wir vielleicht doch was

01:24:41.200 --> 01:24:41.540
raus.

01:24:41.920 --> 01:24:46.840
Also haben wir einen Patienten und einen Arzt, dann kriegen wir hier

01:24:47.660 --> 01:24:51.880
als behandelnde Station doch tatsächlich was raus.

01:24:52.380 --> 01:24:56.060
Da kann ja, da der Patient genau auf einer Station behandelt wird,

01:24:56.820 --> 01:24:59.620
kann ja nur exakt eine Station rauskommen.

01:25:00.500 --> 01:25:01.640
Ah, da geht es doch.

01:25:05.550 --> 01:25:07.590
Ein konkretes Paar nehmen wir.

01:25:08.010 --> 01:25:09.870
So, jetzt gehen wir mal anders rum.

01:25:10.210 --> 01:25:14.190
Schauen wir mal eine Station und einen Arzt an, wie viele Patienten

01:25:14.190 --> 01:25:15.690
werden dann da behandelt.

01:25:17.550 --> 01:25:20.690
Also einen konkreten Arzt, eine konkrete Station.

01:25:22.250 --> 01:25:24.210
Gucken wir mal, was da noch dazu steht.

01:25:25.590 --> 01:25:30.810
Ein konkreter Arzt, ein Arzt behandelt mindestens 10 und höchstens 50

01:25:30.810 --> 01:25:31.510
Patienten.

01:25:31.510 --> 01:25:34.730
Die können aber auf verschiedenen Stationen liegen.

01:25:35.890 --> 01:25:42.930
Wenn man also eine konkrete Station hat, was können wir dann aussagen?

01:25:44.250 --> 01:25:48.270
Also das mindestens 10 können wir wohl dann nicht mehr durchsetzen,

01:25:48.450 --> 01:25:52.970
weil wenn wir ein konkretes Paar haben, Arzt und Station, dann

01:25:53.510 --> 01:25:57.710
behandelt der Arzt zwar insgesamt mindestens 10 Patienten, aber die

01:25:57.710 --> 01:26:00.510
können auch auf unterschiedlichen Stationen liegen.

01:26:00.850 --> 01:26:02.830
Also kann ich da gar nichts sagen dazu.

01:26:03.230 --> 01:26:05.090
Als Minimalkardinalität.

01:26:05.690 --> 01:26:09.550
Aber ich weiß, dass der Arzt höchstens 50 Patienten insgesamt

01:26:09.550 --> 01:26:10.250
behandelt.

01:26:12.390 --> 01:26:15.950
Die könnten ja im schlimmsten Fall auch auf einer Station liegen.

01:26:16.150 --> 01:26:19.370
Also muss ich das als Maximalkardinalität durchaus angeben.

01:26:19.970 --> 01:26:24.270
Also kriege ich, wenn ich einen Arzt und eine Station nehme, kriege

01:26:24.270 --> 01:26:29.730
ich hier halt, der kann auf dieser Station auch null Patienten

01:26:29.730 --> 01:26:33.870
behandeln, aber er kann maximal 50 wieder behandeln.

01:26:34.090 --> 01:26:35.150
Das kann ich auch sagen.

01:26:36.630 --> 01:26:39.110
Und jetzt fehlt mir noch die letzte Ecke.

01:26:39.630 --> 01:26:40.830
Patient und Station.

01:26:41.530 --> 01:26:45.390
Ich weiß, ein Patient liegt immer genau auf einer Station und jetzt

01:26:45.390 --> 01:26:50.010
frage ich mich natürlich, wird dieser Patient auf einer Station von

01:26:50.010 --> 01:26:51.950
wie vielen Ärzten wird der behandelt?

01:26:52.870 --> 01:26:57.490
Und da steht halt, der Patient wird von einem oder mehreren Ärzten

01:26:58.570 --> 01:26:59.290
behandelt.

01:27:01.970 --> 01:27:07.550
Also, mindestens ein Arzt muss da sein, können aber auch mehrere sein.

01:27:08.650 --> 01:27:09.030
Okay.

01:27:10.190 --> 01:27:12.250
Also wir haben nicht alles ausgedrückt.

01:27:13.070 --> 01:27:17.710
Zum Beispiel diese Minimalkardinalität für einen Arzt, dass er

01:27:17.710 --> 01:27:22.130
mindestens diese 10 Patienten behandelt, das ist zum Beispiel nicht

01:27:22.130 --> 01:27:22.890
ausgedrückt.

01:27:23.190 --> 01:27:25.850
Das kann man nicht unterbringen hier, in dieser Modellierung.

01:27:26.470 --> 01:27:29.970
Da bräuchte man eine zweistellige Beziehung zwischen Arzt und Patient.

01:27:33.220 --> 01:27:34.720
Dann könnte ich es ausdrücken.

01:27:34.900 --> 01:27:37.160
Aber das kann ich hier jetzt nicht, beispielsweise.

01:27:38.980 --> 01:27:42.520
Also es kommt immer darauf an, man muss sich entscheiden für eine

01:27:42.520 --> 01:27:46.860
Modellierung und in dieser Modellierung ist dann halt auch eventuell

01:27:46.860 --> 01:27:50.260
nicht alles ausdrückbar, nicht alle Kardinalitäten ausdrückbar, nicht

01:27:50.260 --> 01:27:51.360
die ganze Semantik.

01:27:51.640 --> 01:27:55.460
Aber dafür ist eben diese dreistellige Beziehung mit drin, die mir

01:27:55.460 --> 01:27:58.380
anscheinend an der Stelle sehr wichtig war, dass ich die ausdrücke.

01:27:59.100 --> 01:28:00.040
Dass ich das weiß.

01:28:03.380 --> 01:28:06.780
Gut, soweit zu dieser Aufgabe da.

01:28:08.420 --> 01:28:13.600
Jetzt gibt es hier nochmal mehrere Aufgaben zur OML-Modellierung noch

01:28:13.600 --> 01:28:14.460
dazu.

01:28:15.000 --> 01:28:18.660
Hier ist zum Beispiel etwas, da ist auch ein Hotel mit einer

01:28:18.660 --> 01:28:23.980
Zimmerbelegung und da geht es auch wieder darum, dass man da jetzt

01:28:23.980 --> 01:28:25.080
modelliert erstmal.

01:28:26.380 --> 01:28:31.080
Also da muss man erstmal auch die Klassen definieren, die man haben

01:28:31.080 --> 01:28:31.540
möchte.

01:28:31.880 --> 01:28:35.160
Ist allerdings schon vorgegeben etwas.

01:28:43.420 --> 01:28:47.560
Und es gibt dann auch wieder entsprechende Dinge, die man darüber

01:28:47.560 --> 01:28:48.220
wissen will.

01:28:48.320 --> 01:28:52.960
Und da kann man dann auch noch eine gewisse Dynamikmodellierung mit

01:28:52.960 --> 01:28:53.600
reinbringen.

01:28:54.100 --> 01:29:00.500
Nämlich man könnte da beispielsweise dann auch sich überlegen also zum

01:29:00.500 --> 01:29:04.200
einen eine Dynamikmodellierung in dem Sinne, dass man hier die

01:29:04.200 --> 01:29:06.360
Kardinalität natürlich mit angibt.

01:29:07.040 --> 01:29:12.060
Die ergeben sich hier aus dieser Beschreibung und zum anderen also da

01:29:12.060 --> 01:29:16.660
geht es noch weiter aus der Beschreibung und zum anderen kann es,

01:29:17.380 --> 01:29:21.260
könnte man dann an der Stelle auch versuchen zum Beispiel so ein Gast

01:29:21.260 --> 01:29:23.060
genauer zu modellieren.

01:29:23.240 --> 01:29:27.400
Oder so ein Zimmer, ein Raum zu modellieren, was der für verschiedene

01:29:27.400 --> 01:29:29.040
Zustände einnimmt.

01:29:29.600 --> 01:29:31.480
Während seiner Lebensdauer.

01:29:31.700 --> 01:29:33.520
Dass er belegt ist, dass er und so weiter.

01:29:33.920 --> 01:29:35.280
Das haben wir jetzt hier nicht gemacht.

01:29:35.380 --> 01:29:38.520
Hier geht es jetzt nur darum, dass man erstmal so ein UML-Diagramm

01:29:38.520 --> 01:29:42.320
erstellt und sich dann anhand dieser Beschreibungen jeweils so eine

01:29:42.320 --> 01:29:44.360
Min -Max Notation angibt.

01:29:45.240 --> 01:29:47.320
Wie die Kardinalitäten aussehen.

01:29:47.320 --> 01:29:53.500
Ok, da möchte ich jetzt nichts dazu sagen mehr.

01:29:54.320 --> 01:29:57.140
Das ist relativ direkt nachvollziehbar.

01:29:57.400 --> 01:30:00.480
Es gibt natürlich immer Variationen je nachdem wie man das

01:30:00.480 --> 01:30:01.180
interpretiert.

01:30:01.460 --> 01:30:04.540
Es gibt keine eindeutig ständig richtige Lösung.

01:30:04.740 --> 01:30:07.760
Es gibt nur falsche Lösungen gibt es schon, wenn nämlich Sachen nicht

01:30:07.760 --> 01:30:08.760
ausgedrückt sind.

01:30:09.240 --> 01:30:11.020
Die man eigentlich hätte ausdrücken können.

01:30:11.440 --> 01:30:12.760
Die man modellieren hätte können.

01:30:13.200 --> 01:30:15.340
Aber es gibt immer verschiedene Modellierungen.

01:30:17.760 --> 01:30:21.480
Das wäre so ein Beispiel, was rauskommen könnte.

01:30:21.620 --> 01:30:23.240
Man hat eine Art Gastenzimmer.

01:30:23.940 --> 01:30:25.340
Einen Tag.

01:30:27.200 --> 01:30:30.980
Ich habe hier unten die Attribute angegeben, die es geben soll.

01:30:31.840 --> 01:30:36.320
Ich habe Tag vor allem als extra Klasse modelliert.

01:30:37.050 --> 01:30:45.200
Und habe hier eine vierstellige Beziehung Belegung eingeführt.

01:30:45.660 --> 01:30:47.100
Das ist vielleicht etwas unüblich.

01:30:48.720 --> 01:30:50.940
Und da kann man sich dann überlegen, ob das so stimmt.

01:30:52.740 --> 01:30:57.200
Gut, eine andere Sache ist die Fußball-Bundesliga, wo dafür eine

01:30:57.200 --> 01:31:02.300
Spielzeit modelliert werden soll, dass Spieler eben zu einem Verein

01:31:02.300 --> 01:31:10.540
gehören oder bei einem Verein unter Vertrag stehen und dass Vereine

01:31:10.540 --> 01:31:13.200
gegeneinander spielen werden zu einer Saison.

01:31:13.520 --> 01:31:16.280
Und diese Spielzeit soll da modelliert werden.

01:31:17.060 --> 01:31:20.760
Und da gibt es dann ein Vereinsspiel, exakt 17 Mal als Heimmannschaft,

01:31:20.940 --> 01:31:24.980
exakt 17 Mal als Auswärtsmannschaft gegen einen anderen Verein.

01:31:25.340 --> 01:31:29.120
Und das soll man jetzt da modellieren und soll genau die Klassen,

01:31:29.280 --> 01:31:31.460
Spieler und Vereine nutzen, ist vorgegeben.

01:31:31.860 --> 01:31:36.800
Das gucken wir uns ganz kurz an, weil das nämlich die Besonderheit

01:31:36.800 --> 01:31:41.640
hat, dass wir hier, ein bisschen verschoben, aber kann man vielleicht

01:31:41.640 --> 01:31:46.900
auch lesen, also Verein, dass dieser Verein hier eine Beziehung

01:31:46.900 --> 01:31:52.060
eingeht, ich habe es jetzt hier extra hingeschrieben, das ist eine

01:31:52.900 --> 01:31:56.600
rekursive Beziehung, eigentlich ist das hier, muss man das weglassen,

01:31:57.340 --> 01:32:03.880
im korrekten UML, ich habe das hier nur zur Veranschaulichung drauf

01:32:03.880 --> 01:32:07.780
projiziert und habe es dann vergessen wegzumachen bei der

01:32:07.780 --> 01:32:08.700
Musterlösung.

01:32:08.780 --> 01:32:10.840
Es soll eine Erläuterung sein an der Stelle.

01:32:11.320 --> 01:32:16.200
Das ist praktisch hier eine Beziehung von Verein zu Verein und die

01:32:16.200 --> 01:32:17.520
heißt Spiel dagegen.

01:32:18.720 --> 01:32:19.620
Also hört mal.

01:32:21.840 --> 01:32:23.720
So eigentlich modellieren.

01:32:25.000 --> 01:32:26.280
Spielt gegen.

01:32:28.200 --> 01:32:28.700
Ok.

01:32:29.060 --> 01:32:32.660
Und das ist also eine rekursive Beziehung und da ist das Witzige, dass

01:32:32.660 --> 01:32:36.820
man hier, oder das Neue an der Stelle, was man betrachten muss, ich

01:32:36.820 --> 01:32:41.100
muss hier natürlich, wenn ich die Beziehung betrachte zwischen Spieler

01:32:41.100 --> 01:32:45.540
und Verein, dann kann ich immer sagen, wenn ich einen Spieler

01:32:49.100 --> 01:32:54.780
betrachte, wenn ich einen Spieler betrachte, wenn ich diese Beziehung

01:32:54.780 --> 01:32:59.480
hier anschaue, dann weiß ich immer, es existiert eine Beziehung

01:32:59.480 --> 01:33:01.400
zwischen einem Spieler und einem Verein.

01:33:03.260 --> 01:33:04.560
Eine Beziehung.

01:33:04.560 --> 01:33:08.100
Und diese Einzelbeziehung, die kann ich identifizieren.

01:33:08.200 --> 01:33:11.440
Ich kann die Beteiligten identifizieren, dadurch, dass ich weiß, dass

01:33:11.440 --> 01:33:13.720
sie zu einer bestimmten Klasse gehören.

01:33:14.300 --> 01:33:15.760
Brauche ich also nichts machen.

01:33:16.060 --> 01:33:17.100
Ich habe da eine Beziehung.

01:33:17.160 --> 01:33:18.740
Ein Spieler spielt bei einem Verein.

01:33:19.340 --> 01:33:19.900
Alles klar.

01:33:20.340 --> 01:33:23.940
Wenn ich das dagegen, diese Beziehung spielt gegen, betrachte, dann

01:33:23.940 --> 01:33:27.700
habe ich das Problem, dass ein Verein gegen einen Verein spielt.

01:33:28.500 --> 01:33:32.040
Das heißt, ich kann nicht aus der Klassenzugehörigkeit die Rolle

01:33:32.600 --> 01:33:36.940
ermitteln, die dieser Verein jetzt in dieser Beziehung spielt.

01:33:37.340 --> 01:33:38.320
Das war vorher klar.

01:33:38.960 --> 01:33:40.300
Da hatte ich Spieler und Verein.

01:33:40.840 --> 01:33:43.720
Dann war klar, der Spieler tritt als Spieler auf in der Beziehung und

01:33:43.720 --> 01:33:45.060
der Verein als Verein.

01:33:45.400 --> 01:33:48.360
In dieser Spielgegenbeziehung, das ist eine rekursive Beziehung, da

01:33:48.360 --> 01:33:49.280
habe ich das nicht mehr.

01:33:49.600 --> 01:33:53.100
Und da kommt jetzt dazu, dass ich dann praktisch Rollennamen vergeben

01:33:53.100 --> 01:33:53.640
muss.

01:33:54.340 --> 01:34:04.880
Um zu sagen, der Verein spielt gegen einen anderen Verein auswärts.

01:34:05.320 --> 01:34:09.060
Oder der Verein spielt gegen einen anderen Verein in der Rolle daheim.

01:34:09.460 --> 01:34:12.680
Da habe ich wieder einen daheim spielenden und einen auswärts

01:34:12.680 --> 01:34:18.500
spielenden Verein, die zusammen so ein Beziehungstuppel bilden.

01:34:18.920 --> 01:34:20.220
Daheim und auswärts.

01:34:21.740 --> 01:34:22.020
Ok.

01:34:22.380 --> 01:34:25.640
Da kommen wir noch dazu, das müssen wir das nächste Mal noch etwas

01:34:26.400 --> 01:34:33.160
nachziehen bei der Transformation von UML ins Relationenmodell.

01:34:33.580 --> 01:34:35.200
Da spielt es eine große Rolle.

01:34:35.340 --> 01:34:39.340
Das möchte ich auf jeden Fall noch behandeln in der Übung, weil da

01:34:39.340 --> 01:34:40.720
einiges zu beachten ist.

01:34:40.860 --> 01:34:44.440
Und das werde ich dann einfach als erste Aufgabe das nächste Mal noch

01:34:44.440 --> 01:34:45.100
machen.

01:34:45.240 --> 01:34:49.240
Diese Transformationsaufgabe Nummer 9, die werde ich dann noch

01:34:49.240 --> 01:34:49.720
behandeln.

01:34:50.100 --> 01:34:52.500
Also hier, das war einfach diese Aufgabe 8.

01:34:52.860 --> 01:34:57.220
Und da gäbe es als zweites noch, dass man so ein Zustandsdiagramm

01:34:57.960 --> 01:34:59.160
modelliert in UML.

01:34:59.360 --> 01:35:01.040
Das will ich jetzt gar nicht weiter betrachten.

01:35:01.740 --> 01:35:05.740
Und dann käme praktisch jetzt zu dieser Aufgabe 9 und die möchte ich

01:35:05.740 --> 01:35:09.600
auf jeden Fall das nächste Mal noch zumindest ansatzweise für die

01:35:09.600 --> 01:35:12.500
Abbildung ins Relationenmodell auf jeden Fall betrachten.

01:35:13.100 --> 01:35:17.780
Für die Abbildung aufs Objekt orientierte Modell möchte ich nicht so

01:35:17.780 --> 01:35:18.800
viel sagen dazu.

01:35:19.480 --> 01:35:21.380
Das geht recht direkt.

01:35:21.960 --> 01:35:28.160
Das Einzige, was ich an der Stelle Sie bitte mal anzuschauen, ist auch

01:35:28.160 --> 01:35:30.780
noch die Abbildung, wie das aussieht mit der Umsetzung der

01:35:30.780 --> 01:35:31.780
Generalisierung.

01:35:32.380 --> 01:35:36.380
Da können wir gerne auch das nächste Mal noch kurz so 5 Minuten drüber

01:35:36.380 --> 01:35:36.760
reden.

01:35:37.300 --> 01:35:38.920
Wenn es da Fragen gibt.

01:35:39.940 --> 01:35:42.060
Also nächstes Mal kommt auf jeden Fall das noch.

01:35:42.580 --> 01:35:42.880
Gut.

01:35:43.120 --> 01:35:46.780
Vielen Dank und wir sehen uns dann nächste Woche zur letzten Übung.

01:35:47.640 --> 01:35:51.720
Und das Übungsblatt kommt wahrscheinlich erst Montagmorgen raus.

01:35:52.940 --> 01:35:54.140
Vielleicht schaffe ich es noch heute.

01:35:54.680 --> 01:35:56.860
Weiß noch nicht, weil ich weg bin jetzt gleich.

01:36:04.740 --> 01:36:08.200
Achso, ja, die Frage an Bödenken, da gerade hinlegen.

01:36:09.460 --> 01:36:09.500
Danke.

01:36:13.100 --> 01:36:15.160
Es kommen diverse Fragen.

01:36:15.340 --> 01:36:18.120
Das ist vielleicht für einige noch interessant, die hier sind, wegen

01:36:18.120 --> 01:36:19.500
Anmeldung, Praktikum.

01:36:20.160 --> 01:36:24.820
Also wir veranstalten dieses Jahr zwei Praktika sogar und die

01:36:24.820 --> 01:36:31.700
Anmeldung fängt am nächsten Montag um 9.30 Uhr an.

01:36:31.900 --> 01:36:33.380
Es steht auch auf unserer Webseite.

01:36:34.040 --> 01:36:35.820
Also 9.30 Uhr im Sekretariat.

01:36:36.280 --> 01:36:39.480
Und da gibt es ein Praktikum Datenbankpraktikum, das jeder kennt.

01:36:39.840 --> 01:36:42.540
Und jetzt gibt es ein ganz neues Praktikum, das heißt mobile

01:36:42.540 --> 01:36:46.280
Datenbanken und Informationssysteme, wo man mit mobilen Geräten...

