mtwm.net
当前位置:首页 >> 数据库外键 >>

数据库外键

外键是该表是另一个表之间联接的字段(外键必须为另一个表中的主键)外键的用途是确保数据的完整性.它通常包括以下几种:实体完整性,确保每个实体是唯一的(通过主键来实施)域完整性,确保属性值只从一套特定可选的集合里选择关

外键(Foreign Key) 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键.由此可见,外键表示了两个关系之间的联系.以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表.外键又称作外关键字.换而言之,如果关系模式R中的某属性集不是R的主键,而是另一个关系R1的主键则该属性集是关系模式R的外键,通常在数据库设计中缩写为FK. 外键的作用 保持数据一致性,完整性,主要目的是控制存储在外键表中的数据. 使两张表形成关联,外键只能引用外表中的列的值或使用空值

比如现在有两张表:(表a和表b) ,表a有两个字段(学校名称:xuexiao_name,学校大小:xuexiao_size) 表b有三个个字段(老师姓名:teacher_name 学校名称:xuexiao_name,老师年级:teacher_age) 那么我们现在看上面的两张表,第一个表示描述学校的,第二个表示描述老师的,那么可以看出它们之间关联起来的话,是通过学校名称:xuexiao_name关联起来的,并且学校名称主要是描述学校的,所以我们把学校名称:xuexiao_name这一字段在这里当做描述学校表a的主键,同时该字段又是描述老师表b的外键

它们都是关系数据库表设计的约束方式而已,为了保证数据库中不会出现脏数据的限制方法.主键是数据库表的唯一索引序列,可以由多个字段组成,但每条数据的这几个字段的组合必须唯一;主键约束仅涉及本表数据;外键是本表中该外键字段的取值要求是已经在目标表中存在的数据;假如说,表B有字段b_1是表A中字段a_1的外键,那么插入表B数据的时候,字段b_1的取值要求在表A的字段a_1的当前所有数据的值的范围内.外键是以外表数据约束本表数据的约束条件.此外,外键还有个要求,就是a_1必须是表A的主键.并且必须说得是,外键是一个很烦人的数据库约束.

你的意思是它是唯一键还是可以有多个外键?外键不一定是唯一键,但它指向的字段得是primary key ,一个表中也可以有多个字段是外键

主键(Primary key): 也称为主码或主关键字,用于惟一地确定一个元组的属性或属性组(复合主码).每个关系都有一个并且只有一个主码.外键(Foreign Key):也称为外码或外部关键字.如果一个属性集不是所在关系的关键字,但是是其他关系的关键字,则该属性集称为外部关键字.在关系数据库中可以通过外键使两个关系关联,这种联系通常是一对多(1:n)的,其中主(父)关系(1方)称为被参照关系,从(子)关系(n方)称为参照关系.

所谓外键:如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键.由此可见,外键表示了两个关系之间的联系.以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表. 至于主键:主关键字是被挑选出来,作表的行的惟一标识的候选关键字.一个表只有一个主关键字.主关键字又可以称为主键. 如上可知:若name是表B的主键,由于name还是表A的外键.由上面的定义可知表B是表A的主表,表A则是表B的从表,

如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键.由此可见,外键表示了两个关系之间的联系.以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表.外键又称作外关键字

1,主键是聚集索引 不适合常修改 记录也不易太大,用数字自增是最佳的 至于别的列要唯一,加唯一约束即可.2,程序里或sql语句做连接即可.

创建外键时可以指定级联删除选项,设置后主表数据被删除,从表数据也会被删除,反之则不然.参考:http://hi.baidu.com/zagelover/item/c0118adda8f92ef592a97475sql外键约束NO ACTION,CASCADE,SET NULL,SET DEFAULTNO ACTION

网站首页 | 网站地图
All rights reserved Powered by www.mtwm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com