2013-12-24 4 views
0

Каков будет тип DataType столбца Quantity для всех продуктов в таблице продуктов магазина в sql? Как и множество продуктов, которые измеряются в разных единицах, таких как литр, гм, кг, штук и т. Д. Используя какой тип данных в таблице, я могу взять свои входы с соответствующими единицами продуктов из формы?Тип данных для всех продуктов

+1

Добро пожаловать в StackOverflow! Пожалуйста, прочитайте [ask] и [faq] и отредактируйте свой вопрос. – Marco

ответ

0

Прежде всего вам нужно создать два столбца для хранения этого значения.

Первая колонка является Quantity это может быть integer или bigint вы можете определить его как вам нужно хранить числовое значение количества.

Вторая колонка является QuantityType это может быть smallint хранения только номер Отсносящийся для ваших типов количества, как Кило, Литер, GM и т.д. ...

Примечание Я выбираю SMALLINT для QuantityType, потому что я не подумайте, что будут типы, большие, чем этот тип данных, если вы найдете его больше, чем это можно определить как integer

0

Для столбца количества я использовал бы decimal column type с соответствующей точностью (то есть, если вы указали точность 15 и в виде cale of 5, то вы сможете хранить до 9 999 999 999 до 5 знаков после запятой). Тогда вам также понадобится столбец, который указывает единицы, это может быть поиск (внешний ключ) в другую таблицу.

Прежде чем использовать int или bigint, подумайте, нужно ли хранить дробные количества - если вы это сделаете, вам также понадобится хранить множитель, то есть если ваше количество за килограмм вам нужно будет хранить сумму в граммах, но затем умножьте на 1000 (потому что int/bigint не может хранить дробные суммы).

Смежные вопросы