2022年数据库原理实验指导书推荐 .pdf

上传人:H****o 文档编号:32433381 上传时间:2022-08-09 格式:PDF 页数:28 大小:1.95MB
返回 下载 相关 举报
2022年数据库原理实验指导书推荐 .pdf_第1页
第1页 / 共28页
2022年数据库原理实验指导书推荐 .pdf_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《2022年数据库原理实验指导书推荐 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库原理实验指导书推荐 .pdf(28页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、cj1 数据库原理实验指导书名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 28 页 - - - - - - - - - cj2 实验项目列表序号实验项目名称指导教师1 实验一数据库的定义实验(验证性)2 实验二数据库的建立和维护实验 (验证性)3 实验三数据库的查询实验(验证性)4 实验四数据库的视图操作实验 (验证性)5 实验五触发器、存储过程操作实验(综合性)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -

2、 - 名师精心整理 - - - - - - - 第 2 页,共 28 页 - - - - - - - - - cj3 实验一:数据库的定义实验一、实验目的:1、理解 MySQL Server 6.0 服务器的安装过程和方法;2、要求学生熟练掌握和使用SQL 、T-SQL 、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer, 接收 TSQL语句和进行结果分析。二、实验环境:硬件: PC机软件: Windows操作系统、 MySQL Server 6.0 和 Navicat f

3、or MySQL 9.0 三、实验内容和原理:1、安装 MySQL 以及相应的 GUI工具2、用 SQL命令,建立学生 -课程数据库基本表:学生 Student (学号 Sno,姓名 Sname ,年龄 Sage ,性别 Ssex,所在系Sdept) ;课程 Course(课程号 Cno ,课程名 Cname ,先行课 Cpno ,学分 Ccredit ) ;选课 SC (学号 Sno,课程号 Cno ,成绩 Grade) ;要求: 1) 用 SQL 命令建库、建表和建立表间联系。2) 选择合适的数据类型。3) 定义必要的索引、列级约束和表级约束四、实验步骤:1、运行 Navicat for

4、MySQL,然后进行数据库连接,进入到GUI 界面;2、利用图形界面建立基础表:student表的信息:字段名类型长度约束条件Sno varchar 9 非空、主键Sname varchar 20 Ssex varchar 2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 28 页 - - - - - - - - - cj4 Sage smallint 6 Sdept varchar 20 course表的信息:字段名类型长度约束条件Cno varchar 4 非空、主

5、键Cname varchar 40 Cpno varchar 4 与 course表中 Cno 关联Ccredit smallint 6 sc表的信息:字段名类型长度约束条件Sno varchar 9 非空、主键、与 student 表中 Sno外键关联 ,级联删除Cno varchar 4 非空、主键、与 course 表中 Cno外键关联Grade smallint 6 (1) 、连接数据库,在localhost 中点击鼠标右键(如图1 所示),点击“新建数据库” ,在弹出的窗口中输入数据库名称(如图 2 所示), 然后单击 “确定”,就完成了数据库的建立。图 1 新建数据库图 2 (2)

6、 、进入新建的数据库,在表的位置单击鼠标右击(如图3 所示) ,点击“新建表” ,分别在“栏位”中输入上表所示的字段名、类型及长度中的数据(如图4、5、6 所示) ,在“外键”中输入对应表的约束条件(如图)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 28 页 - - - - - - - - - cj5 图 3 新建表图 4 student 表图 5 course表图 6 sc表图 7 course 的约束条件图 8 sc的约束条件3、利用命令方式建表:(1) 、单击

7、“查询”,然后点击“新建查询”,在弹出的新建查询窗口中输入“CREATE DATABASE zhz”命令,建立一个名为zhz的数据库;(2) 、通过“ use zhz ”命令进入到 zhz 数据库中;(3) 、在查询编辑器窗口中分别输入命令:建立 student表:CREATE TABLE student (Sno varchar(9) PRIMARY KEY, Sname varchar(20) UNIQUE, Ssex varchar(2), Sage SMALLINT, Sdept varchar(20) ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -

8、- - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 28 页 - - - - - - - - - cj6 建立 course表:CREATE TABLE course (Cno varchar(4) PRIMARY KEY, Cname varchar(40), Cpno varchar(4), Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES course(Cno) ) 建立 sc表:CREATE TABLE sc (Sno varchar(9), Cno varchar(4), Grade SMALLI

9、NT, PRIMARY KEY (Sno,Cno), FOREIGN KEY (Sno) REFERENCES student(Sno) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (Cno) REFERENCES course(Cno) ON DELETE NO ACTION ON UPDATE CASCADE ) (4) 、向 student表中添加“ Sentrance ”列:ALTER TABLE student ADD Sentrance DATE (5) 、将 student表中“ Sentrance ”的类型改为 varcha

10、r ALTER TABLE student MODIFY COLUMN Sentrance varchar(4); (6) 、删除 student表中的“ Sentrance ”列:ALTER TABLE student DROP Sentrance; 五、实验结果1、student表:2、course表:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 28 页 - - - - - - - - - cj7 3、sc表:4、向 student表中添加Sentrance列:5

11、、student 表的基本信息:6、将 Sentrance的数据类型改为varchar:六、总结:通过这次实验,要求掌握了数据库的定义以及基本表的建立,熟悉MySQL图形界面和 SQL 命令去创建、修改、删除基本表及设定表级完整性约束,巩固了 SQL 的一些常用的命令语句,为接下来的实验奠定基础。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 28 页 - - - - - - - - - cj8 实验二:数据库的建立和维护实验一、实验目的和要求熟练掌握使用SQL、Tran

12、sact-SQL和 SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。二、实验内容和原理1、基本操作实验(1)通过 MySQL 的 GUI 工具 Navicat, 在学生 -课程数据库的 student、 course和 sc 3个表中各输入若干条记录。 要求记录不仅满足数据约束要求, 还要有表间关联的记录。(2)通过 MySQL 的 GUI 工具 Navicat 实现对学生 -课程数据库的 student 、course和 sc 3个表中数据的插入、删除和修改操作。2、提高操作实验通过查询编辑器用SQL 命令实现对学生 -课程库的数据增加、 数据删除和数据修改操作。三

13、、实验环境硬件: PC机软件: Windows操作系统、 MySQL Server 6.0 和 Navicat for MySQL 9.0 四、算法描述及实验步骤1、基本操作实验(1)运行“Navicat ” ,双击“student ”表,将学生的信息输入对应位置 (如图 1 所示) ;双击“course ”表,将课程信息输入对应位置(如图2 所示) ;双击“sc”表,将选课信息输入对应位置(如图3 所示) ;(2)需要数据插入时,就在最后一条记录后输入一条记录。当鼠标点击其他行时,输入的记录会自动保存在表中。(3)需要修改记录时,直接对表中已有记录的数据进行改动,用新值替换原有的值。(4)需

14、要删除记录时,先用鼠标单击要删除行的左边灰色方块,使该记录名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 28 页 - - - - - - - - - cj9 成为当前行,然后按 键。为了防止误操作, MySQL 会弹出一个警告框,要求用户确认删除操作,单击“确认”按钮即可删除记录。也可通过先选中一行或多行记录,然后再按 键的方法一次删除多条记录。图 1 student表的数据图 2 course表的数据图 3 sc 表的数据图 4 警告图标2、提高操作实验在查询编辑器中

15、输入以下代码,实现相应的功能。(1)将(学号 :2008004;姓名:李四;性别 ;男;所在系 :IS;年龄:20)的学生信息插入到 student表中,实现的代码如下:INSERT INTO student(Sno,Sname,Ssex,Sdept,Sage) VALUES(2008004, 李四 ,男,IS,20); (2)将 student表中学号为 2008001的学生的所在系改为MA ,实现代码如下:UPDATE student SET Sdept=MA WHERE Sno=2008001 (3)删除姓名为“张立”的学生记录,实现代码如下:DELETE FROM student WH

16、ERE Sname= 张立 五、调试过程名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 28 页 - - - - - - - - - cj10 提示操作失败,应将SET Sdept=MA 和 WHERE Sno=2008001改为:SET Sdept=MA 和 WHERE Sno=2008001,然后再运行,提示修改成功,如下图:六、实验结果1、向 student表插入数据:2、修改数据:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -

17、 - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 28 页 - - - - - - - - - cj11 3、删除数据:七、总结通过这次实验,掌握了数据库的建立和维护的基本知识以及约束条件的作用,掌握使用 MySQL 图形界面和 SQL 命令对建立的基本表进行添加数据、修改数据、删除数据的操作,同时也巩固了SQL 命令中的添加、修改、删除语句,为以后做数据库的维护奠定基础。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 28 页

18、- - - - - - - - - cj12 实验三:数据库的查询实验一、实验目的和要求1、掌握 select语句的基本语法;2、掌握子查询、连接查询的表示;3、掌握 select语句的 GROUP BY、ORDER BY、LIMIT 的作用和使用方法。二、实验内容和原理1、select语句的基本使用:(1)查询 student 表中每个学生的所有数据;(2)查询 course 和 sc 表的所有记录;(3)查询年龄在 1719 岁之间的学生的姓名及年龄;(4)统计学生总人数;(5)查询信息系( IS)学生的姓名和性别;(6)查询所有姓“王”的学生的信息。2、子查询的使用:(1)查询与“李勇”

19、在同一个系的学生(2)查询其他系中比CS系所有学生年龄都小的学生的姓名和年龄。3、连接查询的使用:(1)查询选修了 3 号课程且成绩在 85 分以上的学生的学号、姓名。(2)查询所有学生的选课情况。4、GROUP BY、ORDER BY 和 LIMIT 子句的使用:(1)查找 student 中男生和女生的人数;(2)查找选修了2 号课程的学生的学号及其成绩,查询结果按成绩降序排列;(3)返回 student 表中的前 3 为同学的信息。三、实验环境硬件: PC机软件: Windows操作系统、 MySQL Server 6.0 和 Navicat for MySQL 9.0 名师资料总结 -

20、 - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 28 页 - - - - - - - - - cj13 四、算法描述及实验步骤1、select语句的基本使用:(1)查询 student 表中每个学生的所有数据:SELECT * FROM student (2)查询年龄在 1719 岁之间的学生的姓名及年龄:SELECT Sname,Sage FROM student WHERE Sage BETWEEN 17 AND 19 (3)统计学生总人数:SELECT COUNT(*) FROM

21、 student (4)查询信息系( MA )学生的姓名和性别:SELECT Sname,Ssex FROM student WHERE Sdept IN(MA) (5)查询所有姓“王”的学生的信息。SELECT * FROM student WHERE Sname LIKE 王% 2、子查询的使用:(1)查询与“李勇”在同一个系的学生的姓名和所在系:SELECT Sname,Sdept FROM student WHERE Sdept IN (SELECT Sdept FROM student WHERE Sname=李勇 ) (2)查询其他系中比IS 系所有学生年龄都小的学生的姓名和年龄。

22、SELECT Sname,Sage FROM student WHERE SageSno2 THEN SET BJ=0; ELSE SET BJ=1; END IF; END $ Delimiter ; 调用该存储过程:CALL COMPA(2008002,2008003,BJ);查看结果:SELECT BJ2、触发器:(1)创建触发器,在 student 表中删除学生信息的同时将sc 表中该学生的选课信息删除,以确保数据的完整性:CREATE TRIGGER DELETE_SM AFTER DELETE ON student FOR EACH ROW DELETE FROM sc WHERE

23、 Sno=OLD.Sno 删除 student 表中的一行数据,然后查看sc 表的变化:DELETE FROM student WHERE Sno=2008007 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 28 页 - - - - - - - - - cj24 观察 sc 表的变化;(2)假设 student1 表和 student 表的结构和内容都相同,在student 上创建一个触发器, 如果添加一个学生的信息, 该信息也会被添加到student1 表中:de

24、limiter $ CREATE TRIGGER student_Ins AFTER INSERT ON student FOR EACH ROW BEGIN INSERT INTO student1 VALUES(new.Sno,new.Sname,new.Ssex,new.Sage,new.Sdept); END $ Delimiter ; 向 student表中添加一条新信息 (2008006,杨过,男,19,IS) :INSERT INTO student VALUES(2008006, 杨过 ,男,19,IS); 观察 student1 表的变化;(3)定义一个 BEFORE 行级触

25、发器,为 teacher 表定义完整性规则“插入教授的信息时,工资不得低于4000 元,如果低于 4000 元,则自动改为 4000 元” :CREATE TRIGGER teacher_Income BEFORE INSERT ON teacher FOR EACH ROW BEGIN IF(new.Job=教授 )AND(new.Income4000) THEN Set new.Income=4000; END IF; END; 向 teacher表中添加一条新信息 (10006,林涛 ,男,教授 ,3500) :INSERT INTO teacher VALUES(10006, 林涛 ,

26、男,教授 ,3500) 观察 teacher表的结果;(4)删除 teacher 表上的触发器 teacher_Income 。DROP TRIGGER teacher_Income; 五、调试过程1、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 28 页 - - - - - - - - - cj25 提示出现语法错误, 应在“new.Income=4000; ”前添加 SET ,然后再运行:2、提示出现语法错误,应在“ DROP TRIGGER teacher_In

27、come ON teacher ”中的“ON teacher ” 删除,然后再运行:六、实验结果实验前:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 28 页 - - - - - - - - - cj26 实验截图1、存储过程:2、触发器:(1)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 28 页 - - - - - - - - - cj2

28、7 (2)(3)七、总结名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 28 页 - - - - - - - - - cj28 通过这次实验, 掌握了存储过程的创建和调用方法以及触发器的创建、删除操作;了解了触发器在数据库中所起到的作用,它是数据库完整性的一个重要方法;巩固了存储过程和触发器的基本概念。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 28 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com