Тип данных поля - PullRequest
       8

Тип данных поля

1 голос
/ 13 марта 2009

Привет, ребята, у меня есть поле в таблице, в котором я буду хранить различные типы данных, например: X-Large, Medium, Small .... или я могу хранить: 22-March-2009 , 1 год, 2 года, 3 года ... или 06 месяцев, 12 месяцев, 1 год, или я могу хранить: "33-36", "37-40" ... и эти данные не являются фиксированными, мне может понадобиться в будущем добавлю новые категории ...

Очевидным выбором типа данных будет nvarchar (длина), но есть ли другие предложения? Есть ли способ обойти это ??? заранее спасибо ...

Ответы [ 4 ]

3 голосов
/ 13 марта 2009

Звучит так, будто вы пытаетесь сохранить «размер». Возможно, вам нужна таблица «Размер» с этими значениями (X-Large, Medium, Small, 1 Year и т. Д.) И полем ID, которое находится в другой таблице.

Почему вы также хотите сохранить дату в том же поле, меня немного смущает. Вы уверены, что у вас не должно быть двух разных полей?

ETA: На основании вашего комментария я бы предложил создать пару дополнительных таблиц:

SizeType - определяет тип «размера», с которым вы работаете (например, детская одежда, детская обувь, мужская обувь, женская обувь, мужские рубашки, мужские брюки, женские рубашки, женские брюки и т. Д.). Будет иметь два столбца - идентификатор и описание.

Размер - определяет индивидуальные размеры (например, «Размер 5», XL, 33–34, 0–6 месяцев и т. Д.). Будет иметь три столбца - и ID, описание и соответствующий идентификатор SizeType от SizeType.

Теперь на вашей таблице продуктов вы бы поместили идентификатор из таблицы размеров. Это дает вам некоторую гибкость в плане добавления новых размеров, определения того, какие размеры подходят к какому типу продуктов и т. Д. Вы также можете разбить его на части, чтобы сделать дизайн еще лучше, но я не хочу переусердствовать здесь. .

1 голос
/ 13 марта 2009

Независимо от того, что вы делаете, такой дизайн базы данных выглядит не очень хорошо.

Тем не менее, вы можете использовать тип данных BLOB, чтобы просто хранить любые данные в столбце, или текстовый тип, если это текст (таким образом, поиск будет работать лучше, понимая прописные и строчные буквы и тому подобное).

0 голосов
/ 13 марта 2009
  • nvarchar (max), если данные ограничено строк меньше 2Gb.
  • ntext, если вам нужно разрешить строки более 2 Гб.
  • двоичный файл или изображение, если вам нужно хранить двоичные данные.
0 голосов
/ 13 марта 2009

nvarchar (max) будет работать. В противном случае у вас может быть несколько столбцов, по одному для каждого возможного типа. Это не позволит вам преобразовывать такие вещи, как числа с двойной точностью, в строки и обратно.

...