Datentyp für foreign key postresql

trunksen

trunksen

Doppel-As
Hi!

Also ich muss für die Uni eine postgresql Datenbank erstellen mit den dazugehörigen joint Befehlen!
Ich habe bereits drei Tabellen erstellt (t_member, t_order, t_article)

In der t_order tabelle möchte ich nun die member_id, article_id hinzufügen!
Ich habe für die zwei columns den Datentyp "serial" gewählt!
Wenn ich die zwei Datentypen nun bei der tabelle t_order hinzufügen will, müssen sie dann dort auch den Datentyp "serial" haben :hilfe2:?
Normalerweise müsste es dann doch wieder von vorne durchnummerieren oder?

mfg trunksen
 
Die Doku kenn ich ^^!

Ok, klingt logisch, dann werde ich es mit Integer machen!

Vielen Dank!

mfg trunksen

edit: Eine Frage habe ich dann doch noch: Was ist, wenn der Datentyp vom Datensatz der anderen Tabelle nicht serial, sondern text, character varying oder boolean ist?
Soll ich dann beim foreign key ebenso den gleichen Typ verwenden?
Gerade bei boolean könnte ich mir vorstellen das es Probleme ergibt oder?

mfg trunksen
 
Zuletzt bearbeitet:
Ja, im Normal verwendet man für Foreign-Key und Primary-Key den gleichen Datentyp. Ausnahmen wären nur, wie weiter oben beschrieben, Datentypen mit automatischer Feldwerterhöhung.

Ein Bool-Feld als Primary-Key...
Wenn denn zwei Datensätze in der Tabelle ausreichen...
Oder mehrere Bool-Felder kombiniert als Primary-Key. Sieht sicher lustig aus. :)

Nebenbei, die Datenbank-Vorlesung sagt dir nicht so zu? :D
 
Plinzen: Hast du studiert? In der Regel lernt man dort nicht, wie man ein RDBMS bedient, sondern man lernt die Theorie dahinter..
 
Ja, im Normal verwendet man für Foreign-Key und Primary-Key den gleichen Datentyp. Ausnahmen wären nur, wie weiter oben beschrieben, Datentypen mit automatischer Feldwerterhöhung.
Heißt das, dass man nur primary keys von anderen Tabellen foreign keys sein können? Das würde dann auch den unique constraint Fehler erklären :D!
Dann müsste ich mein Datenbankmodell nocheinmal überdenken -.-!

Hast du studiert? In der Regel lernt man dort nicht, wie man ein RDBMS bedient, sondern man lernt die Theorie dahinter..

Ganz genau...die Vorlesung heißt:"Grundlagen der Informatik" und da ist SQL nur ein kleiner Teilbereich!
Die Details etc. müssen wir uns im "Selbststudium" aneignen ^^

mfg trunksen
 
Heißt das, dass man nur primary keys von anderen Tabellen foreign keys sein können? Das würde dann auch den unique constraint Fehler erklären :D!
Dann müsste ich mein Datenbankmodell nocheinmal überdenken -.-!

In der Regel macht man das nur mit Primary und Foreign-Key, da ansonsten die von dir beschriebenen Probleme auftreten können. Stichwort: Normalisierung

Achso... Krass wie unterschiedlich die Informatikstudiengänge doch seien können. In Grundlagen der Informatik haben wir so lustige Automaten gezeichnet. :) Wir (FH) haben zwei Semester extra Datenbankvorlesung.
Allerdings ziemlich auf SQL-bezogen. Ich würde gern mehr darüber erfahren, was so hinter dem bisschen SQL, was wir lernen, steckt.
 
Naja, das ist ja aber auch der Unterschied zwischen FH und Uni, die FH soll ja etwas praktischer orientiert sein. In Grundlagen der Informatik hätte ich das aber auch nicht einsortieren wollen.. Manchmal haben aber ja die Unis oder Dozenten etwas eigenwillige Vorstellungen der Inhalte. Ich hoffe auch, dass da bei denen noch ein paar extra Semester für Datenbanken anstehen. Bei uns (ebenfalls FH) war auch viel SQL dabei, aber ich würde mal behaupten, dass viele danach mit SQL immer noch nicht richtig arbeiten konnten, aber zumindest wussten, wie man das Datenbankmodell richtig aufbaut. Um das dann praktisch zu machen gibt es ja genug Doku und/oder Bücher. Zumal das ja nicht immer unbedingt bei jeder Datenbank das gleiche ist :-)
 
Zurück
Oben