SQL Theoriefragen

fhwn.jan

Benutzer
Beiträge
13
Hallo,
Ich habe folgende Fragen als Musterklausur bekommen. Ich habe die Fragen gelöst aber bin mir nicht so sicher. kann vll jemand meine Lösungen kurz anschauen ob ich richtig gelöst habe? Ich wäre sehr dankbar.

datenbank teori.PNG

a: Primery keys: Personalnummer und AbteilungsNr (1. Tabelle)
Foreign key: Abteilungsnummer (2.tabelle)

b: delete from abteilungen where bezeichnung = "Werkstatt"

c: nicht möglich, da Abteilung 7 nicht existriert.

d: nicht möglich, weil Primerykey kann nicht aktualisiert werden.

2: erste Statement ist richtig (nur wenn PNr 12378 integer ist)
zweite statement ist falsch
dritte statement ist falsch
vierte statement ist auch falsch weil "having" ist nur möglich mit group by.


Wenn jemand kurz ein Augenblickt wirft und sagt ob ich etwas falsch habe, würde ich mich sehr freuen.

Danke im Voraus.
 
Werbung:
a) ist nicht ganz richtig. Personalnr. ist PK von Tabelle 1, Abteilungsnr. PK von Tabelle 2 und FK in Tabelle 1.
b) wird scheitern, die referenzielle Integrität der DB wird verhindern das du die Abteilung Werkstatt löscht solange ein FK (konkret Fritz Kunz) auf den Eintrag zeigt.
c) richtig
d) das ist tatsächlich nicht zulässig aber eben auch weil ein FK auf den PK zeigt und sobald der PK sich ändert geht die referenzielle Integrität nicht mehr gegeben ist. Ohne einen FK der auf den PK zeigt müsste das gehen, zumindest in der praxis geht es.
2a) Statement richtig
2b) Statement falsch, es fehlt die Join-Condition
2c) Statement falsch, sum() muss mit HAVING geprüft werden
2d) Statement falsch, Begründung richtig
 
Also die Firmen-Branchen-Frage hast du nicht gelöst?

Bei den Normalformen vertue ich mich auch immer mal wieder, sieht aber richtig aus. Nur die rechte Tabelle ist nicht stimmig. Wo kommt die Rechnungsnummer ID her? Wenn das Positionen auf einer Rechnung abbilden soll, musst du mehrere Positionen auf einer Rechnungs-ID ermöglichen, die kann also nicht PK sein. Ich denke aber die Spalte ist hier gar nicht gewollt.

Du könnest, um die Aufgabe abzubilden, nur mit ArtikelID und LiefernatID als Spalten alles abbilden. Der PK wäre dann aus diesen beiden Spalten zusammengesetzt.
 
Werbung:
Achso, in der Zeichnung dürfte aber bei der Entität Branchen glaube ich keine 3 Striche bei der Beziehung sein. Es handelt sich ja um eine 1:n Beziehung zur Zwischentabelle.

Außerdem steht da möglichst detailiert, dazu gehören natürlich auch Atribute, PK, FK, etc.
 
Zurück
Oben