一、数据库的分离和附加
二、 用户自定义类型
三、完整性约束
1、实体完整性,主表中的主码为空,在这个表上插入数据,不插入主码列,最后错误,因为主码列是不能为空的。这就是实体完整性。
2、参照完整性,主表userID:1、2、3。外表插入userID:3、4。(错误,不能插入)在主表删除userID=3的行(错误,除非设置级联删除)
3、约束完整性,grade>1 00&grade<1000, 能插入10000吗?--用户自定义约束。
四、unique约束 要加约束名称吗?
五、alter你前几次作业中的表,
alter 数据类型、列名……
六、sql查询语句,
实验三、实验四。(最好用自己的数据库)
嵌套查询、order by 、老师说越复杂越好,多嵌套select
七、明天主要讲T-SQL编程
参考:
一、
二、
三、
下面是完整性的验证:
1: 实体完整性
新建表file,主键为fileid。
插入数据的时候不插入fileid。
出现错误,因为主键不能为空。
(实体完整性验证完毕)(实体完整性实体完整性要求每一个表中的主键字段都不能为空或者重复的值。)
2:参照完整性
student 主表 主键是id
score 外表 主键是id
主外键的关系FK_score_student
现在我向score表中插入数据
(3,90)
插入(5,90)出现错误
原因就是主表中没有学生5。
现在删除student表中的3号,也出现错误。
原因就是外表中有引用到学生3,先删除score表中的3号才可以删除student表中的3号。
上面这两个错误就是不满足参照约束性。
代码如下:
3:约束完整性
新建数据类型chengji
新建表score
约束成绩在0到100之间,有两位小数,有效位数是5位。
插入数据90,正确。
插入数据101错误。
这个错误就是不满足约束完整性。
代码:
四、
上面代码的最后的两行是错误的。
综上所述:create table 时可以直接上unique,不写名字。
其他时候,只要有constraint就必须有名字。
五、
alter自己的表
实验三、
实验四、