Primärschlüssel gleichzeitig Fremdschlüssel?

jetwork

Fleissiger Benutzer
Beiträge
97
Hallo Zusammen,

Ich habe eine Tabelle mit wirklich sehr vielen Spalten. Ich will aber diesen spalten in 2 Tabellen teilen. Einige Daten gehören zu Rohdaten während die anderen generierte Daten sind.

Ich hatte am Anfang eine Tabelle namens tbl_aaa

Jetzt habe ich 2 Tabellen tbl_rohdaten_aaa und tbl_generiertedaten_aaa

Am Anfang hatte ich eine Tabelle

Tbl_aaa

die Spalten sind: aaa_id/info1/info2/info3/info4/info5


Jetzt habe ich die folgenden 2 Tabellen.

tbl_rohdaten_aaa

die Spalten sind: aaa_id/info1/info2/ info3

tbl_generiertedaten_aaa

die Spalten sind: aaa_id/info4/info5


Ich will die beiden Tabellen über eine Fremdschlüsselbeziehung miteinander verbinden? Soll ich einfach eine der Primärschlüssel auch als Fremdschlüssel definieren? Ist das sinnvoll? Was wäre schicker?
 
Werbung:
Ich will die beiden Tabellen über eine Fremdschlüsselbeziehung miteinander verbinden? Soll ich einfach eine der Primärschlüssel auch als Fremdschlüssel definieren? Ist das sinnvoll? Was wäre schicker?

Funktionieren tut es :

Code:
test=*# create table ta1 (id int primary key, col1 int, col2 int);
CREATE TABLE
test=*# create table ta2 (id_ta1 int references ta1 primary key, col3 int, col4 int);
CREATE TABLE
 
Es gibt sicherlich keine elegantere Lösung als den PK als FK zu definieren. Die Frage ist eher ob man die Tabelle überhaupt teilen sollte. Wenn du zu allen Rohdaten auch errechnete Werte hast macht das eigentlich keinen Sinn.
 
Werbung:
Es gibt sicherlich keine elegantere Lösung als den PK als FK zu definieren. Die Frage ist eher ob man die Tabelle überhaupt teilen sollte. Wenn du zu allen Rohdaten auch errechnete Werte hast macht das eigentlich keinen Sinn.

Depends.

Vielleicht richten sich 99% der Abfragen auf N Spalten und nur 1% der Abfragen auf die restlichen M Spalten. Nur bei diesem 1% brauche ich dann den JOIN, 99% der Abfragen sehen eine sehr kleine, schmale Tabelle.
 
Zurück
Oben