0

我试过在互联网上寻找答案,但因为我不太了解数据库,所以我无法将我的问题表述为谷歌搜索。

如果这已在某处得到回答,我深表歉意,但我似乎无法找到它。一个可以回答这个问题的链接将不胜感激。

我正在尝试在我的数据库中设置表。我有一个包含许多字段的软件表,其中包括一个名为“兼容”的字段。

“兼容”用于存储本软件兼容的操作系统(即Windows XP、Windows 7等)。很简单。

对于具有一定数量响应的其他字段(如下拉列表),我使用单独的表和外键对数据库进行了规范化。我的猜测是,对“兼容”字段也这样做是“好习惯”,但我不确定应该如何设置规范化表。

我在这里找到了一些东西http://forums.asp.net/t/1675666.aspx/1可能是正确的方向,所以我想把我的桌子做成这样:

列名          数据类型
CompatibleWithId int
Windows XP 位
视窗 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 回答