900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > SQL主键与外键的创建与解析

SQL主键与外键的创建与解析

时间:2018-09-14 02:04:08

相关推荐

SQL主键与外键的创建与解析

一个表中,会存很多条记录,需要一个列来位置标识一条数据

1.主键:唯一标识一条数据; 值不能为空 不能重复

标识列:一旦将一个列设置成标识列,它就不能再手动输入值,是插入数据时自动生成的。这个列的类型必须的不带小数的数值型,整型

标识列的标识种子:

第一条数据记录标识列的值 100 增量 3

注意:标识列,若删除了数据再插入新数据,就会出现不连续的状态

2.创建主键: 联合主键 唯一标识

创建一个主键,同时自动创建了一个聚集索引

3.创建外键

外键:

一般在两个表产生关联的时候创建

一个列创建为外键,它在另一个表中必须是主键

两个表一旦建立外键关系,外键表里的对应的外键列的值必须是它对应的主键表里的主键值,否则你若想插入一个不存在的值是插入不进去的

一个表中可以有多个外键也可以没有。

但是一个表只能有一个主键,也可以没有,但是一般都会设置一个主键

比如:

我现在创建以下几个表

班级表:ClassInfo

年级表:GradeInfo

学生表:StudentInfo

用户表:UserInfo

在用户表中 右键列,为UserId设置主键并设置标识列

在年级表中,同理,为年级表设置主键和标识列 GradeId

在班级表中,将ClassId设置为主键,右键GradeId 选择“关系”设置外键

在表和列规范处点击,弹出以下界面:

说明:GradeId对于年级表是主键,对于班级表是联系年级表的外键 因此,对于GradeId来说,年级表GradeInfo是主键表,ClassInfo班级表是外键表,

验证了本表外键必须是另一个表的主键。

在学生表中,设置StuId是主键和标识列,标识种子为1001,增量为1

ClassId右键关系,设置外键;

ClassId 是班级表中的主键,他联系班级和学生表,因此对于学生表来说,他就是外键

我们可以看到,学生表的外键约束

最后,附上表的设计:

班级表:

年级表:

学生表:

用户表:

欢迎大家批评指正!!

记于-4-25

新冠疫情期间!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。