数据库关系中的组合主键

时间:2015-01-04 17:11:35

标签: relational-database

我一直在寻找网络和书籍的信息,似乎无法找到任何相关信息。根据我对主键的理解,这是不可能的。但是,表中的所有列都可以用作组合主键。我的意思是我有一个包含6列的表,所有六列都可以用作组合主键。

2 个答案:

答案 0 :(得分:2)

表很可能只包含一个键并且没有非键属性。在语义上,这样的表识别实体的存在而不记录关于它们的任何附加信息。示例可以是授权访问系统或表的IP地址表,或者是在N维空间中识别点的坐标。为了在这样的表中更新,删除或检索单个元组,必须指定元组的完整值集。

答案 1 :(得分:0)

在Oracle中你可以这样做:

alter table table_name add constraint table_name_pk primary key(column1, column2, column3, column4, column5, column6);

在Oracle中,复合主键约束限制为32列。

参考:

http://docs.oracle.com/cd/B10500_01/server.920/a96524/c22integ.htm