您所在的位置: 首页>>读书频道>>设计开发>>.Net系列>>

1.2.4 码

http://book.51cto.com  2007-08-27 10:56  赵松涛,陈小龙  电子工业出版社博文视点  我要评论(0)
1.2.4  码
码(Key)在有的图书上也被翻译为键,是关系型数据库中一个非常重要的概念。常见的有候选码、主码和外码这3个概念。
我们来观察一下表1-1显示的身份证信息。对于每条身份证信息(一个记录),我们希望能够在表中唯一区分开来。能够唯一区分表中的任何两条记录的字段或者字段的组合就称为候选码。比如,在表1-1中,严格说来身份证号码是唯一的,所以就可以用来区分任何两条记录,这样身份证号码这个字段就是一个候选码。
如果在定义表结构时确实选定身份证号码作为唯一区分记录的依据,则其就成为主码。
问题:一个关系型表中必须有主码吗?不一定。但是关系理论和大量实践都表明最好有一个主码。候选码有多个,但任何一个表的主码只有一个。
那么,什么是外码呢?
关系型数据库中设计的数据表之间往往是有一定联系的。让我们来观察表1-3和表1-4数据之间的联系。在如表1-3所示的研究生表中,选择研究生的学号字段为主码。在如表1-4所示的导师表中,选择导师编号字段为主码。
让我们来研究一下表1-3和表1-4所示数据之间的关系,我们可以得出如下结论。
 如果表1-3中出现的导师编号在表1-4中没有,则这样的数据没有意义。反过来,表1-4中的导师编号没有出现在表1-3中是允许的。
 如果表1-4中的导师编号因为种种原因发生更改,则表1-3中的导师编号应该发生相应的更改,这种更改应该是由数据库来自动完成的。
要实现这样的要求,我们就可以通过把表1-3的导师编号定义为表1-4的外码来实现。一个表的主码是另外一个表的外码,则两个表之间就建立了关联。
【责任编辑:雪花 TEL:(010)68476606-8007】

回书目   上一节   下一节
上一篇: 1.2.3 表 下一篇: 1.2.5 索引
如何有效提升企业安全审计应用水平
让你的代码“炫”起来——WPF开发教程
企业级Web2.0 你准备好了么?
CCNA认证考试Pass必备
云计算时代来临
 
 验证码: (点击刷新验证码)   匿名发表
  • 野蛮生长

  • 作者:冯仑著
  • “地产界的思想家”冯仑纵横生意江湖20年来,第一次系统梳理出书。  三十年来中国民营企业从前公司时代发展到公司时代,21..
Copyright©2005-2008 51CTO.COM 版权所有