《数据库原理及应用》实验报告(1-21)-空 下载本文

内容发布更新时间 : 2024/4/20 13:01:32星期一 下面是文章的全部内容请认真阅读。

山东信息职业技术学院实验报告

学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩: 实验十一、十二、十三 第四章综合实验

一、实验目的:

(1) 进一步掌握SELECT语句的功能及使用方法。

(2) 进一步掌握SELECT语句的基本语法和查询条件表示方法; (3) 进一步掌握查询条件种类和表示方法; (4) 进一步掌握连接查询的表示及使用; (5) 进一步掌握嵌套查询的表示及使用; (6) 了解集合查询的表示及使用

(7) 进一步掌握利用INSERT命令实现对表数据的插入操作。 (8) 进一步掌握利用UPDATE命令实现对表数据的修改操作。 (9) 进一步掌握利用DELETE命令实现对表数据的删除操作。

二、实验要求

1、学生提前准备好实验报告,预习并熟悉实验步骤; 2、遵守实验室纪律,在规定的时间内完成要求的内容; 3、1~2人为1小组,实验过程中独立操作、相互学习。

三、实验内容及步骤

在Grademanager数据库中完成下面操作:

(1) 查询以‘DB_’开头,且倒数第3个字符为‘s’的课程的详细情况;

(2) 查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名;

?思考能否用嵌套查询?

(3)列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修课程号及成绩;

(4) 查询缺少成绩的所有学生的详细情况;

(5) 查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;

(6) 查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩;

21

山东信息职业技术学院实验报告

学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩: (7) 按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况。其中已修学分为考试已经及格的课程学分之和;

(8) 列出只选修一门课程的学生的学号、姓名、院系及成绩;

(9) 查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;

(10) 只选修“数据库”和“数据结构”两门课程的学生的基本信息;

(11) 至少选修“数据库”或“数据结构”课程的学生的基本信息;

(12) 列出所有课程被选修的详细情况,包括课程号、课程名、学号及成绩;

(13) 查询只被一名学生选修的课程的课程号、课程名;

(14) 检索所学课程包含学生‘张向东’所学课程的学生学号、姓名;

(15) 使用嵌套查询列出选修了“数据结构”课程的学生学号和姓名;

(16) 使用嵌套查询查询其它系中年龄小于计算机系的某个学生的学生姓名、年龄和系别;

(17) 使用ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生;

(18)分别使用连接查询和嵌套查询,列出与‘张力’在一个系的学生的信息;

(19) 使用集合查询列出CS系的学生以及性别为女的学生名单;

(20) 使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集、差集;

22

山东信息职业技术学院实验报告

学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩: (21) 使用集合查询列出选修课程1的学生集合与选修课程2的学生集合的交集;

(22) 按照课程名顺序显示各个学生选修的课程(如200515001 数据库 数据结构 数学);

四、实验总结:

1、收获

2、存在的问题

23

山东信息职业技术学院实验报告

学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩: 实验十四 索引

一、实验目的:

(1) 理解索引的概念与类型。

(2) 掌握创建、更改、删除索引的方法。 (3) 掌握维护索引的方法。

二、实验要求

1、学生提前准备好实验报告,预习并熟悉实验步骤; 2、遵守实验室纪律,在规定的时间内完成要求的内容; 3、1~2人为1小组,实验过程中独立操作、相互学习。

三、实验内容及步骤

1)使用Navicat图形工具创建、管理索引

(1) 在数据库test下创建workinfo表。创建表的同时在id字段上创建名为index_id的唯一性索引,而且以降序的格式排列。workinfo表结构内容如下表所示:

字段名 id sname Type Address Wages 字段描述 编号 职位名称 职位类别 工作地址 工资 数据类型 INT(10) VARCHAR(20) VARCHAR(10) VARCHAR(50) INT INTYTEXT TEXT 主键 是 否 否 否 否 否 否 外键 否 否 否 否 否 否 否 非空 是 是 否 否 否 否 否 唯一 是 否 否 否 否 否 否 自增 是 否 否 否 否 否 否 Contents 工作内容 extra 附加信息 (2) 创建索引。为name字段创建长度为10的索引index_name,在type和address字段上创建名为index_t的组合索引。

(3)将workinfo表的存储引擎更改为MyISAM类型。

(4)在extra字段上创建名为index_ext的全文索引。

(5)重命名索引。将index_t索引更名为index_taddress。

(6)删除索引。删除workinfo表的唯一性索引index_id。

2) 使用SQL语句创建、管理索引

(1) 利用create table语句在test数据库中创建数据表writers,其表结构内容如下表所示。在创建表的同时在w_id

24

山东信息职业技术学院实验报告

学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩: 字段上添加名称为uniquex的唯一索引。

字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 id 编号 INT(10) 是 否 是 是 是 w_name 作者姓名 VARCHAR(20) 否 否 是 否 否 w_address 作者地址 VARCHAR(50) 否 否 否 否 否 w_age 年龄 INT 否 否 是 否 否 w_note 说明 TEXT 否 否 否 否 否 (2)使用alter table语句在w_name字段上建立名称为nameidx的普通索引。

(3)使用create index语句在w_address和w_age字段上建立名称为multiidx的组合索引。

(4)使用create index语句在w_note字段上建立名称为ftidx的全文索引。

(5) 删除索引。利用alter table语句将全文索引ftidx删除,利用drop index语句将nameidx索引删除。

四、思考题

(1) 数据库中索引被破坏后会产生什么结果?

(2) 视图上能创建索引吗?

五、实验总结:

1、收获

2、存在的问题

25