CREATE TABLE

Hey, könnte jemand meine Hausaufgaben korrigieren?
Hier die Aufgabenstellung dazu:
Erstellen Sie für die aus dem Unterricht bekannte DB "Zoo" die DDL-Skripte (create table) für die Tabellen

  • Tier
  • Tierart
  • Pfleger
  • Gehege
  • Zuordnung Pfleger-Gehege! Die Datenbank ist im Anhang verlinkt
Hier meine Lösung:


CREATE TABLE t_Tier

(

T_ID INTEGER NOT NULL,

TName VARCHAR (30),

TA_ID INTEGER,

PRIMARY KEY(T_ID),

FOREIGN KEY (TA_ID) REFERENCES t_Tierart(TA_ID)

);





CREATE TABLE t_Tierart

(

TA_ID INTEGER NOT NULL,

TA_Bez VARCHAR (30),

PRIMARY KEY (TA_ID)

);





CREATE TABLE t_Pfleger

(

P_ID INTEGER NOT NULL,

PName VARCHAR(30),

PRIMARY KEY(P_ID)

);



CREATE TABLE t_Gehege

(

G_ID INTEGER NOT NULL,

G_Bez VARCHAR(30),

PRIMARY KEY(G_ID)

);



CREATE TABLE t_Zuordnung

(

ZP_PflegerID INTEGER,

ZG_GehegeID INTEGER,

FOREIGN KEY(ZP_PflegerID) REFERENCES t_Pfleger(P_ID),

FOREIGN KEY(ZG_GehegeID) REFERENCES t_Gehege(G_ID),

);
 

Anhänge

  • create by.jpg
    create by.jpg
    1,9 MB · Aufrufe: 0

Oneixee5

Top Contributor
Probiere es doch einfach aus, z.B.: https://dbfiddle.uk/5wMP4g6j
Im letzten Befehl ist ein Komma zu viel. Füge noch ein paar Insert-, Delete- und Select-Statements ein, um zu Testen ob dein Model funktioniert.

Ich würde den Präfix bei Spalten weglassen. Also die ID-Spalte heißt ID nicht X_ID. Wozu sollte der Präfix nützlich sein? Bei Joins verwendet man immer einen Alias, dadurch wird es auch lesbarer. Bei einem Datenbankschema mit mehreren hundert Tabellen ist so ein Präfix nutzlos und sorgt höchstens für Verwirrung.
Bei Tabellen verwendet man normalerweise auch keinen Präfix, anders als bei Views etc. Tabellen sind quasi die 'default' Objekte einer DB. Wenn ein Präfix nötig ist, dann dann wäre dieser eher Domain bezogen - also ZOO_... oder auch Z_... (für faule).
Es kann sein, dass die Präfixes in eurem Kurs so verlangt werden, dann solltest du diese natürlich beibehalten.
 
Zuletzt bearbeitet:
Probiere es doch einfach aus, z.B.: https://dbfiddle.uk/5wMP4g6j
Im letzten Befehl ist ein Komma zu viel. Füge noch ein paar Insert-, Delete- und Select-Statements ein, um zu Testen ob dein Model funktioniert.

Ich würde den Präfix bei Spalten weglassen. Also die ID-Spalte heißt ID nicht X_ID. Wozu sollte der Präfix nützlich sein? Bei Joins verwendet man immer einen Alias, dadurch wird es auch lesbarer. Bei einem Datenbankschema mit mehreren hundert Tabellen ist so ein Präfix nutzlos und sorgt höchstens für Verwirrung.
Bei Tabellen verwendet man normalerweise auch keinen Präfix, anders als bei Views etc. Tabellen sind quasi die 'default' Objekte einer DB. Wenn ein Präfix nötig ist, dann dann wäre dieser eher Domain bezogen - also ZOO_... oder auch Z_... (für faule).
Es kann sein, dass die Präfixes in eurem Kurs so verlangt werden, dann solltest du diese natürlich beibehalten.
ich verstehe nicht wo meine Fehler sind
 
SQL:
CREATE TABLE t_Zuordnung
(
  ZP_PflegerID INTEGER,
  ZG_GehegeID INTEGER,
  FOREIGN KEY(ZP_PflegerID) REFERENCES t_Pfleger(P_ID),
  FOREIGN KEY(ZG_GehegeID) REFERENCES t_Gehege(G_ID), <-- Komma muss weg
);
danke, wir haben create table erst neu angefangen ich verstehe nicht was du mit präfix meinst und was ist mit meiner ID falsch haben sollte
 

Neue Themen


Oben