Примеры данных для гаек и болтов Thread Series
. Я пытаюсь определить первичный ключ (ключи) для этого набора данных. Вот пример нескольких допустимых комбинаций.Какая колонка для первичного ключа (ов)
size form tpi
1/4 UNC 20
1/4 UNF 28
1/4 UNEF 32
5/16 UNC 18
5/16 UN 20
5/16 UNF 24
5/16 UN 28
5/16 UNEF 32
3/8 UNC 16
3/8 UN 20
3/4 UNC 10
В конце концов я пытаюсь создать выпадающее меню в веб-приложение, которое позволяет пользователю выбрать правильный болт, такие как 3/4-10UNC-2A HEX Head.
3/4-6UNC-2A HEX Head
не действует, потому что они не производим болт 3/4" с 6 нитями на дюйм (он не будет загружен в эту таблицу).
Первый выталкиватель выбирает тип болта, а второй выталкивает размеры болтов, которые доступны на основе типа болта (определенного в другом дБ таблица)
Третий вытащил бы конечную часть определения болта. Поэтому, если пользователь выбирает HE X Head, то 5/16 ", они увидели бы выбор для UNC-18, UN-20, UNF-24, UN-28 и UNEF-32.
Мои варианты для ПК (ы) может быть:
- суррогат и создавать уникальные ограничения.
- размера использования и форма, как составной PK, который определяет TPI
- использовать размер и TPI в качестве составного PK, который определяет, образует
- использовать форму и TPI как ПК, который определяет размера
- всех три поля, как PK (вероятно, неправильно!)
Кажется, что не имеет значения, какую опцию PK я выбираю в отношении запроса, потому что я буду запрашивать на основе диаметра болта, чтобы получить два других значения. Что-то, что я забыл, это значения 2А, относящиеся к формам ООН в другой таблице, и «doozey» требования, которое дополнительно ограничивает использование ThreadSeries с типом болта.
Я делаю это в Java EE, используя JSF и JPA Сущности, если это имеет значение
Первичный ключ (или составной ключ, поскольку вы скорее всего, будет двигаться) определяется уникальностью. Из того, что я видел, единственные вещи, которые являются уникальными во всех столбцах, - все три значения. Но вопрос, который, я полагаю, у меня для вас есть, какой из столбцов гарантированно будет уникальным? Какие два столбца гарантированно уникальны по отношению к последнему столбцу? – Makoto
ах, да, теперь я вижу это после вашего комментария и более тщательной проверки, что 5/16 ООН 28 не дает однозначности, если я использую только два из трех столбцов для ПК. – jeff
Следует ли вместо этого строить родительские отношения с суррогатным ключом? table (ID, ParentID, FormType, TPI). Это позволяет создать модель, позволяющую пользователю фильтровать форму или размер. Почему лимит пользователя начинается с простого размера, когда они могут быть заинтересованы во всех размерах для формы? эта иерархия позволяет обрабатывать ваши значения 2A в качестве родителя для заданного размера/формы. – xQbert