SQL第五讲--即将第七周

 

一、数据库的分离和附加

 

二、 用户自定义类型

 

三、完整性约束

 

 

       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自己的表

 

 

 

实验三、

实验四、

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值