实验3:Mysql—完整性语言

完整性语言实验包含3个实验项目,其中2个必修项目,1个选修项目。该实验的各个实验项目均为验证型实验项目。

实验3.1 实体完整性实验

1.实验目的
掌握实体完整性的定义和维护方法。
2.实验内容和要求
定义实体完整性,删除实体完整性。能够写出两种方式定义实体完整性的SQL语句:创建表时定义实体完整性、创建表后定义实体完整性。设计SQL语句验证完整性约束是否起作用。
3.实验重点和难点
实验重点:创建表时定义实体完整性。
实验难点:有多个候选码时实体完整性的定义。
4.实验过程

创建表时定义实体完整性(列级实体完整性),以创建department,dept_name为主码,定义department的实体完整性,蓝色那行定义了dept_name同时声明其为主码。

在这里插入图片描述

创建表时定义实体完整性(表级实体完整性),同样以创建department1,dept_name为主码,定义department的实体完整性,蓝色那行在表级层次上给出了实体完整性。

在这里插入图片描述

创建表后定义实体完整性,以department2为例,先创建department2,不声明主码,之后在蓝色那两行在创建表后定义了department2中的dept_name属性为主码。

在这里插入图片描述

定义实体完整性(主码由多个属性组成),以创建classroom表为例

在这里插入图片描述

有多个候选码时定义实体完整性,以创建instructor表为例,其中name,salary,dept_name和ID均为候选码,选择ID作为主码,name限制为非空,salary检查工资是否超过29000,dept_name外键引用department的主码。

在这里插入图片描述

删除实体完整性,删除instructor的主码

在这里插入图片描述

增加两条主码相同的记录,验证实体完整性是否起作用,以department为例,插入两条主码相同的记录可以看到会违反实体完整性约束。

在这里插入图片描述

实验3.3 用户自定义完整性实验

1.实验目的
掌握用户自定义完整性的定义和维护方法。
2.实验内容和要求
针对具体应用语义,选择NULL/NOT NULL、DEFAULT,UNIQUE、CHECK等,定义属性上的约束条件。
3.实验重点和难点
实验重点:NULL/NOT NULL, DEFAULT。
实验难点:CHECK。
4.实验过程
(1) 定义属性NULL/NOT NULL约束

定义stu表上的ID和name的NOT NULL属性,如图,当插入null的时候就无法通过

在这里插入图片描述
(2 )定义属性DEFAULT约束

定义stu1表中的tot_cred学分缺省属性值为0,表示学生初始学分为0

在这里插入图片描述
(3)定义属性UNIQUE约束

定义nation表中name属性必须唯一的完整性约束,表示国家名字不能一样

在这里插入图片描述
(4)使用CHECK

使用CHECK定义stu3表中score应该满足的约束。

在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值