У меня есть четыре стола: ItemCategory, Items, DiamondCategoy и Diamonds.Помощь с дизайном базы данных
пользователям хранить подробную информацию о позициях и указать, имеет ли он алмаз на, например:
ItemCategory: Ring
Item: R1
Если есть алмаз, то:
DiamondCategory: Round
Diamond: D1
Так R1 кольца имеет D1 Рулонный
элемент не может иметь никаких алмазов, например:
ItemCategory: Ring
Item: R1
DiamondCategory: None
Diamond: None
Я не могу понять, как создать отношения. Я придумал это решение, исправьте меня, если я ошибаюсь.
ItemCategory:
c_Id >> PK
Предметы:
p_Id >> PK
c_Id >> FK
d_Id >> FK
Алмазы:
d_Id >> PK
dc_Id >> FK
DiamondCategory:
dc_Id >> PK
Это правильно ?.
Это лучшее решение. Если вы не указали ключевые столбцы, вы потратите много времени на объединение таблиц. –
Ну, у меня есть таблицы категорий, каждая из которых имеет свои собственные атрибуты. ItemsCategory имеет 10 записей, а DiamondCat - 8. Когда я добавляю новый элемент, я выбираю его категорию из выпадающего списка, которое ограничено таблицей ItemsCat, вставляет детали элементов, и если у него есть алмаз, я выбираю его категорию и вес. Я не могу этого сделать, если категория находится в одной таблице. – DanSogaard