0

我现在很困惑,也许你可以帮助我更好地理解这个问题。

有两个表程序和模块,

一个程序可以有很多模块,同一个模块可以在很多程序中,

您将如何在这里识别主键和外键?因为没有唯一的单一属性,因为 program_id 可能会出现 n 次,因为同一程序中有不同的模块,并且 module_id 也会出现多次,因为它存在于许多程序中。

4

2 回答 2

2

程序将以 aprogrammeID作为其主键

一个模块将有一个moduleID作为它的主键

然后会有第三个表 - 比如说ModuleProgrammes- 它有moduleIdprogrammeID作为外键。

ModuleProgrammes 可能有moduleidandprogrammeid作为主键,也可能有 amoduleprogrammeid作为主键。

有关详细信息,请参阅http://en.wikipedia.org/wiki/Junction_table

于 2012-10-17T09:54:31.640 回答
0

只是为了更好地设计数据库..只需使用另一个表并在新表中提供 Programs 表和 Modules 表的每个主键的引用作为外键,这将减少数据冗余并绑定表..

于 2012-10-17T13:29:34.337 回答