Попасть в путаницу с числовыми первичными ключами
Я надеюсь, что кто-то может помочь. Я пытаюсь что-то настроить ниже, но я немного путаюсь. Насколько я понимаю, получение числовой переменной ID (например, автоинкремент) для первичного ключа более эффективно, чем использование составного первичного ключа из "естественных" переменных, которые определяют запись (особенно, если они являются символьными переменными (и т. Д.). так что если сопоставление UTF-8))
Как и в приведенном ниже примере, у каждого клиента есть список элементов (ITEMID), которые все являются членами категории (CATID), однако проблема заключается в том, что мне нужно, чтобы клиенты дополнительно могли назначать свои элементы в качестве компонента коллекции set (SETID), который является неидентифицирующей справочной таблицей - любой клиент может иметь несколько версий одного SETID.
Пункты, необходимые для набора, определяются CATID. Следовательно, в приведенном ниже примере, предназначенном для одного покупателя, он может выбрать назначение элемента 2 или 4 (или ни одного, ни обоих) для SET 001.
**ITEMS**
ITEMID CATID
1 04
2 02
3 01
4 02
5 05
**SETS**
SETID CATID
001 01
001 02
002 04
003 05
**CATEGORY**
CATID
01
02
03
04
05
**Wanted result:**
ITEMID CATID SETNUMBER SETID
1 04 (customer chose not to assign to SET 002)
2 02 1 001
3 01 1 001
4 02 2 001
5 05 003
Спасибо заранее!
1 ответ
Из вашего описания кажется, что таблица "ITEM" может содержать столбец внешнего ключа "SETID" со значением NULLable.