FB18 - Das Forum für Informatik

fb18.de / Bachelorstudieng / PM Praktische Informatik

GDB: Aufgabenblatt6, Aufgabe3

GDB: Aufgabenblatt6, Aufgabe3 2009-02-13 11:02
Anonymer User
Hallo, ich hänge grade etwas bei der Aufgabe3 von Blatt6 (http://vsis-www.informatik.uni-hamburg.de/teaching/ws-08.09/gdb/aufgaben/aufgabenblatt6-V3.pdf)
.
Wieso sind die Änderungen von c) denn nur in der M-Sicht sichtbar? Irgendwie komme ich nicht so ganz dahinter. Wäre nett wenn mir das einer vielleicht mal kurz erklären könnte.

Danke schonmal :)

RE: GDB: Aufgabenblatt6, Aufgabe3 2009-02-13 12:37
Anonymer User
weil wir immer die sicht angeben sollen, wo nun alle veraenderten eintraege zu sehen sind.
Ich dachte zuerst es sei nun die sicht erwachsener, allerdings gibt es in der vorgegebenen tabelle einen eintrag Indurain, der Junge is erst 13 und hat schon ein kind xD
Da wir ihn auch aendern und er nicht unter erwachsene faellt (er ist nicht ueber 18) sehen wir alle veraenderten eintraege nur in Mann

RE: GDB: Aufgabenblatt6, Aufgabe3 2009-02-14 19:08
Mr.Powers
Wäre auch sehr dankbar wenn jemand das nochmal erklären könnte wann sieht man was und wann wird was abgelehnt .Für wenn gilt nun das cascade und was für Auswirkungen hat es auf die Sicht über und unter einem?? Vielleicht einfach mal die ersten beiden Zeilen der Musterlösung erklären zb warum das letzte nein bei a) und warum das letzte ja bei b

RE: GDB: Aufgabenblatt6, Aufgabe3 2009-02-15 12:06
TieKei
Die Aufgabenstellung verlangt dass _alle_ Veränderungen an der DB in einer Sicht zu sehen sein müssen, damit sie aufgeführt werden darf.
WITH CASCADED CHECK OPTION bedeutet folgendes:
CHECK besagt dass die WHERE Klausel der aktuellen Sicht beachtet wird. CASCADED erbt alle WHERE bedingungen von den "darunter" liegenden Sichten. (Am besten skizziert man sich kurz vorher welche Sicht "auf" welcher "liegt").

In dieser Aufgabe bedeutet CASC einfach dass der check und der cascade gilt.  
Handelt es sich um ein UPDATE/INSERT schaut mal also ersteinmal welche der gegebenen Sichten CASC sind, und was diese Sicht (und alle darunter!) als WHERE Klausel haben. Sofern das funktioniert wird das UPDATE/INSERT ausgeführt.
So und nun zu den Views:
"Sehen" kann ich diese Änderungen in genau den Sichten, bei denen meine WHERE Klausel mit _allen_ änderungen von mir "einverstanden" ist.
Das "Sehen" der Sichten ist unabhängig von der in der Aufgabenstellung gegebenen CASC Option. Soll heissen: egal ob es CASC gesetzt ist oder nicht, das "Sehen" beachtet immer die Sicht-eigenen WHERE Bedingungen und auch alle von denen es erbt.
Daher ist es clever bei den Sichten ganz "unten" (vgl. Skizze der Sichtenbaumstruktur) anzufangen. Denn sobald eine Sicht die Änderungen nicht mehr vollständig "sieht", tun es auch alle Sichten "über" ihr, also alle die von dieser Sicht erben, nicht mehr.

hoffe man kann dem folgen :/

RE: GDB: Aufgabenblatt6, Aufgabe3 2009-02-15 12:54
Anonymer User
Wir haben dann z.B., wie in Aufgabe3: E<- ET <- V. Das heisst dann, wenn wir bei E ein CASC haben, gelten beim Einfügen in ET die WHERE-Bedienungen von E UND ET?

Wo ich ein wenig hänge. Bei a) fügen wir ja etwas in ET ein, bei der Konf2 ist eine CASC bei ET, d.h. ja es gelten die WHERE-Bedienungen von ET? Müsste dann nicht dann bei Konf2 ein Ja hin, weil da ja die Bedienung von E ja nicht vererbt wird?

RE: GDB: Aufgabenblatt6, Aufgabe3 2009-02-15 13:44
Mr.Powers
Bei a fügen wir ja was bei Et ein was die Where Bedingung von E bereits verletzt da dort ja gilt >=18
Bei Konf 2 wird nun ein Casc bei E gesetzt das heißt es wir überprüft ob das oben durch geführte update seine Where Bedingung immer noch erfühlt das tut es ja nicht also wird das Update abgelehnt .So habe ich das verstanden:)
Also cascade gilt immer für die eigenen where Bedingungen und für die Sichten und dessen where Bedingungen unter mir.

RE: GDB: Aufgabenblatt6, Aufgabe3 2009-02-15 14:03
Anonymer User
Naja ich dachte ja, ET erbt die Bedienungen von E nur, wenn das "CASC" bei E ist. Mein "Plan" war, wenn bei ET ein CASC steht, erbt höchstens V die Bedienung von ET.

Bei b) ist es ja auch etwas verwirrend, bei der Konfig4. Da fügen wir ja eine(n) 25 Jährige(n) ein, ohne Kind? D.H. Bedienung von E erfüllt, aber, ich dachte, die Bedienung von ET ist ja nicht erfüllt. Also müsste das Einfügen in ET eigentlich verboten werden. Oder?

Ziemlich nervig das Ganze.

RE: GDB: Aufgabenblatt6, Aufgabe3 2009-02-15 14:20
Mr.Powers
In der Konf 4 guckst du ja nur ob die Where bedingungen von E und von M erfühlt und gesichert sind . Und das sind sie ja denn dort wird ja nicht verlangt das mann ein Kind haben muss.