![](https://csdnimg.cn/release/download_crawler_static/86976761/bg3.jpg)
(1)主键约束通过不允许一个或多个列输入重复的值来保证一个表中所有行的惟一
性,使所有浪都是可以区分的。
(2)一个表张只能有一个主键,且组成主键的列的数据都不能取空值。
(3)当定义主键约束时,SQL server 在主键列上建立惟一性索引,这个索引在煮件被
查询时可以加快查询的速度。
在 teacher 表中,以教师编号 tno 为主键,对其进行惟一性约束。
在 Course 表中,以课程号为主键,对其进行惟一性约束。
1、Student 表:
score 表结构:
Course 表:以课程号为主键,通过这个主键来对这个表进行唯一性约束。
Teacher 表结构:
六、其他对象的说明:
(1)、外键约束(primary key):外键也是由表中的一个列或多个列组成的,它是和在相
关表中事先定义的具有惟一性的列一起使用的,该列一个是所在表的主键。外键约束用来
建立和强制两个表之间的关联,即一个表的一个列或列组合与另一个表 的具有惟一性的列
或列组合相关,这个列或列组合就成为第一个表中的外键外键约束限制将破坏这种关联的
操作。作为外键的列的值可以是空值,或是它所引用的表中已经存在的值。
在 score 表中,其学号 sno 和课程号 cno 都是此表的外键约束,因为此表中学号 sno 要
受学生信息表中的学号的约束,student 表中没有的学号,score 表中也应该没有,如果向
score 表添加数据时违反的此规则,则添加不成功。课程号 cno 也同样,受到 course 表中课
程号 cno 的约束.。
(2)、空值(null):空值意味着数据尚未如,它与 0 或长度为零的字符串(“”)的含义不
同。如果表中的某一列必须有值才能使记录有意义,那么可以指明该列不允许取空值。
在教师信息表 teacher 中其出生日期列 tbirth 和职称 prof 允许为空,但并不表示该教师
没有生日,没有职称,而是目前还不知道而已。在学生信息表 student 中其出生日期 sbirth
也可为空,也是同样的道理。