没有合适的资源?快使用搜索试试~ 我知道了~
实验报告-实验31
需积分: 0 0 下载量 85 浏览量
2022-08-03
19:04:19
上传
评论
收藏 1.53MB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/86302171/0001-59024e6e4e8df4e21558512eb6666b20_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
14页
2. CREATE TABLE Student( 8. ) 2. CREATE TABLE Course( 8. ) 7. ) 1. ALTER TABLE S
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86302171/bg1.jpg)
教务处制
第1页,共14页
苏 州 大 学 实 验 报 告
院、系
计科院
年级专业
软件工程
姓名
高歌
学号
2030416018
课程名称
数据库课程实践
同组实验者
/
指导教师
瞿剑锋
实验日期
2022-03-09
成绩
实 验 名 称
SQL 语言(试验三-试验四)创建数据完整性、数据完整性试验
试验三 创建数据完整性
目的:1 掌握创建数据完整性约束的命令。
2 掌握完整性约束的修改、删除。
要求:1 能建立完整性约束 2 修改完整性约束 3 删除完整性约束
一、写出带有完整性约束的 Create Table 命令建立表 Student、Course、SC 。要求:
1 Student 表的主码:Sno
Student 的约束:
⚫ 姓名不可为空,且唯一
⚫ 性别 不能为空且取值范围为{男,女}
⚫ 年龄大于 16 岁
⚫ Sdept 默认为 ‘JSJ’ 系
1. USE school
2. CREATE TABLE Student(
3. Sno char(6) PRIMARY KEY,
4. Sname varchar(8) NOT NULL UNIQUE,
5. Ssex char(2) NOT NULL CHECK (Ssex = '男' or Ssex = '女'),
6. Sage smallint CHECK (Sage > 16),
7. Sdept varchar(15) DEFAULT 'JSJ'
8. )
*注:个人认为这里对姓名的唯一性约束有些怪异,据我所知全校名字和我相同的就不下三个,这一约
束听上去有些匪夷所思。
2 Course 表的主码:Cno
Course 的约束:
⚫ Ccredit 取值范围{0, 1, 2, 3, 4, 5}
⚫ 课程表的每一行的 Cno 与 Cpno 不可相同
1. USE school
2. CREATE TABLE Course(
3. Cno char(4) PRIMARY KEY,
4. Cname varchar(20),
5. Cpno char(4),
6. Ccredit tinyint CHECK (Ccredit >= 0 AND Ccredit <= 5),
7. CONSTRAINT Cpno CHECK (Cpno <> Cno)
8. )
![](https://csdnimg.cn/release/download_crawler_static/86302171/bg2.jpg)
教务处制
第2页,共14页
3 SC 表的主码:Sno,Cno。主码名为 PK_SC
SC 的外码:
⚫ 外码:SC 表的 Sno 参照表 Student 的 Sno
⚫ 外码:SC 表的 Cno 参照表 Course 的 Cno
1. USE school
2. CREATE TABLE SC(
3. Sno char(6) REFERENCES Student(Sno),
4. Cno char(4) REFERENCES Course(Cno),
5. Grade decimal(12, 1),
6. CONSTRAINT PK_SC PRIMARY KEY (Sno, Cno)
7. )
4 把上述创建表的 SQL 语句的脚本存储到文件 createSchool.sql 。
二、使用 SP_HELP 查看表 Student 的主码名,约束名,并记录。
使用 SP_HELP 查看表 SC 的主码名,外码名,并记录。
1. SP_HELP SC
三、利用 alter table 添加、删除完整性约束
1 删除 SC 的主码,SC 表的主码名为 PK_SC
1. ALTER TABLE SC DROP PK_SC
复习在 SQL-Server 企业管理器中如何完成。
![](https://csdnimg.cn/release/download_crawler_static/86302171/bg3.jpg)
教务处制
第3页,共14页
2 删除 SC 表参照 course 表的外码。
如何知道 SC 表参照 course 表的外码的名字。
参照上面 SP_HELP 操作中得到的 Cno 外码名“FK__SC__Cno__7A672E12”
1. ALTER TABLE SC DROP FK__SC__Cno__7A672E12
3 添加 SC 表的主码。主码名为 PK_SC
1. ALTER TABLE SC ADD CONSTRAINT PK_SC PRIMARY KEY (Sno, Cno)
4 添加 SC 表的 Cno 的外码 ,参照表 Course 的 Cno.
1. ALTER TABLE SC ADD FOREIGN KEY (Cno) REFERENCES Course(Cno)
5 加自定义约束:表 SC 的成绩只能在 0 – 100 分之间。
1. ALTER TABLE SC ADD CHECK (Grade >= 0 AND Grade <= 100)
四、使用 Sql-Server 企业管理器完成:
1 删除 SC 表参照 course 表的外码。
剩余13页未读,继续阅读
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![avatar](https://profile-avatar.csdnimg.cn/0302d7b8e1f84360b728a215c4ba7536_weixin_35811662.jpg!1)
XU美伢
- 粉丝: 23
- 资源: 341
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0