Datenbanksysteme

at Karlsruher Institut für Technologie

Join course
196
Discussion
Documents
Flashcards
Noten sind raus
Könnte jemand nach der Einsicht bitte die Bestehensgrenze posten?
Hey. Darf ich euch fragen wie ihr die Klausur so fandet? Ich bin 0 mit der Zeit klar gekommen und denke dadurch viele Fehler aufgrund des Drucks gemacht zu haben. :(
View 1 more comment
Ich bin noch nicht mal bei der Einlesezeit fertig geworden. 😂
Die Klausur von Prof. Böhm ist so ausgelegt, dass es nicht möglich ist alle Aufgaben perfekt in den 60 Minuten zu lösen. Also keine Bange ... so ging es bisher sehr vielen Studenten. :-)
Kann mir jemand den Unterschied erklären von rl1[x] und wl1[x]? Beide Operationen setzen doch eine Exklusivsperre von Transaktion 1 auf das Objekt X, oder nicht? Worin liegt dann genau der Unterschied?
View 1 more comment
Am besten innerhalb der nächsten Stunde :D Haha
ich hoffe einfach es kommt nichts mit Locking, 2PL usw. dran, da ich das nicht 100%, auch nicht 50% verstanden habe... es kam in der HK dran...mal schauen :(
Muss das nicht anders herum sein? Partitionierung oben, damit es auch Wohnhäuser geben kann, die weder Massiv- noch Fachwerkhaus sind und Generalisierung unten, damit es keine Wohnhäuser geben kann, die weder Einfamilien- noch Mehrfamilienhaus sind
ich habe oben partitionierung, und unten totale partitionierung. aber ich finde punkt 3 und 4 wiedersprechen sich. punkt 3 ist eher generalisierung und punkt 4 partitionierung..
Ich denke, unten sollte sowohl totale Partitionierung als auch Generalisierung gehen. Im Falle der Generalisierung ist halt zusätzlich noch möglich, dass es auch Einfamilien- und Mehrfamilienhäuser gibt, die keine Wohnhäuser sind. Aber das wird ja in der Aufgabe nicht explizit ausgeschlossen.
Man kann Auftrag und Vereinbart tabellen in eine tabelle packen: Auftrag(_Auftragsnummer, Datum, (FK)Kundennummer, (FK)Firmenname).
Bei ternären Relationen der Form 1:1:n braucht man zwei Attribute als Primärschlüssel. Einmal das von der n-Seite und wahlweise ein weiteres von einer der 1-Seiten. Dementsprechend hat man auch nur ein FK und kann sie nicht zu Auftrag dazu packen.
So ist A neuer Schlüssel und somit ist F in 2 NF, oder?
Stimmt, man bräuchte so etwas wie A->C
Ich glaube, das sollte eher eine Partitionierung sein. Bei einer Generalisierung müsste Verkehrsmittel auf jeden Fall aus der Menge {Bus, Taxi, Straßenbahn} kommen. Bei einer Partitionierung hingegen können Verkehrsmittel auch Entitäten sein, die nicht in der Menge vorkommen (bspw Flugzeuge)
Ja, ich habe auch Partitionierung
hier fehlt glaub noch der Pfad von T3 zu T2 mit x? w3x ... r1x ... r2x - oder irre ich mich?
Stimmt.
Sind bei der Klausur Hilfsmittel (Merkblatt) erlaubt?
Nein
Ich denke hier sollte kein AND stehen, sondern BETWEEN oder OR
Wenn Mass größer als 0.5 sein muss UND kleiner als 2, dann entspricht dass zwischen 0.5 und 2. Wenn ein OR dort stehen würde, dann wäre die ganze Klausel nutzlos, da jeder Wert entweder größer als 0.5 ist oder kleiner als 2.
Oh man ich erschieß mich mit der Pistole die ich bin. Gut das das Anonym war :)
stimmt denn das acuh so? Ich hätte jetzt gesagt, dass H3 RCA und ACA ist, und da T2 eben nicht commited, entfällt das w2x und somit ist es auch STRICT (kein overwrite konflikt? muss wirklich immer alles committen?
Der Sinn der Rücksetzbarkeit ist ja gerade zu vermeiden auf nicht committeten Operationen zu lesen oder zu schreiben um in dem Fall, dass diese eben nicht committet werden keine Veränderungen auf Basis falscher Informationen durch zu führen.
hier der Dreieck sollte umgekehrt sein laut Vl 4 Folie 66
Stimmt, du hast Recht
Weiß jemand, wie man allgemein ternäre oder quaternäre Beziehungen ins Relationenschemata übersetzt, bzw. in Standardkardinalitäten umwandelt?
also so wie das dort steht, sollte es nicht richtig sein. im SB ist ja eine minmax Notation zu sehen. D.h. im Grunde, dass aus den 1,1 jeweils ein n wird und aus 0,* eine 1. -> Demnach müssten die Schlüssel P_NR, S_Nr und F_Nr sein, und MA_Erkennung mitaufnehmen aber nicht als Schlüssel. Oder irre ich mich da?
so mache ich auch aber bin nicht sicher :p
(0,*) - (0,1)
Wieso [0,1] anstatt von [1,1]? In der Vorlesung wurde auch [1,1] verwendet. Siehe Beispiel mit Mannschaften und Spielern.
ich meine, dass ist abhängig vom Beispiel. laut VL enstpricht 1:n 0,* - 0,1 .. Aber bei Teilnehmerkardinalität macht man wohl 1,1 draus? Siehe Person Auto Bsp
das ist doch auch nicht korrekt oder? das müsste ja gerade andersrum sein. (siehe Vorlesung Personen Beispiel)
Die Teilmengen müssten nach links geöffnet sein, die Dreiecke zeigen aber in die richtige Richtung.
könnte hier nicht sein {K1,K2,K3,K5 } ?
Du brauchst K4 um zu garantieren, dass w1[z] vor r2[z] dran kommt. Du brauchst K9 um die Reihenfolge zwischen r3[y] und w3[y], sowie w2[y] und w3[y] zu definieren. K1 darfst du nicht verwenden, da du sonst mit K2 und K3 einen Zyklus hast und die History somit nicht ausführbar wird. Wenn jede Operation zwingend vor der anderen ausgeführt wird - mit welcher kann man dann anfangen?
wie kommst du darauf ??
Das ist eine frei erfundene Beispielrelation, um zu zeigen, dass bei der gegebenen Zerlegung die Eigenschaften der Verbundtreue nicht erfüllt sind :D
ok hab verstanden , hatte eine andere Alternative es fehlt die Abhängigkeit AB --->E, Laut Vorlesung 7 Teil2 Folie26 : alle Anwendungsdaten sollen aus Basisrelationen hergeleitet werden können (Verbundtreue).
Warum benötigt man hier keine Kante von w[x] zu w[x]? Und von dem oberen w[x] zu dem r[x] aus der mittleren Reihe,?
View 9 more comments
Du weißt es bestimmt selber, aber für die anderen: Bei Histories muss die Reihenfolge bei Konfliktpaaren festgelegt werden. Also auch zwischen 2 Schreiboperation.
Was mir zusätzlich noch eingefallen ist: Damit zwei Operationen konfligieren können, müssen sie ja zu unterschiedlichen Transaktionen gehören. Dementsprechend sind Konfliktpaare innerhalb einer Transaktion sowieso nicht möglich.
hier haben wir eine zwingende Relation , d.h. wir können die Regel verschmelzen, Jetzt Die Frage welche N Seite wird gewält ?? Meine Meinung nach , einen von Beiden sind richtig . Oder bin ich falsch ??
gibt es eine Regel für die Umwandelung der 3- Beziehung sowie auch wie kann man es lesen ??
soweit ich verstanden habe , wir sollten Bereich.name ausgeben. d.h. From Wort join Bereich on Wort.bereich = Bereich.id oder habe ich falsch verstanden?
Nein, du hast Recht.
hi , was machst du hier genau ??
Man kann stattdessen auch SELECT w1.text, w2.text, SQRT(...) AS abstand FROM Wort w1, Wort w2 WHERE w1.text < w2.text AND w1.text != w2.text; machen. Die beiden Abfragen sind äquivalent. Die Verwendung der Cases sorgt dafür, dass es keine tupel (a,b) und (b,a) geben kann.
{A,B} {A,B,C,D,E,F,G,H} Also richtig oder ??
Ja, sollte richtig sein
Korrektur: Bsp. 5 ist keine Transaktion, da die Reihenfolge von w[y] und c nicht festgelegt ist.
Warum benötigt man hier keine Kante von r[y] zu c?
View 2 more comments
Ja, sorry mein Wissensstand war beim Anfertigen der Lösungsskizze anscheinend noch nicht ganz ausgereift 😅 Habe aber versucht, alle Fehler, die ich noch erkannt habe anzumerken.
Kein Problem. Die Skizzen haben schon viel geholfen. ;)
Korrektur: {b,d,c} nicht, da w3[x] nicht garantiert von c3 ausgeführt wird. {a,b,c,d} nicht, da eine zyklische Abhängigkeit durch die Kanten a,b und d entsteht.
View 4 more comments
Falls es dir nicht hilft schau dir die Aufzeichnung der VL an. Herr Böhm hat es ziemlich gut (auf deutsch)erklärt finde ich 😀
Siehe Vorlesung 9 Folie 22: 1.) Die History muss alle Transaktionen vollständig beinhalten (d.h. es darf von keiner Transaktion eine Operation nicht in der History vorhanden sein) 2.) Die Reihenfolge der Operationen in den Transaktionen muss in der History immernoch gewährleistet sein (d.h. wenn bspw. in einer Transaktion gilt r1[x] < w1[y], dann darf es in der History nicht anders herum sein) 3.) Wenn zwei Operationen aus der History konfligieren, dann dürfen sie nicht zeitgleich ausgeführt werden können, sondern die Ordnung der History muss gewährleisten, dass eine Operation vor der anderen ausgeführt wird.
No area was marked for this question
Sorry, das ist die ML von 14/15. Habe die pdf falsch benannt
Korrektur: C(H3) und C(H5) sind offensichtlich konfliktäquivalent, da sie über die identische Commited Projection verfügen. C(H3) und C(H6) sind nicht konfliktäquivalent, da C(H6) zusätzlich noch T4 beinhaltet. C(H3) und C(H7) sind nicht konflikäquivalent, da die Konfliktrelationen w1(x)<->w3(x) jeweils in der entgegengesetzten Reihenfolge vorliegen.
Hier wurde vergessen, dass für den Serialisierbarkeitsgraphen nur die commited projections betrachtet werden dürfen. Anbei die korrekte Lösung.
Das ist im Allgemeinen nur eine hinreichende Bedingung. Man kann somit nur zeigen, dass eine Zerlegung verbundtreu ist und nicht widerlegen, dass sie es nicht ist. In diesem Fall würde ich allerdings mit dem allgemeinen Kriterium gehen und sagen, dass die Zerlegung verbundtreu ist, da Ra2 den Universalschlüssel {C,D,G,H} beinhaltet.
Besser wäre: SELECT Tarif.ID, COUNT(*) FROM Tairf LEFT JOIN Kunde ON Tarif.ID=Tarif GROUP BY Tarif.ID; Damit sind alle Tarife aufgeführt, auch die, die von keinen Kunden genutzt werden.
Korrektur: Bei Monteur dürfte kein Kreuz sein, da er immer mit einer Werkzeug Entität in Beziehung stehen muss
Serialisierbarkeit (SR) – Konfliktäquivalenz (CSR) • Zwei Histories H und H' sind konflikt-äquivalent, wenn – H und H' die gleichen Transaktionen bzw. Operationen enthalten und – die Konfliktrelationen conf(H) und conf(H') identisch sind Ich verstehe den 1. Punkt nicht ganz: Dürfen H und H' NUR die gleichen Operationen enthalten, also wenn EINE anders ist, dann ist die Bedingung nicht mehr erfüllt, obwohl alle anderen gleich sind? Und was ist wenn die gleichen Operationen vorhanden sind, aber H' eine Operation weniger hat?
Angenommen H besteht aus drei Transaktionen: T1, T2 und T3. Dann beinhaltet jeder dieser Transaktionen offensichtlich mehrere Operation, bspw. w1[x], r1[y], usw. Damit zwei Histories konflikt-äquivalent sein können, müssen sie zwangsläufig aus den selben Transaktionen bestehen, es handelt sich bei den unterschiedlichen Histories also jeweils nur um eine andere Anordnung der Operationen aus den Transaktionen. Da die Transaktionen aus Operationen bestehen, ist der Ausdruck, dass sie aus den gleichen Transaktionen bestehen müssen also äquivalent zu dem, dass sie aus den gleichen Operationen bestehen müssen. Dementsprechend kann auch keine Operation weg gelassen werden, da ja sonst logischerweise die Transaktion eine andere ist. Hoffe, das beantwortet deine Frage :)
Ja klar. Das beantwortet die Frage. Danke.
Korrektur: Bei den beiden w(x) fehlt jeweils noch ein Pfeil zu einem Element vor dem Commit c.
Korrektur: Relation befindet sich nicht in BCNF, da bei D->E bspw. gilt, dass D kein Superschlüssel ist.
Kann auch einfacher gelöst werden mit: SELECT id, location, COUNT(*) FROM units JOIN events on units.id=unit_id WHERE year=2018 GROUP BY id, location HAVING COUNT(*) > 2;
No area was marked for this question
Müsste man bei der Aufgabe 2 c den Verbrauch nicht aus der Differenz der beiden Zählerstände ermitteln? Ich bekomme das aber irgendwie nicht hin :(
View 1 more comment
ich habe es gerade nicht vor mir. Ich meinte die Aufgabe mit dem Verbrauch.
Ist die Aufgabe 2 d) und ich würde auch sagen die Lösung müsste eher so aussehen: ALTER VIEW Verbrauch16 AS SELECT Z1.Zahler, Z2.Stand - Z1.Stand AS Verbrauch FROM Zahlerstand Z1, Zahlerstand Z2 WHERE Z1.Zahler = Z2.Zahler AND Z1.Jahr = 2016 AND Z2.Jahr = 2017
No area was marked for this question
gibt es eine Regel für die Aufgabe 3 a) iii) ?? Ich habe die Lösung nicht verstanden
Ja, in den Vorlesungsfolien von "DBS-7-relEntwurf_Teil1" auf Folien 52ff finden sich die Regeln zur Verbundtreue
No area was marked for this question
Sollte bei 1b) bei "BENUTZT"nicht beide Attribute einen Schlüssel bilden, weil es eine m zu n Beziehung ist?
Ja stimmt, habe ich versehentlich vergessen zu unterstreichen. Wäre es nicht unterstrichen, könnte man es ja noch zu Monteur dazu nehmen.
hi , warum verschraubt hat diese Attribute : Mitarbeiterkennung , Produktnummer, Seriennummer?? sollte nicht alle außer Mitarbeiterkennung ??
No area was marked for this question
Ich weis nicht ob es wichtig ist, aber bei der Vorlesung / übung wird der Synthesealgo erst mit Rechtsreduktion, dann mit Linksreduktion ausgeführt
View 1 more comment
Ja das Ergebnis ist gleich, jedoch die Prüfer vieleicht streng :)
Ich denke, wenn man sich nach der Vorlesung richtet, kann man nichts falsch machen. Mittlerweile habe ich die Schritte aus der Vorlesung auch geschnallt ;)
No area was marked for this question
Aufgabe 4 b) BSP 5 Fehlt da nicht ein commit um eine Transaktion zu sein, bzw. ein Pfeil von w(y) zu c ?
Ein Commit kann nicht fehlen, hätte ich gesagt, da eine Transaktion ja nur einen Commit beinhalten darf. Aber damit es eine Transaktion ist, müsste w[y] auf jeden Fall vor c ausgeführt werden. Dementsprechend bräuchte man hier wohl noch einen Pfeil.
--------------------- WICHTIG ------------------------ Hallo, Also um das nochmals deutlicher rüberzubringen: Dieser Kurs richtet sich an die Vorlesung "DATENBANKSYSTEME" von Professor BÖHM (Informatikfakultät). Ein paar Altklausuren sind von "Datenbanksysteme und XML" von Prof. Oberweis (AIFB). Dafür gibt es einen separaten Kurs auf Studydrive: https://www.studydrive.net/kurse/karlsruher-institut-fuer-technologie/datenbanksysteme-und-xml/272738 Zwar ergänzen sich die Vorlesungen inhaltlich, jedoch ist Professor Böhms Klausur anspruchsvoller, weshalb es von Vorteil wäre nur seine Unterlagen vorzufinden ;-) Wäre super, wenn wir das unterteilen könnten, sonst kommt man noch durcheinander!
No area was marked for this question
Bei Aufgabe 3 b ii Ich würde sagen nicht 2NF da der Schlüssel CD ist und dadurch partielle Abhängigkeiten enstehen??
View 1 more comment
Ja, sorry, du hast recht. keine Ahnung was ich gemacht hatte :) Finde es übrigens super, dass du deine Lösungen teilst :)Danke
Klar :) Hilft auch mir, wenn andere sich nochmal anschauen, was ich für Lösungen habe und auf Fehler oder Verbesserungen aufmerksam machen. Also danke Dir für dein Feedback!
Was ist die Bestehensgrenze? 50%, also 30 von 60 Punkten, oder etwas anderes?
View 1 more comment
meine Antwort bezieht sich auf Datenbanksysteme von Prof. Böhm (IPD)
Hier müsste "Keine Minimalität" Stehen
Hallo, Ich suche nach jemandem, der mir bei der Vorbereitung auf die Datenbanksysteme Klausur helfen kann. Bezüglich Bezahlung und Zeit bin ich flexibel. MfG Yange posterscofield@gmail.com