Дизайн базы данных для таблицы Unitconvertion? - PullRequest
0 голосов
/ 18 января 2011

Я пытаюсь создать таблицу для хранения единиц, эта таблица используется для преобразования единиц, и структура моей таблицы такая же, как на изображении

table Structure

это структура таблицыдостаточно для преобразования единиц из одного типа в другой

Ответы [ 2 ]

1 голос
/ 18 января 2011

alt text

Предполагается, что UnitSymbol является уникальным, что не имеет место, если вы смешиваете метрики, имперские и т. Д., Например, tblsp = столовая ложка может быть имперской, метрической,Канадский, США и т. Д. В этом случае используйте UnitID (integer) в качестве первичного ключа.

0 голосов
/ 18 января 2011

Этого достаточно , но запрос окажется излишне трудным. Например, представьте, если кто-то спрашивает: «Сколько килограммов в тонне? Или в миллиграммах?». Вам нужно было бы иметь много строк с «килограммами», которые ссылаются друг на друга, или альтернативно выполнить запрос пару раз, пока не дойдете до нужного уровня.

Обычно вы делаете это в соединительной таблице. Таким образом, используя ваши имена столбцов, это будет что-то вроде:

Units (unit_ID, Name, unit_Type, unit_Group, IsDeleted)

IsFactorOf(unit_ID, parent_ID, factor)

, где в "IsFactorOf" unit_ID - это FK для дочерней единицы, parent_ID - это FK для родительской единицы (child-parent относится к элементу factor - 'child is factor of parent'), и оба ключа создают PK.

Теперь вы можете определить, сколько килограммов в любой единице измерения доступно для одного и того же типа, введя IsFactorOf для каждого преобразования. Очевидно, вы получите двустороннее преобразование ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...