码迷,mamicode.com
首页 > 其他好文 > 详细

主键外键

时间:2014-11-22 11:55:24      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   sp   数据   on   2014   log   

主键 外键 唯一键 CHECK约束

主键:是唯一的,不可重复的,它能提高查询效率,但是会减慢新增数据效率

外键:主键是本张表的主键,是唯一且非空的,而外键是另一张表中与这张表的某个字段的类型,字段名相同的字段,一般是用作关联两张或两张以上的数据表时用的。

外间的取值规则:空值或参照的主键值。

(1)插入非空值时,如果主键表中没有这个值,则不能插入。

(2)更新时,不能改为主键表中没有的值。

3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
4)更新主键记录时,同样有级联更新和拒绝执行的选择。

主键和外键的关系:

外键表中的一列来自于主键表,受其限制

主键表中只出现一次,在外键表中出现多次

范式理论:

第一范式:数据库表里的每一列都要是单一数据内容,要统一

第二范式:数据库表里的每一列都尽量和主键直接相关

唯一键:一个字段或者多个字段组成的数据必须是唯一的,它和主键的区别,主键不允许为空,但是唯一键允许为空值。

CHECK约束:

CHECK 约束用于限制列中的值的范围。

如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。

添加主键的方法:

1)、用SQL语句

如:将学号(整数型)这一列添加为主键,并且初始值为1,并自增。

学号 int  primary  key  identity ( 1 , 1 )

2)、用介面操作

在要添加主键的表上右键点击选择“设计”,在要添加主键的列名上右键点击“设置主键”,在下面“标识规范”里将是标识后的选项改为是,可以修改初始值和增加量。

如:将分数表里的编号一列设置为主键,并设置自增。

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

添加外键的方法:

1)、用SQL语句

如:将学号(整数型)这一列添加为学生表学号这一列的外键。

学号 int  references  学生(学号)

2)、用介面操作

在要添加外键的表上右键点击选择“设计”,在要添加外键的列名上右键点击“关系”,在打开的对话框里面点“表和列的规范”后的下拉列表,在出来的表和列的对话框里选择正确的主键和外键,确定后保存即可。

如:将分数表里的学号一列设置为学生表学号这一列的外键。

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

添加唯一键的方法:

1)、用SQL语句

如:将学号(整数型)这一列添加为唯一键。

学号 int  unique

2)、用介面操作

在要添加唯一键的表上右键点击选择“设计”,在要添加唯一键的列名上右键点击“索引/键”,在打开的对话框里面点“列”后的下拉列表,在出来的索引列的对话框里选择要添加的唯一键,后面可以选择排序,确定后保存即可。

如:将分数表里的编号一列设置为唯一键。

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣bubuko.com,布布扣

主键外键

标签:style   blog   http   ar   sp   数据   on   2014   log   

原文地址:http://www.cnblogs.com/XMH1217423419/p/4114869.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!