为何一个表中会有多个主码?
各位晚上好:
小弟本学期初学SQL Server。就是看极也看不明白为什么书本中的一些表会有两个主码,并且这些主码的字段值有相同的,还有另外一个有关联的表中也有相同的主码字段,书本不是说一个表只能有一个主码,并且主码字段值必须唯一,不能相同的吗?还有,另一个关联的表中的主码字段和上面的那个表的主码字段相同呢?应该是外码才对吧?但不明白书本为什么会说是主码?
还望各位高手多指教!!
谢谢!
问题点数:0、回复次数:3Top
1 楼zjcxc(邹建)回复于 2004-11-01 22:08:20 得分 0
一个表只有一个主键
但一个主键可以包含多个字段(即多个字段共同构成一个主键)
例如,一个记录软件产品的表,它可以设计为:
主版本号 次版本号 软件名称
1 0 aa
2 0 bb
2 1 bb1
即主版本号与次版本号共同构成主键
Top
2 楼sitoto(什么都不懂)回复于 2004-11-02 08:50:17 得分 0
主键字段不能重复,可以根据自己的意思 定义某个或某几个的组合。在另一个关联的表中的主键字段和前面的那个表的主键字段相同,其中那个“外码”应该是相对的吧,如:该表的主键相对于其他表是外码吧。请指点。Top
3 楼chj733(八神苍月)回复于 2004-11-02 09:51:58 得分 0
外码就是外键约束,他能强制两个表之间的数据具有关联性和一致性,一般是被约束表上的键值信息在主表上一定要有,但主表上的键列信息不一定在被约束表上有Top




