2017-03-22 3 views
0

Ich brauche einen Tisch zu teilen, ich glaube, da einige Datensätze an einen Tisch und andere Aufzeichnungen auf eine andere Tabelle, in Zusammenhang stehen. Aber muss ich wirklich den Tisch aufteilen?Relationale Datenbank-Design - Splitting Tabellen

den Tabellen sind wie folgt:

SAMPLE (sample_id, sample_type, borehole_id)
Bohrloch (borehole_id, x, y, z)
TRAM (drawpoint_id, SECTION_ID)

In der Tabelle SAMPLE gibt es Beispiele vom Typ Kern und Straßenbahn. Die Kernproben beziehen sich auf die BOREHOLE-Tabelle und die Straßenbahnproben auf die TRAM-Tabelle. (Tram Proben haben keine geographischen Koordinaten, müssen also separat aufbewahrt werden)

Abgesehen von diesem Split-Typ sind die Probendaten identisch, in der Tat können wir die Proben nicht nach Typ aus dem Testlabor trennen. Wir können Beispieldaten aus dem Labor alle in einem Bericht erhalten und wissen nur, welchen Typ sie nach der Abfrage des Typs haben. Ich hatte gehofft, alle Probenergebnisse in einer Tabelle zu speichern.

Wie wird dies in der Regel behandelt?

+0

Dies ist eine FAQ, google 'Stackoverflow philipxy FAQ Subtyp'. – philipxy

+0

Ja, danke. Ich habe Subtypen und Supertypen nachgeschlagen und das ist es. – Elizabeth

Antwort

0

Wenn die Daten identisch ist dann die Designod Tabelle SAMPLE ist falsch. ich nicht wahrscheinlich understant, was Sie versuchen zu erreichen, aber die Tabelle SAMPLE braucht nur ein paar Felder id_sample und Titel (oder den Namen), dann müssen youll eine Tabelle, die diese Proben eine Liste zu speichern, sagen LIST-Tabelle. Tabellenliste müssten Felder ID_LIST, id_sample, id_borehole, date_rcvd, usw. (was Felder, die Sie brauchen, um mit seiner characteristcs Informationen über bestimmte Probe zu halten) Sein mir nicht klar, was die Tabelle TRAM gespeichert werden sollte, aber es scheint, dass Sie wiederholen zwei Spalten davon in die Tabelle SAMPLE, die falsch ist.

+0

Ups, ja, das ist ein Tippfehler. Ich habe den Beitrag redigiert, um anderen Lesern klar zu machen. Die Straßenbahn hat also einen zusammengesetzten Schlüssel und einige andere Informationen. Danke, dass du meine Gedanken in die richtige Richtung gebracht hast, ich konnte es einfach nicht sehen. Ich bin dabei, diese Daten auf eine bestimmte Art zu denken. Also wenn ich 2 Tabellen BH_SAMPLE (sample_id, sample_type, borehole_id) und TRAM_SAMPLE (sample_id, sample_type, foreign-key) hätte, die funktionieren würden. Ich kann die Testergebnisse weiterhin in der Tabelle SAMPLE (sample_id, au_result) speichern. – Elizabeth