一个表中,会存很多条记录,需要一个列来位置标识一条数据
1.主键:唯一标识一条数据; 值不能为空 不能重复
标识列:一旦将一个列设置成标识列,它就不能再手动输入值,是插入数据时自动生成的。这个列的类型必须的不带小数的数值型,整型
标识列的标识种子:
第一条数据记录标识列的值 100 增量 3
注意:标识列,若删除了数据再插入新数据,就会出现不连续的状态
2.创建主键: 联合主键 唯一标识
创建一个主键,同时自动创建了一个聚集索引
3.创建外键
外键:
一般在两个表产生关联的时候创建
一个列创建为外键,它在另一个表中必须是主键
两个表一旦建立外键关系,外键表里的对应的外键列的值必须是它对应的主键表里的主键值,否则你若想插入一个不存在的值是插入不进去的
一个表中可以有多个外键也可以没有。
但是一个表只能有一个主键,也可以没有,但是一般都会设置一个主键
比如:
我现在创建以下几个表
班级表:ClassInfo
年级表:GradeInfo
学生表:StudentInfo
用户表:UserInfo
在用户表中 右键列,为UserId设置主键并设置标识列
在年级表中,同理,为年级表设置主键和标识列 GradeId
在班级表中,将ClassId设置为主键,右键GradeId 选择“关系”设置外键
在表和列规范处点击,弹出以下界面:
说明:GradeId对于年级表是主键,对于班级表是联系年级表的外键 因此,对于GradeId来说,年级表GradeInfo是主键表,ClassInfo班级表是外键表,
验证了本表外键必须是另一个表的主键。
在学生表中,设置StuId是主键和标识列,标识种子为1001,增量为1
ClassId右键关系,设置外键;
ClassId 是班级表中的主键,他联系班级和学生表,因此对于学生表来说,他就是外键
我们可以看到,学生表的外键约束
最后,附上表的设计:
班级表:
年级表:
学生表:
用户表:
欢迎大家批评指正!!
记于2020-4-25
新冠疫情期间!