text: 键码
  键码(key)是实体的一个属性或一组属性，其值可用来特定标识该实体。在数据库领域中，当用概念模型描述现实世界客观事物时，将客观存在并可互相区分的事物称作实体，实体所具有的特性称作属性，能够独立标识实体的一个或一组属性称作键码。例如学生实体可有学号、姓名、性别、所在系、年级等属性，其中学号是键码。
  简介
  在关系数据库系统中，基于数据依赖概率可以更严格地定义键码如下：设有关系模式R，若有属性组K使得对于R的任意属性A，K 函数决定A，而K的任何真子集K′都不能函数决定A，则称K为R的候选键码。当候选键码多于一个时，则选定其中一个为主键码。
  在关系数据库系统中，如果关系R2的一个属性(或属性组)的值与另一个关系R1的主键码的值相对应，则称 R2中的这个属性(或属性组)为外键码。例如，有下面的两个关系：
  部门(部门号，部门名，部门地址)
  职工(职工号，职工名，部门号)
  “职工”关系的“部门号”与“部门”关系的主键码“部门号”相对应，因此“职工”关系中的“部门号”为外键码。键码是数据库系统中的重要概念。它是信息检 索的依据。给定键码值作为检索条件，则检索的结果是至多一个记录或元组值。关系数据库中外键码与主键码的对应是关系之间联系的体现，它反映了一个关系中的元组对另一个关系中的元组的参照。
  具体介绍
  超键(super key)：在关系中能独立标识元组的属性集称为关系模式的超键。
  候选键(candidate key)：不含有多余属性的超键称为候选键。
  主键(primary key)：用户选作元组标识的一个候选键程序主键。
  外键(foreign key)：如果关系模式R1中的某属性集不是R1的主键，而是另一个关系R2的主键则该属性集是关系模式R1的外键。
  主属性：候选键中的属性为主属性。
  关系图非主属性：不包含在候选键中的属性为非主属性。
  假设有如下两个表：
  学生（学号，姓名，性别，身份证号，教师编号）
  教师（教师编号，姓名，工资）
  超键：
  由超键的定义可知，学生表中含有学号或者身份证号的任意组合都为此表的超键。如：（学号）、（学号，姓名）、（身份证号，性别）等。
  候选键：
  候选键属于超键，它是最小的超键，就是说如果再去掉候选键中的任何一个属性它就不再是超键了。学生表中的候选键为：（学号）、（身份证号）。
  主键：
  主键就是候选键里面的一个，是人为规定的，例如学生表中，我们通常会让“学号”做主键，教师表中让“教师编号”做主键。
  外键：
  外键比较简单，学生表中的外键就是“教师编号”。外键主要是用来描述两个表的关系。