S sjm Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-06 #1 一般的教科书都说,尽量为每个数据表创建主键,Access数据表在创建完时若未建主键甚至会提示用户建议创建主键。可我看到许多数据库实例(含Access、Sql Server 2000)有的表有主键,有的没有,这样我就搞不清楚到底听谁的,想问一下各位,每个表都需要创建主键吗,不创建也行吗,理由何在?谢谢!
一般的教科书都说,尽量为每个数据表创建主键,Access数据表在创建完时若未建主键甚至会提示用户建议创建主键。可我看到许多数据库实例(含Access、Sql Server 2000)有的表有主键,有的没有,这样我就搞不清楚到底听谁的,想问一下各位,每个表都需要创建主键吗,不创建也行吗,理由何在?谢谢!
J japhe Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-06 #3 什么是主键? 内容 在数据库中,常常不只是一个表,这些表之间也不是相互独立的。不同的表之间需要建立一种关系,才能将它们的数据相互沟通。而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的。通过这个字段中不同的值可以区别各条记录。就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可以根据它来区别不同的人。数据库的表中作为主键的字段就要像人的身份证号一样,必须是每个记录的值都不同,这样才能根据主键的值来确定不同的记录。
什么是主键? 内容 在数据库中,常常不只是一个表,这些表之间也不是相互独立的。不同的表之间需要建立一种关系,才能将它们的数据相互沟通。而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的。通过这个字段中不同的值可以区别各条记录。就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可以根据它来区别不同的人。数据库的表中作为主键的字段就要像人的身份证号一样,必须是每个记录的值都不同,这样才能根据主键的值来确定不同的记录。
T tianlove Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-06 #4 某列为主键就不能重复,为了数据的唯一性,方便操作
S sjm Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-06 #5 很受启发。那有时数据表里定义了两个甚至三个主键又是为何?谢谢指教。
我 我人很笨 Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-06 #8 二楼的说得非常清楚了 ,一般要有主键,当记录量大的时候方便管理,查询 不染小心死得惨