I.M. Tutorium 8.pdf

Assignments
Uploaded by Magical Designs 3729 at 2019-01-10
Description:

Lösung (nivcht 100% vollständig, weil viele dopplungen vorhanden)

 +1
242
20
Download
Könnte jemand erklären, was hier gemacht wurde? :)
Da die Lagernummer vererbt wird, kannst du nicht einfach das lager löschen. Man könnte jetzt jeden einzelnen Artikel löschen, der mit in dem lager war, bevor man dann das lager selbst löscht. Hier hat man es sich viel einfach gemacht, in dem man beim R-Typen den Foreign Key lnr entfernt und wieder hinzugefügt hat aber diesmal mit ON DELETE CASCADE. So kannst du das lager löschen ohne jeweils jeden Artikel mit der lnr=2 vorher einzeln zu löschen
danke :)
hier müsste der DROP Befehl hin.
View 5 more comments
also müsste das heißen, ALTER TABLE kunde DROP COLUMN vorname2 oder einfach nur DROP vorname2 ?
Nur Drop
enthält CHAR Buchstaben und Zahlen ? Müsste man nicht bei Hausnummer und plz INTEGER nehmen?
View 4 more comments
Kompletter Mist, dass im Integer keine 0 sein kann, probiert's doch einfach mal aus im SQL, selbst das erste Beispiel auf der Folie ist ne 0 :D
Ja, aber kein 05672, sondern das wäre dann 5672 . So war das glaub ich gemeint
DECIMAL darf doch nicht in Hochkomma, oder? In der Übung wurde es auch ohne gemacht.
Ja, bei DECIMAL sind keine Hochkommata nötig.
Warum haben wir in der Tabelle Verkäufer nur den Namen gelöscht? Müssen wir dort nicht auch vnr und Vorname löschen?
man löscht damit nicht den namen, where bezeichnet nur welche spalte gelöscht wird man hätte auch where vnr=2 nehmen können :)
Achsooo vielen Dank !
Müssen die Attribute vor CHAR/Date nicht in Anführungszeichen stehen?
View 1 more comment
Preise auch also Decimal() auch mit hochkommata?
Tk tk, nein. Hat der Prof auch nicht so gemacht
Kann mir einer sagen woher diese 1 kommt ?
View 2 more comments
das denke ich nicht ... weil das sofa doch eine nummer hat die es eindeutig indentifiziert :) also die 1 aus der Tabelle zu nehmen ist definitiv die beste Lösung :)
Ein Hinweis, dass man sich auf die zuvor genannten Tabellen beziehen soll, ist allerdings nicht gegeben. Und da es eine neue Aufgabe ist, ist es auch nicht ersichtlich. Ist nicht richtig formuliert bzw. strukturiert. Würde es deshalb wie Peter machen. Da ist man auf der sicheren Seite. Auch, weil es Folgefehler in der Klausur nicht geben wird und sie deshalb „gezwungen“ sind, Aufgaben zu stellen, die jeweils unabhängig sind
Diese Aufgabe 4 unterscheidet sich doch von der auf dem Zettel oder irre ich mich:
View 1 more comment
Beziehe mich eher auf Aufgabe b. Wo kommt da die Nr 6 her z. B.
Dort haben die vergessen die 6 einzutragen.
müsste da nicht 1949-08-12 hin weil punkte sind ja komma
Was in Hochkommata steht, wird nicht von SQL als Befehl berücksichtigt. Ob hier Punkte zugelassen sind, entscheidet das Format des Datums. Müsste in der Klausur so aber auch richtig sein, da nichts anderes angegeben ist
Wie kommt man darauf?
View 5 more comments
Und wieso fügen wir den Constraint mit fk_liegt_in1 hinzu ? Der hat doch nichts damit zu tun oder ?
Nur im ursprung
Hast du hier die Tabellen daher, dass du überall in den Tabellen nach der Nummer 6 gesucht hast oder wusstest du genau, welche Tabellen gelöscht werden mussten?
frage ich mich auch wo ist denn überhaupt die Schrankwand??
Man kann im sql unter Artikel gucken unter welcher Artikelnummer der Schrankwand ist .. weiß grad nicht ob der Schrank in der Tabelle auf dem Blatt war aber im sql war das schon unter Artikel. Man kann aber genauso gut einfach abez =' Schrankwand Eiche rustikal'; nehmen aber nur bei artikel ..
wieso betreut und nicht nur Verkäufer?
Da die vnr auch in der Tabelle betreut ist, somit muss man erst den R-Typen löschen und danach den E-Typen
Daaaanke
hätte es gereicht, wenn ich WHERE anr='4'; geschrieben hätte?
View 1 more comment
dann aber doch ohne gänsefüßchen oder nicht ?
ja ohne, da es ein Integer ist
Kann man Kapazitätsbeanspruchung auch ausschreiben?
ich würde dir empfehlen den gegebenen spaltennamen einfach zu übernehmen. Bin mir sogar sicher, dass du das hier musst, da die tabellen schon erstellt sind.
das ist doch gar kein CHAR warum wurden diese attribute mit „gänsefüßchen“ markiert??
View 1 more comment
ahh okay dankee
das Stimmt aber nicht. integer etc darf keine hochkommata haben.
Warum wird die 1 mit Gänsefüßchen und die 5 ohne eingetragen?
das liegt an den datentypen INTEGER muss ohne aber alle CHAR müssen mit den füssen gemacht werden sonst erkennt sql das nicht
Gibt es eine bestimmte Reihenfolge oder ist es egal bei welchem R-Typ man die Daten als erstes löscht?
View 2 more comments
Du musst auch darauf achten ob es R-Typen gibt die eine Aggregation besitzen. Da die k_position aggregiert, muss der Datensatz zunächst im R-Typ betreut gelöscht werden, damit man den Datensatz in der k_position löschen kann. Ansonsten hätte man ein Problem, da die k_position von betreut abhängt.
Es gibt doch Ausnahmen oder? Wenn zum Beispiel vorher beim anlegen der Tabelle am Ende ein „ON DELETE CASCADE“ steht in jedem E und R Typen, dann wäre es ja theoretisch gesehn egal in welcher Reihenfolge
Wurde einfach anr=6 angenommen weil das Produkt garnicht in den Tabellen angegeben ist aber das "nächste" sein muss?
Steht so in der Datenbank im tut
Warum wurden nur hier die Spaltennamen genannt? Muss man die immer nennen?
View 1 more comment
In dem Tutorium des letzten Jahres wurden die Spaltennamen aber jedes Mal eingetragen,damit die Reihenfolge erkennbar sein sollte
Also muss man die nicht nochmal aufschreiben?
wäre hier vnr = '2' falsch?
Nein würde auch gehen
Wäre theoretisch sogar besser, weil eindeutig aber da ich zu faul war die nummer raus zu suchen habe ich den namen genommen