我现在很困惑,也许你可以帮助我更好地理解这个问题。
有两个表程序和模块,
一个程序可以有很多模块,同一个模块可以在很多程序中,
您将如何在这里识别主键和外键?因为没有唯一的单一属性,因为 program_id 可能会出现 n 次,因为同一程序中有不同的模块,并且 module_id 也会出现多次,因为它存在于许多程序中。
我现在很困惑,也许你可以帮助我更好地理解这个问题。
有两个表程序和模块,
一个程序可以有很多模块,同一个模块可以在很多程序中,
您将如何在这里识别主键和外键?因为没有唯一的单一属性,因为 program_id 可能会出现 n 次,因为同一程序中有不同的模块,并且 module_id 也会出现多次,因为它存在于许多程序中。
程序将以 aprogrammeID
作为其主键
一个模块将有一个moduleID
作为它的主键
然后会有第三个表 - 比如说ModuleProgrammes
- 它有moduleId
和programmeID
作为外键。
ModuleProgrammes 可能有moduleid
andprogrammeid
作为主键,也可能有 amoduleprogrammeid
作为主键。
只是为了更好地设计数据库..只需使用另一个表并在新表中提供 Programs 表和 Modules 表的每个主键的引用作为外键,这将减少数据冗余并绑定表..