Database Normalization chaining

Ich habe mehrere Tabellen wie folgt verkettet:

Tabelle

product_id SERIAL NOT NULL,
name varchar,

Tabelle 2 (wird von table1 getrennt gehalten, da derselbe Produktname, aber eine andere Farbe haben kann)

table2_id
product_id integer,
color varchar,
FOREIGN KEY (product_id) REFERENCES table1 (product_id) ON DELETE CASCADE

Tisch 3 (von table2 getrennt, da gleiche Produktfarbe, aber unterschiedliche Größe haben kann)

table3_id
table2_id integer,
size varchar,
FOREIGN KEY (table2_id) REFERENCES table2 (table2_id) ON DELETE CASCADE

Zum Beispiel könnten Produktdaten auf folgende Weise existieren:

a chair (name)  -  red (color)  - 100cm(size)
a chair (name)  -  red (color)  - 200cm(size)
b chair (name)  -  green (color)  - 100cm(size)
b chair (name)  -  green (color)  - 200cm(size)
c chair (name)  -  black (color)  - s(size)
c chair (name)  -  black (color)  - m(size)
d chair (name)  -  black (color)  - null(size)
e chair (name)  -  gold (color)  - big(size)
e chair (name)  -  gold (color)  - small(size)

Um die Tabellen zu normalisieren (dh um die Duplikate zu entfernen), habe ich sie in 3 Tabellen aufgeteilt, aber ich bin nicht sicher, ob die Verkettung so korrekt ist oder nicht.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage