Является ли хорошей практикой (или она будет иметь какие-либо отрицательные последствия) использование набора из 4 столбцов для определения строки как уникальной (один является внешним ключом, а три других являются типами данных с плавающей запятой)? Я пытаюсь создать таблицу, в которой (с 4 связанными ключами) будет описана уникальная запись в таблице. Мне любопытно, если это хороший план атаки или есть лучший способ.
Для наглядности представьте следующую таблицу. У нас есть элементы инвентаризации, которые организованы следующим образом: ( [K]
символ первичного ключа, строки - это отношения)
Sheet_Class Sheet_Type Sheet_Size
=========== ========== ==========
[K] Sheet_Class-. [K] Sheet_Type--. [K] Sheet_Size
'---- Sheet_Class '---- Sheet_Type
Length
Width
Thickness
Данные могут представляться следующим образом, но для краткости я исключил перенос связанных столбцов:
Sheet_Class Sheet_Type Sheet_Size (Tables)
[Sheet_Class] [Sheet_Type] [Length], [Width], [Thickness] (Column Values)
============= ============ ==============================
Aluminum
5052-H32
48, 96, 0.032
48, 96, 0.040
48, 96, 0.063
6061-T6
60, 120,0.032
60, 120,0.040
60, 120,0.063
Steel
1018-CRS
48, 96, 0.018
48, 96, 0.023
48, 96, 0.031
В его нынешнем виде (и я показал это в моей «схеме» выше) я использую простой (с автоматическим приращением) первичный ключ целого числа для записей в таблице Sheet_Size . Однако я хотел бы знать, лучше ли вместо этого использовать комбинацию столбцов Sheet_Type , Length , Width и Thickness ? Учитывая, что каждая запись в Sheet_Size должна обладать всеми этими уникальными качествами, и что автоинкрементное поле не продемонстрирует этого достаточно хорошо, это лучший путь?
Если я недостаточно хорошо объясняю ситуацию, пожалуйста, дайте мне знать. Я чувствую, что мне нужно выделить эти части (класс или тип или фактические размеры запасов) из инвентаризованного материала для других логических целей, но я готов к любому другому виду обратной связи.
Любое руководство будет оценено.
Обновление (08-12-2011)
После того , как ответы отвечали, я решил сделать сочетание ответа Марки и ответ X-Зеро . Я решил, что было бы неплохо наложить уникальные ограничения на столбцы длины, ширины и толщины, но мне также нравится идея разбивать размеры материала на уникальные строки и связывать их с помощью отношений.
К сожалению, я не могу принять оба ответа, поэтому я собираюсь принять X-Zeros за то, что они (что я чувствую) более критически оценили проблему и предложили корректировку схемы.
Спасибо всем за ваши ответы.