电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx

上传人:b****3 文档编号:6483953 上传时间:2023-05-06 格式:DOCX 页数:22 大小:571.43KB
下载 相关 举报
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第1页
第1页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第2页
第2页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第3页
第3页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第4页
第4页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第5页
第5页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第6页
第6页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第7页
第7页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第8页
第8页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第9页
第9页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第10页
第10页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第11页
第11页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第12页
第12页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第13页
第13页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第14页
第14页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第15页
第15页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第16页
第16页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第17页
第17页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第18页
第18页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第19页
第19页 / 共22页
电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx

《电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx(22页珍藏版)》请在冰点文库上搜索。

电子科技大学 数据库原理及应用 实验报告 计算机学院Word文档下载推荐.docx

本实验要求学生掌握创建数据库的方法及相关操作,向数据库中添加样本数据,学习SQLSERVER数据库的恢复和备份。

4、实验原理:

使用数据库管理系统DB、DDL创建数据库及数据库对象

5、实验器材(设备、元器件)

MySQLWorkBench,安装了MySQL的阿里云服务器一台

6、实验步骤:

远端使用CentOS7.3,从MySQL官网上配置好MySQL5.7的源之后安装启动服务

安装好MySQLServer5.7之后配置好安全选项,比如关闭远程root登录保证安全,打开允许远程连接数据库等

使用root账号登录,创建一个普通用户(如图)

为了方便起见…给用户ROOT操作权限

打开本机的MySQLWorkBench

新建一个查询,开始写建库建表的语句

 

createdatabasedb2015060501024;

usedb2015060501024;

createtabledep(

depidvarchar(8)primarykey,

depanmevarchar(20)notnull

);

createtableteacher(

tidvarchar(8)primarykey,

tnamevarchar(8)notnull,

titlevarchar(10),

depidvarchar(20),

createtablestudent(

sidvarchar(11)primarykey,

snamevarchar(8)notnull,

sexChar

(2)notnull,

birthddate,

semailvarchar(20),

homeaddrvarchar(40),

createtablecourse(

cidvarchar(8)primarykey,

cnamevarchar(30)notnull,

cid_prevarchar(8),

creditsnumeric(3,1)notnull

createtablesc(

sidvarchar(8)notnull,

cidvarchar(8)notnull,

tidvarchar(8)notnull,

scoreinteger,

primarykey(sid,cid)

数据库的备份

在mysql服务器主机上执行命令

mysqldump-uroot-pN?

/ua2qLaORS--all-databases>

backup.sql

-u用户名–p密码

这里使用了root用户

--all-databases备份所有数据库,并导出到backup.sql文件

数据库的恢复

mysql-uroot-pN?

/ua2qLaORS<

7、实验数据及结果分析:

如上图所示

8、实验结论、心得体会和改进建议:

使用mysql熟悉了数据库的建立,表的建立,数据库整体备份还原。

实验二

数据库的完整性

4

通过设置表的检查约束、外键约束体会数据库完整性的含义,约束条件下数据修改操作的限制,以及实现修改操作的技巧。

数据库库的完整性、约束条件、结构化查询语言。

阿里云服务器一台,MySQLWorkBench

在实验一的基础上增加外键约束,Check约束

纯手动输入命令

depnamevarchar(20)notnull

)characterset=utf8;

constraintteacher_fkforeignkey(depid)referencesdep(depid)

sidvarchar(15)primarykey,

constraintstudent_fkforeignkey(depid)referencesdep(depid),

check(sexin('

男'

'

女'

)),

check(find_in_set('

@'

semail))

sidvarchar(11)notnull,

constraintsc_fk_sidforeignkey(sid)referencesstudent(sid),

constraintsc_fk_cidforeignkey(cid)referencescourse(cid),

constraintsc_fk_tidforeignkey(tid)referencesteacher(tid),

primarykey(sid,cid),

check(score>

=0andscore<

=100)

接下来制造一些表内的数据,方便之后的实验(在之后的试验中还有增加,这里就不给出了)

insertintodep

values('

001'

计算机科学与工程'

002'

微电子与固体电子'

insertintoteacher

000001'

'

胡旺'

副教授'

000002'

俸志刚'

讲师'

insertintostudent(sid,sname,sex,depid)

060201035'

张三'

030204028'

李四'

060102027'

王五'

030201012'

老六'

045201012'

刘七'

insertintocourse

100'

C++程序设计'

null,4.0);

101'

离散数学'

null,3.0);

102'

数据结构'

4.0);

insertintosc

100);

59);

80);

77);

62);

如上所示。

注意,需要在建表的同时使用utf8字符集。

这点在后来加入数据时进行了修改,否则不支持中文

代码在2.sql文件以及2add.sql文件中

学习了使用外键约束,check约束

实验三

数据的修改

练习UPDATE、DELETE命令的使用,实现对数据的修改和删除。

使用结构化查询语言,在满足约束条件的情况下完成数据修改

阿里云服务器一台,电脑一台

手动输入sql语句

updatedep

setdepname='

Information'

wheredepid='

;

/*将院系中,院系名改为Information*/

deletefromsc

wheresidin(selectsidfromstudentwheredepid='

)andcid='

/*在选课表中,删除计算机科学与工程系学生选修2号课程的记录*/

/*在选课表中,删除软件工程系学生选课1号课程的纪录记录*/

insertintostudent(sid,sname,sex,depid,birthd,semail,homeaddr)

select'

2406030102'

sname,sex,depid,birthd,semail,homeaddrfromstudent

wheresid='

updatescsetsid='

wheresid='

deletefromstudentwheresid='

/*学号为2406010103的同学由原来的计算机科学与工程系转入信息安全系,学号更改为2406030102,在数据库中做出相应修改*/

使用了update语句修改

学习了当外键约束存在的时候如何进行修改

(即修改学号的步骤)

Sql语句保存在3.sql文件中

外键的存在可以很好的对数据进行约束,防止一些修改的过程中出现不合法的数据。

实验四

简单查询、多表查询

练习用SELECT查询语句,设置查询条件,实现单表查询。

练习使用SELECT语句从多个表中查询数据,表的内连接、左外连接、右外连接的使用以及设置连接条件,理解连接条件和查询条件的在目的和功能上的区别

结构化查询语言、表的连接、关系运算

●查询年龄在20—22之间的学生姓名(通过出生日期和当前日期计算年龄,方法见第八章)

selectsname

fromstudent

whereFLOOR(DATEDIFF(CURDATE(),birthd)/365.2422)<

=22andFLOOR(DATEDIFF(CURDATE(),birthd)/365.2422)>

=20;

●查询年龄在20—22之间的学生姓名、院系和年龄(忘记截图)

selectsname,depname,FLOOR(DATEDIFF(CURDATE(),birthd)/365.2422)

fromstudent,dep

wherestudent.depid=dep.depidand(DATEDIFF(CURDATE(),birthd)/365.2422)<

●查询姓’张’的学生的学号、姓名、邮件地址

selectsid,sname,semail

wheresnamelike'

张%'

●查询所有有成绩(成绩不为空)的学生学号和课程号

selectsid,cidfromscwherescore>

0;

●查询选修了2号课程成绩在60分以下的所有学生的学号、姓名、学生的邮件地址、课程名、教师姓名和教师的邮件地址及课程成绩

selectstudent.sid,student.sname,student.semail,ame,teacher.tname,sc.score

fromstudent,course,teacher,sc

wheresc.sid=student.sidandsc.cid=course.cidandsc.tid=teacher.tidandsc.score<

60;

●查询既选修了1号课程,又选修了2号课程的学生学号

selectdistinctsid

fromsc

wheresidin(selectsidfromscwherecid='

)andsidin(selectsidfromscwherecid='

使用了多种select语句

使用了多种连接方式

语句保存在4.sql内

查询使用的不熟练,效率还可以提升

实验五

分组统计查询

练习使用聚集函数count(),max(),min(),avg()等在SQL命令中实现统计功能。

使用GROUPBY子句实现分组查询,以及聚集函数在分组查询中的应用。

体会分组查询的功能特点。

结构化查询语言、分组查询、集函数

●查询选修数据库并成绩在60分以上的人数

●求每个学生的选课的门数,显示学号和选课门数

●求每个学生选课的总学分数,显示学号和学分

●求每个学生的总成绩,显示学号和总成绩

●求每门课程的平均成绩,并显示课程名及平均成绩

●求每门课程的学生选修人数,并显示课程名及选修人数

●求选修了5门以上课程的学生姓名及邮件地址

使用了groupby与having语句实现了分组的功能

语句在5.sql文件内

分组的语句能方便的实现很多功能

实验六

集合操作、子查询

IN、EXISTS、NOTEXISTS运算在WHERE子句中的应用;

静态集合和由SELECT命令产生的动态结果集运算。

结构化查询语言、集合运算、子查询

●查询其他系中比信息系(depid=’IS’)某一学生年龄小的学生姓名和年龄

●查询没有选修任何课程的学生姓名、所在院系及邮件地址

●查询选修了全部课程的学生姓名

●查询既选修了1号课程,又选修了2号课程的学生姓名

使用了联合查询

使用嵌套的查询完成复杂的工作,保存在6.sql内

联合查询使得复杂的查询逻辑变成一条语句,提高了效率

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2