0

インターネットで答えを探してみましたが、データベースをよく理解していないため、質問を Google 検索として機能させるのに苦労しています。

これがどこかに答えられていたら申し訳ありませんが、私はそれを見つけることができないようです. これに答えることができる何かへのリンクは大歓迎です。

データベースにテーブルを設定しようとしています。「Compatible with」というフィールドを含む多くのフィールドを含むソフトウェア テーブルがあります。

「互換性あり」は、このソフトウェアが互換性のあるオペレーティング システム (Windows XP、Windows 7 など) を格納するために使用されます。十分に単純です。

一定数の応答を持つ他のフィールド (ドロップダウンリストなど) を使用して、データベースを個別のテーブルと外部キーで正規化しました。「Compatible with」フィールドに対してもこれを行うのは「良い習慣」になると思いますが、正規化されたテーブルをどのように設定すればよいかよくわかりません。

ここでhttp://forums.asp.net/t/1675666.aspx/1を見つけたので、次のようにテーブルを作成することを考えました。

列名の          データ型
CompatibleWithId int
Windows XP ビット
Windows 7 ビット

...後でさらに追加できるようにしたい...

私が遭遇した問題は、将来、「互換性」フィールドのオプションのリストに追加する必要があるということです。上記のようなテーブルに列を追加する C# コード (私は MVC 2 と Entity Framework 4.3.1 を使用していると思います) に方法はありますか? または、これを設定する必要がある完全に異なる方法はありますか?

4

1 に答える 1

1

あなたのソフトウェア要件についての私の理解によると (間違っている場合は訂正してください)、データベース スキーマを取得する方法は次のとおりです。

table1: software (id, name, blah, blah)
table2: operating_sys (id, os_name, version)
table3: compatibility (software_id, os_id)

関係:

Software to compatibility --> one to Many

したがって、互換性テーブルには、ソフトウェアごとに複数の行があります。将来、さらに多くのオペレーティング システムまたはバージョンがある場合は、それらを operating_sys テーブルに追加し、対応するエントリを互換性テーブルに追加できます。

それはあなたが探していたものですか?

于 2012-07-11T15:33:38.200 に答える