2009-03-13 8 views
1

私はテーブルにテーブルを置いて、さまざまな種類のデータを格納するフィールドを持っています.X-Large、Medium、Small ....またはI might store: 2009年3月22日、1年目、2年目、3年目...または06月、12月、1年、または「33-36」、「37-40」...を格納する可能性があります。固定されている、私は将来新しいカテゴリを追加する必要があります...フィールドのデータタイプ

明白なデータ型の選択は、nvarchar(長さ)ですが、他の提案ですか?これを回避する方法はありますか?事前のおかげで...

答えて

3

「サイズ」を保存しようとしているような音です。たぶんあなたはそれらの値(X - 大、中、小、1年など)と他のテーブルに入るIDフィールドを持つ "サイズ"テーブルが必要です。

同じフィールドに日付を保存したいのは、私にとってはちょっと混乱します。そこには2つの異なるフィールドがあってはいけないと確信していますか?

ETA:あなたのコメントに基づいて 、私はカップルの追加テーブルの作成を示唆している:

たSizeTypeを - 例えば、服を子供の靴を子供、メンズ(あなたが使用していた「サイズ」のタイプを定義します靴、女性靴、メンズシャツ、メンズパンツ、レディースシャツ、レディースパンツなど)。 IDと説明という2つの列があります。

サイズ - 個々のサイズを定義します(「サイズ5」、XL、33-34、0-6ヶ月など)。 3つの列(ID、Description、およびSizeTypeからの対応するSizeType id)を持ちます。

あなたの商品テーブルには、サイズテーブルからIDを入力します。これにより、新しいサイズを追加したり、どのサイズの製品をどのサイズにするかなどの柔軟性が得られます。デザインをさらに良くするためにさらに分解することもできますが、ここでは複雑すぎることは望ましくありません。

+0

サイズですが、ベビー服のサイズは年齢、月齢、年齢に基づいています。靴のサイズは衣服とは異なるシステムを持っていますが、どうすればいいと思いますか? – Maen

0

nvarchar(max)が動作します。それ以外の場合は、複数の列を持つ可能性があります。それは、倍精度数値のようなものを文字列に変換したり、戻ったりすることを防ぎます。データは 未満 の2Gbの文字列に制限されている場合

0
  • データ型はnvarchar(max)となっています。
  • ntext 2Gb以上の文字列を許可する必要がある場合。
  • バイナリまたは画像 バイナリデータを保存する必要がある場合。
1

あなたが何をしても、そのようなデータベースのデザインは良くありません。

BLOBデータ型を使用すると、列にデータを格納するだけで、テキストの場合はテキスト型にすることができます(この方法で検索すると、大文字と小文字の区別がわかります)。

関連する問題