DROP TABLE

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

DROP TABLE
Hi zusammen,

leider haben die Übungsaufgaben zu SQL (letzte Aufgabe Übung 07_08) zur Verwirrung geführt.
Hier werden nun der Reihe nach Tables gedropped die auf nichts referenzieren, aber referenziert werden.
In anderen Aufgaben (auch Klausuraufgaben) war Drop Table nur möglich, falls auf die Table nicht referenziert wird (aber sie konnte durchaus auf andere Tabellen verweisen)

Würde mich freuen, wenn hier jemand kurz generell das Verhalten von Drop Table in SQL erklären könnte.

Viele Grüße,
Simon

1 „Gefällt mir“

Wichtig ist nur, dass du mit einer Tabelle beginnst deren Primärschlüssel in keiner anderen Tabelle als Fremdschlüssel verwendet wird.
In dem Fall der Übungsdatenbank wäre das meiner Meinung nach “versicherungsvertrag”. Du arbeitest dich dann Schritt für Schritt durch.
Als nächstes würde ich dann zum Beispiel “versicherungsnehmer” löschen, dann “versicherungsgesellschaft” usw.

1 „Gefällt mir“

Hi :slight_smile:

Vielen Dank für deine Antwort. Habe gerade auch nochmal versucht die Tables in mysql so zu droppen wie in der letzen Aufgabe (UE 8).
So wie das in der ML vorgeschlagen wird ist das nicht möglich (z.B Abteilung vor Mitarbeiter - Mitarbeiter hat einen Verweis auf Abteilung).
Werde mich hier an den Satz halten: Wenn drauf verwiesen wird, kannst es nicht löschen.

Danke nochmal und falls du KonzMod mitschreibst viel Erfolg!


Ja, stimmt, die Musterlösung ist falsch.

Musterlösung:

Richtig wäre zum Beispiel folgende Reihenfolge:
DROP TABLE PLZ_Codes;
DROP VIEW Schaden_Anzeige;
DROP VIEW Vertrag_Anzeige;
DROP VIEW Dienstwagen_Anzeige;
DROP TABLE PLZ_Aenderung;

DROP TABLE versicherungsvertrag;
DROP TABLE versicherungsnehmer;
DROP TABLE versicherungsgesellschaft;
DROP TABLE zuordnung_sf_fz;
DROP TABLE schadensfall;
DROP TABLE fahrzeug;
DROP TABLE dienstwagen;
DROP TABLE fahrzeugtyp;
DROP TABLE fahrzeughersteller;
DROP TABLE mitarbeiter;
DROP TABLE abteilung;

Danke dir auch. :wink: