Was kann passieren, wenn ich in java einstelle, dass der Fremdschüssel ein Attribut ist, welches selber kein Primärschlüssel ist?

berserkerdq2

Bekanntes Mitglied
Hi, habe in Jave eingestellt, dass ich einen Fremdschlüssel in einer Tabelle habe, der jedoch in der anderen Tabelle kein Primärschlüssel ist, ich konnte die Datenbank auch erstellen + anschauen im Nachhinein, welche Konsequenzen hat es jedoch, dass der Fremdschlüssel kein Primärschlüssel in einer anderen Tabelle ist?
 
Beste Antwort
Also bei einem Foreign key sollte der Primary Key in einer anderen Tabelle referenziert werden. Das ist bei diversen Datenbanken auch entsprechend dokumentiert:

Postgresql: https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-foreign-key/
A foreign key is a column or a group of columns in a table that reference the primary key of another table.

Es gibt Datenbanken, die davon abwchen. MySQL ist so eine Datenbank, die alles mögliche erlaubt (Ist halt eine Frickel Datenbank in meinen Augen:
Wenn man MxSQL mit InnoDB benutzt, dann reicht sogar ein Indice, bei dem die notwendigen felder am Anfang sind:
InnoDB permits a foreign...
hol dir nach dem ausführen den error log


prinzipiell is in der db alles sp geregelt
entweder es funktioniert oder wird zurück gespult

Was doe Möglichkeiten ziemlich einschränkt
 
Also bei einem Foreign key sollte der Primary Key in einer anderen Tabelle referenziert werden. Das ist bei diversen Datenbanken auch entsprechend dokumentiert:

Postgresql: https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-foreign-key/
A foreign key is a column or a group of columns in a table that reference the primary key of another table.

Es gibt Datenbanken, die davon abwchen. MySQL ist so eine Datenbank, die alles mögliche erlaubt (Ist halt eine Frickel Datenbank in meinen Augen:
Wenn man MxSQL mit InnoDB benutzt, dann reicht sogar ein Indice, bei dem die notwendigen felder am Anfang sind:
InnoDB permits a foreign key to reference any index column or group of columns. However, in the referenced table, there must be an index where the referenced columns are the first columns in the same order.
Bei MySQL mit NDB muss es ein unique index geben:
NDB requires an explicit unique key (or primary key) on any column referenced as a foreign key. InnoDB does not, which is an extension of standard SQL.

Ich vermute, Du nutzt mysql? 🙂
 
Beste Antwort
ich würde dir raten dass du dir das tool phpmyadmin holst, wenn du xamp lamp oder so benutzt ist es automatisch dabei musst es nur noch einschalten
damit kannst du dir im browser dann den aktuellen zustand deiner DB anschauen

und phpmyadmin ist idioten einfach zu bedienen und viele nutzen es also ist nicht so als ob du ein tool lernst das du nie mehr brauchst sondern das hat dann schon mehrwert..und die oberfläche ist ziemlich schick verglichen mit anderen tools die die gleiche aufgabe erfüllen wollen
 
Also bei einem Foreign key sollte der Primary Key in einer anderen Tabelle referenziert werden. Das ist bei diversen Datenbanken auch entsprechend dokumentiert:

Postgresql: https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-foreign-key/


Es gibt Datenbanken, die davon abwchen. MySQL ist so eine Datenbank, die alles mögliche erlaubt (Ist halt eine Frickel Datenbank in meinen Augen:
Wenn man MxSQL mit InnoDB benutzt, dann reicht sogar ein Indice, bei dem die notwendigen felder am Anfang sind:

Bei MySQL mit NDB muss es ein unique index geben:


Ich vermute, Du nutzt mysql? 🙂
Ja haha
 

Zurück
Oben