没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
数据库原理及应用 实验指导书与教学补充材料
第一部分 实验指导书
实验二 SQL 的数据定义(表和索引)
一、实验目的
1. 会使用界面工具和命令两种方法定义、修改、撤消基本表。
2. 会使用界面工具和命令两种方法定义、撤消基本表的索引。
3. 进一步学会使用界面工具插入、修改、删除数据。
二、实验准备及任务
1.复习 SQL 语言中数据定义的相关命令。
2.根据实验样例数据库的要求预先写好相应的命令(完整性约束可不定
义,留待实验三完成)。
(1)使用命令完成附录中实验样例数据库四张表的数据定义:学生表
Student、课程表 Course、班级表 Class、成绩表 Cj。四张表结构详见附录
一。
//创建student 表
create table student
(
sno char(7) primary key not null,
sname char(10) not null,
ssex char(2) not null,
sage smallint,
clno char(5) not null
)
//创建course表
安徽工程大学 计算机与信息学院
1
数据库原理及应用 实验指导书与教学补充材料
create table course
(
cno char(1) not null,
cname char(20) not null,
credit smallint
)
//创建class表
create table class
(
clno char(5) primary key not null,
speciality char(20) not null,
inyear datetime not null,
number smallint,
monitor char(7)
)
//创建cj表
create table cj
(
sno char(7) not null,
cno char(1) not null,
grade decimal(4,1)
)
(2)使用界面工具,在实验样例数据库中的 Student 表中添加一个新字
段:Birthday,其数据类型为日期型;使用命令为 Student 表再添加另一个
新字段:Class,其数据类型为字符型,宽度为 5,并检查结果。
//创建birthday属性
alter table student add birthday date
//创建class属性
安徽工程大学 计算机与信息学院
2
数据库原理及应用 实验指导书与教学补充材料
alter table student add class char(5)
(3)使用界面工具和命令,将实验样例数据库中的 Student 表中 Class
字段宽度改为 10。最后,在该表中删除 Class 和 Birthday 两个字段,并检
查结果。
(4) 先将实验样例数据库另外在磁盘上做一个备份,然后使用界面工
具,将撤消基本表 Student 表的定义,使用命令撤消基本表 Class 的定义。
(5)使用数据库附加功能,重新使用先前备份的实验样例数据库,然
后使用界面工具进行插入、修改、删除数据的操作,将实验样例数据库中
的四张表分别填满数据,为后面实验做准备,数据详见附录二。
(6)使用界面工具,为实验样例数据库中的 Student 表按学号升序建唯
一索引。
(7)使用命令,为 Course 表按课程号升序建唯一索引,为 CJ 表按学
号升序和课程号降序建唯一索引,为 CJ 表按成绩降序建聚簇索引。
//为Course表按课程号升序建唯一索引
select *
from course
order by cno asc
//为CJ表按学号升序和课程号降序建唯一索引
select *
from cj
order by sno,cno desc
//为CJ表按成绩降序建聚簇索引。
select *
from cj
order by grade desc
安徽工程大学 计算机与信息学院
3
数据库原理及应用 实验指导书与教学补充材料
(8)使用命令,删除建立的相关索引。
drop index [PK_cj]
实验三 SQL 的完整性约束定义
/*约束男女*/
ALTER TABLE [dbo].[student] with check add constraint [K_student] CHECK
(([ssex]='男' OR [ssex]='女'))
/*默认为男*/
/*ALTER TABLE [dbo].[student] with check add constraint [mr_ssex] DEFAULT ('男')
FOR [ssex]*/
/*约束年龄*/
ALTER TABLE [dbo].[student] with check add constraint [student_age] check
(([sage]>14 and [sage]<65))
/*外部码*/
alter table student with check add constraint [student_clno_w] foreign key([clno])
references class([clno])
/*number 的数量限制*/
alter table class with check add constraint [Number_class] check([number]>0 and
([number]<60))
/*外部码*/
alter table student with check add constraint [student_clno_wm] foreign key([clno])
references class([clno])
/*credit 的数量限制*/
ALTER TABLE course WITH CHECK ADD CONSTRAINT [CK_course] CHECK ((
[credit]=(4) OR [credit]=(3) OR [credit]=(2) OR [credit]=(1)))
/*主属性、外部码、级联(主码)*/
安徽工程大学 计算机与信息学院
4
数据库原理及应用 实验指导书与教学补充材料
ALTER TABLE [dbo].[cj] ADD CONSTRAINT [PK_cj] PRIMARY KEY CLUSTERED
(
[sno] ASC,
[cno] ASC
)
/*成绩大于 0 小于 100*/
alter table cj with check add constraint [grade_cj] check([grade]>0 and
([grade]<100))
一、实验目的
1.掌握关系数据库的三类完整性约束定义,并领会其作用。
2.会使用界面工具定义实体完整性、参照完整性和用户自定义完整性。
3.掌握使用命令定义实体完整性、参照完整性和用户自定义完整性。
二、实验准备及任务
1.复习教材第五章完整性约束定义的相关内容。
2.根据下面要求完成实验样例数据库中提到的完整性约束定义。
(1)使用 create table 命令定义学生表 Student,同时定义该表的
主码(实体完整性)、性别取值为男或女、年龄取值为大于 14,小于
65 (用 户 自 定 义 完 整 性 。 ) ; 使 用 create table 命 令 定 义 课 程 表
Course,同时定义该表的相关完整性约束,约束详见附录一。
//约束男女
ALTER TABLE [dbo].[student] with check add constraint [CK_student] CHECK
(([ssex]='男' OR [ssex]='女'))
//默认为男
ALTER TABLE [dbo].[student] with check add constraint [mr_ssex] DEFAULT ('男')
安徽工程大学 计算机与信息学院
5
剩余35页未读,继续阅读
资源评论
_之桐_
- 粉丝: 2w+
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功