Lösungsskizze_SS17.pdf

Exams
Uploaded by Carle B. Navy 12689 at 2019-02-03
Description:

Lösungsskizze der Altklausur aus dem Sommersemester 17. Nach bestem Wissen erstellt - bei Fehlern oder Verbesserungsvorschlägen bitte melden :)

 0
115
26
Download
Weiß jemand, wie man allgemein ternäre oder quaternäre Beziehungen ins Relationenschemata übersetzt, bzw. in Standardkardinalitäten umwandelt?
View 2 more comments
also habe es so wie anOnymAus, aber dann kann man doch eigentlich Getriebe, Motor und Rahmen komplett in die Relation verschraubt verschmelzen oder nicht ? Sie müssen ja immer ein Teil der Beziehung verschraubt sein. Könnte mir aber vorstellen, dass das dann zufiele Redundanzen wären.
ich glaube brauch nicht verschmelzen sonst die allgemeine Informationen verloren gegangen ist
Hier wurde vergessen, dass für den Serialisierbarkeitsgraphen nur die commited projections betrachtet werden dürfen. Anbei die korrekte Lösung.
View 1 more comment
Nein, das war ein Fehler auf den Folien. Siehe Folie 13 von Übung 5.
genau, es dürfen nur vollständig committete und nicht abortete Transaktionen beachtet werden!
Da es keine konflikte der Namen der Attribute gibt wäre auch ein NATURAL JOIN möglich
Da diese 3 Relationen immer zusammen an einer 1:1 beziehung teilnehmen würde ich sie einfach zusammenfassen in eine Relation.
Korrektur: Bei Monteur dürfte kein Kreuz sein, da er immer mit einer Werkzeug Entität in Beziehung stehen muss
View 7 more comments
Ah sorry, da war ein Missverständnis schon in meiner 2. Antwort. So wie ich Teilnehmerkardinalitäten verstehe muss im geg. Modell Monteur garnicht an der Beziehung teilnehmen ([0,*]). Werkzeug dagegen muss teilnehmen. D.h. wenn es ein Werkzeug gibt, muss es nach deiner Argumentation auch ein Monteur geben.
Anderst rum. das [0,*} steht bei Werkzeug, also nimmt ein Werkzeug nur optional an der Beziehung teil (Nicht alle Werkzeuge müssen benutzt werden). Dahingegen Monteur nimmt zwingend mit ( [1,*] ).
No area was marked for this question
Frage zu A4 e) , woher kommt die Gleichung von c?
Abschlag soll größer als der durchschnittliche Abschlag für Werte mit Jahr 2017 sein
MAcht das hier wirklich Sinn? T2 committed zwar nicht, aber dafür T3 und T1.. also gibt es ja ein reads-from paar (r3x liest von w1x) , zudem committet c1 vor r3x..dh es müsste doch RC und ACA sein?
ja denke auch
Schlüssel ist {BC , DE} richtig?
Kann mir jemand bitte die Logik hinter dieser Gleichung erklären?
Kam das überhaupt in der VL dran? :D
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.
Auch C(H5) enthält doch andere Operationen als C(H3). C(H5) enhält w3(z), C(H5) nicht. Also sind sie nicht konfliktaquivalent.
naja laut Def gilt konflikt-äquiv, gdw wenn gleiche TA (T3 also korrekt) und gleiche Operationen (read o write, hier beides write im Bezug auf die unterschiedlichen Objekte... die Objekte sind hier glaub ich nicht relevant
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.
Gibt es für diesen Kriterium eine Voraussetzung: Die Dekomposition muss abhängigkeitstreu sein ?
Aber nicht erfüllen tut die Zerlegung: es existieren jeweils zu einer Relation der Zerlegung eine andere, wobei die Attribute des Schlüssels der einen Relation auch als Attribut in der anderen enthalten ist. Damit ist sie für mich nicht verbundtreu, da CDGH nicht in Ra1 enthalten ist.
Wo bleibt denn das H aus der Relation R(A, B, C, D, E, G, H)? Laut Frau Mülle, muss H mitgenommen werden, da es ja keine funktionalen Abhängigkeiten zu H gibt. Jedoch muss der Schlüssel ja die Relation R widerspiegeln und von daher benötigen wird H. Somit muss H auch im Syntheseergebnis dabei sein und von daher machen wir ja Schritt 1 (laut Vorlesung), in dem neue FDs eingeführt werden. Hier: ABCDEGH --> δ Somit wäre S = {(CDGH, {CDGH}), (CDGB, {CDG}), (ABC, {AB}), (AD, {A}), (BE, {B}), (CDEA, {CDE})}
AB->E eliminieren, wie kommt das zu stande? Das Ergb sollte eiglt sein: Wahl eines Schlüssels, hier CDGH: CDGH-> dummy CDG->EB AB ->CE A->D CDE->A
benutzt ist eine M:N Beziehung, deswegen sollten beide Attribute unterstrichen werden
stimmt! beide müssen unterstrichen werden!
Und zwar so, dass klar wird das diese gemeinsam den Primärschlüssel bilden (durchgezogene Linie).
(0,*) - (0,1)
View 2 more comments
Weil die Teilnahme per Definition der Standardkardinalität immer optional ist. Die Standardkardinalität sagt ja nur aus, wie oft eine Entität zu einer fixen Menge anderer Entitäten in Bezug steht - wenn es eine solche Menge nicht gibt, gibt es auch keine Beziehung.
Eindeutig [0,1] laut Definition in der VL.
Muss hier nicht HAVING hin wegen AVG?
HAVING wird dann benötigt, wenn eine Gruppierung (GROUP BY) vorgenommen wurde und man aus der gruppierten Menge selektiert werden soll.
hier der Dreieck sollte umgekehrt sein laut Vl 4 Folie 66
View 3 more comments
Ja, ist es ja auch :D Das Dreieck ist halt nur falsch herum gezeichnet
war total verwirrt!!!!!!!!!!! 🤯🤯🤯🤯🤯🤯🤯🤯🤯
Wieso O(n*m)? C hat in Relation A nur den Wert 4 und in Relation B nur den Wert 88, das heißt es wird nie ein Join-Partner gefunden und einfach nur einmal über Relation A iteriert.
Ich denke das kartesische Produkt wird gebildet. In den VL Folien steht es 1zu1 so.
In den Folien wird der Fall angesprochen, dass das Attribut immer den gleichen Wert annimmt (in beiden Relationen). Wenn die Werte in beiden Relationen nie gleich sind läuft man beim mergen einfach nur einmal über Relation A.
Müsste hier nicht mit der Differenz aus dem Zählerstand von 2016 und dem Vorjahr gerechnet werden? Der Zähler setzt sich ja nicht jedes Jahr zurück.
Müsste die Differenz (Z1.Stand - Z2.Stand) sein! Damit müsste man noch einen weiteren Join machen. Also Zähler Z1 und Zähler Z2 mit der Bedingung Z1.Jahr = 2017 und Z2.jahr = 2016.
Oder man benutzt die Sicht aus Aufgabe d)
Die Hülle von CE ist doch {C,E,A,D}. Das heißt man könnte noch weiter reduzieren: CE->A Oder übersehe ich hier etwas?
Woher hast du A und D? Du kommst mit CE* auf diese Hülle {C, E}. Du kannst A und D nur mit CDE* bilden, aber CE* alleine bildet nur {C, E}
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.
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.
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
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!