数据库原理及应用
实验指导书
湖南工程学院计算机科学与通信学院
2011年9月
实验一
一、 实验目的:
掌握建立一个数据库表结构的方法和步骤 ,了解数据库表的基本组成。
二、 实验内容:
基本表的创建和修改。
三、 实验要求:(必做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。 学时:2学时
四、 实验步骤:
1、用create 建立教学数据库的五个基本表:
(1)学生表(学号,姓名,性别,年龄),student((Sno, sname , ssex ,sage) ; (2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ; (3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ; (4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址),
T(Tno,Tname ,ssex ,birthday ,dept ,title ,address) ; (5) 工资表(教师号,基本工资,职务工资,合计),
Salary(Tno,jbgz ,zwgz ,hj) ; 2、用alter 修改基本表
(1)在已存在的学生表student 中增加一个sdept (系)的新的属性列;
(2)将学生表student 中sname 属性列的数据类型修改为变长字符串varchar(10)。 3、建立一个临时表,然后将其删除
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师 姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
六、实验收获及体会
实验二
一、实验目的:
了解建立索引的目的,掌握建立索引与删除索引, 掌握创建、修改、删除约束。
二、实验内容:
建立聚簇索引、非聚簇索引、唯一索引、复合索引,删除索引,创建、修改、删除约束力。
三、实验要求:(必做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。 学时:2学时
四、实验步骤:
1、用create index在学生表student 的学号sno 上建立聚簇索引。 2、在学生表student 中,为姓名sname 建立非聚簇索引。 3、在课程表的课程号Cno 上建立唯一索引。
4、在选课表的学号sno 、成绩Grade 上建立复合索引,要求学号为升序,学号相同时成绩为 降序。
5、用drop 删除学生表student 的索引。 6、增加学生表student 中姓名唯一约束。
7、增加学生表student 中性别‘男’、‘女’唯一约束。 8、增加学生表student 中年龄18~25岁约束。 9、增加选课表SC 中学号sno 的外码约束。
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师 姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
/*create table student(sno char(9),sname char(20),ssex char(2),sage smallint);*/
/*create clustered index stusno on student(sno); create unique index stusname on student(sname); create table course(cno char(4),cname char(40)); create table sc(sno char(9),cno char(4),grade smallint); create unique index coucno on course(cno); create index scno on sc(sno asc,grade desc);
drop index student.stusno,student.stusname; alter table student add unique(sname); alter table student add unique(ssex)
三、实验结果
四、程序调试及问题分析
六、实验收获及体会
实验三
一、实验目的:
掌握向数据表中输入、更新和删除记录的基本方法。
二、实验内容:
数据记录的插入、更新和删除 。
三、实验要求:(必做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。 学时:2学时
四、实验步骤:
1、用insert 输入数据。 学生表student 的数据
课程表course 的数据
选课表SC 的数据 基本表T 的数据
基本表Salary 的数据
2、用delete 删除数据记录
(1)删除教师表T 中教师号为0001的元组。 (2)删除教师表T 中的全部数据。 3、用 update 更新数据记录
(1) 把0001号教师的基本工资加100。 (2) 把所有教师的基本工资都加100。
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师 姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
/*insert into student (sno,sname,ssex,sdept,sage)
values ('99120l','张三',' 男',' 计算机系',22);
insert into student (sno,sname,ssex,sdept,sage)
values ('991202','李四',' 男',' 信息系',22);
insert into student (sno,sname,ssex,sdept,sage)
values ('991203','王五',' 男',' 数学系',23);
insert into student (sno,sname,ssex,sdept,sage)
values ('991204','程六',' 男',' 计算机系',19);
insert into student (sno,sname,ssex,sdept,sage)
values ('991205','吴七',' 女',' 数学系',24);
insert into student (sno,sname,ssex,sdept,sage)
values ('991206','刘八',' 女',' 信息系',22);*/
delete from student where sno='991201';
update student set sage=sage+20 where sno='991202';
delete from student;
六、实验收获及体会
实验四
一、实验目的:
掌握数据表的简单查询和多表连接方法。
二、实验内容:
数据库文件的简单和多表连接查询。
三、实验要求:(必做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。 学时:4学时
四、实验步骤:
1、简单查询,用select 检索
(1)查询所有学生的基本情况。
(2)查询教师每月应交纳的个人所得税。
(3)查询张三与李四两位同学的基本情况。
(4)查询9911班学生的基本信息(规定学生学号的前四位是班级号)。
(5)查询所有年龄在20岁以下的学生姓名及其年龄。
(6)查询选修了2门以上课程的学生学号。
2、多表查询,用select 检索
(1)查询教师的收入情况,包括教师号、姓名及月总收入。
(2)查询每个学生的学号、姓名、选修课程及成绩。
(3)查询每一门课的间接先修课。
(4)查询有相同地址的两位教师的信息。
(5)查询选修2号课程且成绩在90分以上的所有学生。
(6)查询与王五在同一个系学习的学生。
数据库原理实验报告
实验名称 评分
实验日期 年 月 日 指导教师 姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
六、实验收获及体会
实验五
一、实验目的:
掌握创建视图、查询视图、更新视图的方法。
二、实验内容:
使用creat view创建视图、用alter view修改视图、用insert 、update 、delete 编辑视图; 使用SQL SERVER enterprise manager创建视图、查询视图、更新视图。
三、实验要求:(必做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。 学时:2学时
四、实验步骤:
1、建立男学生的视图,属性包括学号、姓名、选修课程名和成绩。
2、在男学生视图中查询平均成绩大于80分的学生学号与姓名。
3、建立信息系选修了1号课程的学生的视图。
4、建立信息系选修了1号课程且成绩在90分以上的学生的视图。
5、建立计算机系选修了2号课程的学生的视图。
6、建立一个学生出生年份的视图。
7、建立一个计算机系学生的视图,并要求在进行修改、插入操作时,仍然要确保视图 只有计算机系的学生。
8、向学生视图中插入一条新记录(951101,钱进,男,20)
9、将学生视图中学号为991101的学生姓名改为“刘平平”。
10、删除计算机系视图中学号为991201的记录。
11、删除学生出生年份的视图。
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师
姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
六、实验收获及体会
实验六
一、实验目的:
掌握count ()、avg ()、 max ()、 min ()、 sum ()等集函数的应用, 掌握语句权限、对象权限的授权与回收权限。
二、实验内容:
集函数的应用,用grant 对语句权限、对象权限进行授权控制,用revoke 对语句权限、 对象权限进行回收权限控制。
三、实验要求:(必做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统。
学时:2学时
四、实验步骤:
1、使用select 语句查询
(1)9911班学生的人数和平均成绩
(2)每个学生的学号和相应的平均成绩
(3)成绩大于90分的学生学号
(4)月工资大于平均工资的教师号
2、使用GRANT 语句,把对基本表STUNT 、SC 、COURSE 的使用权限授给其它用户。
3、使用GRANT 语句,让用户LI 有权在当前库中创建视图。
4、使用REVOKE 语句,不允许ZHAO 这个用户在当前库中创建视图。
5、实验完成后,撤消建立的基本表和视图。
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师 姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
六、实验收获及体会
实验七
一、实验目的:
掌握创建存储过程、修改存储过程、执行存储过程,带参数存储过程的创建与执行,删除 存储过程。
二、实验内容:
使用creat procedure创建存储过程、用alter procedure 修改存储过程、用execute 执行存储过程,用drop procedure删除存储过程。
三、实验要求:(选做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。
学时:2学时
四、实验步骤:
1、建立查询计算机系女学生的存储过程。
2、执行刚建立存储过程。
3、修改刚建立的存储过程。
4、建立一个按性别查询学生信息的带参数的存储过程。
5、删除刚建立的存储过程。
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师 姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
六、实验收获及体会
实验八
一、实验目的:
掌握三种类型的触发器的创建、修改触发器、删除触发器的方法。
二、实验内容:
使用creat trigger创建insert 、 update 、delete 三种类型的触发器,用drop trigger删除 触发器,用系统存储过程查看触发器。
三、实验要求:(选做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。
学时:2学时
四、实验步骤:
1、对student 表创建delete 触发器,当删除某个学生记录时,同时在选课表SC 中删除该学生的选课记录。
2、对student 表创建update 触发器,当对student 表进行修改时,显示被修改的记录。
3、对SC 表创建insert 触发器,当对SC 表插入一条记录时,检查SC 表中的学号在 student 表中是否存在,如果不存在,则不允许插入新记录。
4、用alter trigger修改以上编写的触发器。
5、用drop trigger删除以上编写的触发器。
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师
姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
六、实验收获及体会
数据库原理及应用
实验指导书
湖南工程学院计算机科学与通信学院
2011年9月
实验一
一、 实验目的:
掌握建立一个数据库表结构的方法和步骤 ,了解数据库表的基本组成。
二、 实验内容:
基本表的创建和修改。
三、 实验要求:(必做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。 学时:2学时
四、 实验步骤:
1、用create 建立教学数据库的五个基本表:
(1)学生表(学号,姓名,性别,年龄),student((Sno, sname , ssex ,sage) ; (2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ; (3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ; (4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址),
T(Tno,Tname ,ssex ,birthday ,dept ,title ,address) ; (5) 工资表(教师号,基本工资,职务工资,合计),
Salary(Tno,jbgz ,zwgz ,hj) ; 2、用alter 修改基本表
(1)在已存在的学生表student 中增加一个sdept (系)的新的属性列;
(2)将学生表student 中sname 属性列的数据类型修改为变长字符串varchar(10)。 3、建立一个临时表,然后将其删除
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师 姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
六、实验收获及体会
实验二
一、实验目的:
了解建立索引的目的,掌握建立索引与删除索引, 掌握创建、修改、删除约束。
二、实验内容:
建立聚簇索引、非聚簇索引、唯一索引、复合索引,删除索引,创建、修改、删除约束力。
三、实验要求:(必做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。 学时:2学时
四、实验步骤:
1、用create index在学生表student 的学号sno 上建立聚簇索引。 2、在学生表student 中,为姓名sname 建立非聚簇索引。 3、在课程表的课程号Cno 上建立唯一索引。
4、在选课表的学号sno 、成绩Grade 上建立复合索引,要求学号为升序,学号相同时成绩为 降序。
5、用drop 删除学生表student 的索引。 6、增加学生表student 中姓名唯一约束。
7、增加学生表student 中性别‘男’、‘女’唯一约束。 8、增加学生表student 中年龄18~25岁约束。 9、增加选课表SC 中学号sno 的外码约束。
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师 姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
/*create table student(sno char(9),sname char(20),ssex char(2),sage smallint);*/
/*create clustered index stusno on student(sno); create unique index stusname on student(sname); create table course(cno char(4),cname char(40)); create table sc(sno char(9),cno char(4),grade smallint); create unique index coucno on course(cno); create index scno on sc(sno asc,grade desc);
drop index student.stusno,student.stusname; alter table student add unique(sname); alter table student add unique(ssex)
三、实验结果
四、程序调试及问题分析
六、实验收获及体会
实验三
一、实验目的:
掌握向数据表中输入、更新和删除记录的基本方法。
二、实验内容:
数据记录的插入、更新和删除 。
三、实验要求:(必做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。 学时:2学时
四、实验步骤:
1、用insert 输入数据。 学生表student 的数据
课程表course 的数据
选课表SC 的数据 基本表T 的数据
基本表Salary 的数据
2、用delete 删除数据记录
(1)删除教师表T 中教师号为0001的元组。 (2)删除教师表T 中的全部数据。 3、用 update 更新数据记录
(1) 把0001号教师的基本工资加100。 (2) 把所有教师的基本工资都加100。
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师 姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
/*insert into student (sno,sname,ssex,sdept,sage)
values ('99120l','张三',' 男',' 计算机系',22);
insert into student (sno,sname,ssex,sdept,sage)
values ('991202','李四',' 男',' 信息系',22);
insert into student (sno,sname,ssex,sdept,sage)
values ('991203','王五',' 男',' 数学系',23);
insert into student (sno,sname,ssex,sdept,sage)
values ('991204','程六',' 男',' 计算机系',19);
insert into student (sno,sname,ssex,sdept,sage)
values ('991205','吴七',' 女',' 数学系',24);
insert into student (sno,sname,ssex,sdept,sage)
values ('991206','刘八',' 女',' 信息系',22);*/
delete from student where sno='991201';
update student set sage=sage+20 where sno='991202';
delete from student;
六、实验收获及体会
实验四
一、实验目的:
掌握数据表的简单查询和多表连接方法。
二、实验内容:
数据库文件的简单和多表连接查询。
三、实验要求:(必做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。 学时:4学时
四、实验步骤:
1、简单查询,用select 检索
(1)查询所有学生的基本情况。
(2)查询教师每月应交纳的个人所得税。
(3)查询张三与李四两位同学的基本情况。
(4)查询9911班学生的基本信息(规定学生学号的前四位是班级号)。
(5)查询所有年龄在20岁以下的学生姓名及其年龄。
(6)查询选修了2门以上课程的学生学号。
2、多表查询,用select 检索
(1)查询教师的收入情况,包括教师号、姓名及月总收入。
(2)查询每个学生的学号、姓名、选修课程及成绩。
(3)查询每一门课的间接先修课。
(4)查询有相同地址的两位教师的信息。
(5)查询选修2号课程且成绩在90分以上的所有学生。
(6)查询与王五在同一个系学习的学生。
数据库原理实验报告
实验名称 评分
实验日期 年 月 日 指导教师 姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
六、实验收获及体会
实验五
一、实验目的:
掌握创建视图、查询视图、更新视图的方法。
二、实验内容:
使用creat view创建视图、用alter view修改视图、用insert 、update 、delete 编辑视图; 使用SQL SERVER enterprise manager创建视图、查询视图、更新视图。
三、实验要求:(必做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。 学时:2学时
四、实验步骤:
1、建立男学生的视图,属性包括学号、姓名、选修课程名和成绩。
2、在男学生视图中查询平均成绩大于80分的学生学号与姓名。
3、建立信息系选修了1号课程的学生的视图。
4、建立信息系选修了1号课程且成绩在90分以上的学生的视图。
5、建立计算机系选修了2号课程的学生的视图。
6、建立一个学生出生年份的视图。
7、建立一个计算机系学生的视图,并要求在进行修改、插入操作时,仍然要确保视图 只有计算机系的学生。
8、向学生视图中插入一条新记录(951101,钱进,男,20)
9、将学生视图中学号为991101的学生姓名改为“刘平平”。
10、删除计算机系视图中学号为991201的记录。
11、删除学生出生年份的视图。
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师
姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
六、实验收获及体会
实验六
一、实验目的:
掌握count ()、avg ()、 max ()、 min ()、 sum ()等集函数的应用, 掌握语句权限、对象权限的授权与回收权限。
二、实验内容:
集函数的应用,用grant 对语句权限、对象权限进行授权控制,用revoke 对语句权限、 对象权限进行回收权限控制。
三、实验要求:(必做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统。
学时:2学时
四、实验步骤:
1、使用select 语句查询
(1)9911班学生的人数和平均成绩
(2)每个学生的学号和相应的平均成绩
(3)成绩大于90分的学生学号
(4)月工资大于平均工资的教师号
2、使用GRANT 语句,把对基本表STUNT 、SC 、COURSE 的使用权限授给其它用户。
3、使用GRANT 语句,让用户LI 有权在当前库中创建视图。
4、使用REVOKE 语句,不允许ZHAO 这个用户在当前库中创建视图。
5、实验完成后,撤消建立的基本表和视图。
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师 姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
六、实验收获及体会
实验七
一、实验目的:
掌握创建存储过程、修改存储过程、执行存储过程,带参数存储过程的创建与执行,删除 存储过程。
二、实验内容:
使用creat procedure创建存储过程、用alter procedure 修改存储过程、用execute 执行存储过程,用drop procedure删除存储过程。
三、实验要求:(选做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。
学时:2学时
四、实验步骤:
1、建立查询计算机系女学生的存储过程。
2、执行刚建立存储过程。
3、修改刚建立的存储过程。
4、建立一个按性别查询学生信息的带参数的存储过程。
5、删除刚建立的存储过程。
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师 姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
六、实验收获及体会
实验八
一、实验目的:
掌握三种类型的触发器的创建、修改触发器、删除触发器的方法。
二、实验内容:
使用creat trigger创建insert 、 update 、delete 三种类型的触发器,用drop trigger删除 触发器,用系统存储过程查看触发器。
三、实验要求:(选做)
硬件:Intel Pentium 120或以上级别的CPU ,大于16MB 的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。
学时:2学时
四、实验步骤:
1、对student 表创建delete 触发器,当删除某个学生记录时,同时在选课表SC 中删除该学生的选课记录。
2、对student 表创建update 触发器,当对student 表进行修改时,显示被修改的记录。
3、对SC 表创建insert 触发器,当对SC 表插入一条记录时,检查SC 表中的学号在 student 表中是否存在,如果不存在,则不允许插入新记录。
4、用alter trigger修改以上编写的触发器。
5、用drop trigger删除以上编写的触发器。
数据库原理实验报告
实验名称 评分 实验日期 年 月 日 指导教师
姓名 专业班级 学号
一、实验目的
二、实验内容与步骤
三、实验结果
四、程序调试及问题分析
六、实验收获及体会