Может ли дочерняя таблица от 1-многих быть родительской для другой таблицы, которая равна многим 1
1) Таблица GroupParent1 ( Gid, значение) (111, Shirt)
2) GroupChild1 (Gcid, Gid, value) (1,111, синий)(2,111, хлопок), т.е. хранит атрибуты для продуктов, поэтому группа атрибутов в этой таблице может иметь одну или несколько строк.
ВОПРОС: Другая таблица под названием 3) Цена должна хранить цену для "только" групп, которые существуют в таблице 2 выше, используя редизайн / PK-FK или оба.
Как и у синей, у хлопковой рубашки может быть цена, или у красной, у шелковой рубашки - другая цена.
Короче говоря, как мы можем применить ограничение pk-fk или перепроектировать их так, чтобы Price мог быть создан только тогда и только тогда, когда в обеих других таблицах есть данные.
Я могу поместить Pk из таблицы 1 в любую из таблиц и могу применить референтное ограничение. Но я не могу использовать таблицу 2 для обеспечения того, чтобы таблица 3 имела запись только в том случае, если группа была создана в таблице 2. Поскольку в таблице 2 есть группа, я не могу этого сделать, поскольку в группе несколько строк, то есть 2 в этом случае.
1 ответ
У вас есть 2 способа сделать это:
Во-первых (если один элемент таблицы GroupChild1 может иметь только один элемент), вы можете добавить один столбец в GroupChild1, чтобы сохранить цену.
Во-вторых (если один элемент таблицы GroupChild1 может иметь одну или несколько цен), вы должны создать таблицу с именем "Цены" с отношением "GroupChild1".
[Цена] - {id, цена, groupchild1_id}
Я надеюсь, что это поможет вам.