电子科技大学 数据库原理及应用 实验报告 计算机学院.docx
- 文档编号:4155527
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:22
- 大小:571.43KB
电子科技大学 数据库原理及应用 实验报告 计算机学院.docx
《电子科技大学 数据库原理及应用 实验报告 计算机学院.docx》由会员分享,可在线阅读,更多相关《电子科技大学 数据库原理及应用 实验报告 计算机学院.docx(22页珍藏版)》请在冰点文库上搜索。
电子科技大学数据库原理及应用实验报告计算机学院
计算机专业类课程
实验报告
课程名称:
数据库原理及应用
学 院:
计算机科学与工程学院
专 业:
数字媒体技术
学生姓名:
tss
学 号:
2015060501
指导教师:
胡旺
日 期:
2017年4月26日
电子科技大学
实验报告
实验一
1、实验名称:
创建、备份与恢复数据库
2、实验学时:
2
3、实验内容和目的:
本实验要求学生掌握创建数据库的方法及相关操作,向数据库中添加样本数据,学习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,
depidvarchar(20),
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熟悉了数据库的建立,表的建立,数据库整体备份还原。 电子科技大学 实验报告 实验二 1、实验名称: 数据库的完整性 2、实验学时: 4 3、实验内容和目的: 通过设置表的检查约束、外键约束体会数据库完整性的含义,约束条件下数据修改操作的限制,以及实现修改操作的技巧。 4、实验原理: 数据库库的完整性、约束条件、结构化查询语言。 5、实验器材(设备、元器件) 阿里云服务器一台,MySQLWorkBench 6、实验步骤: 在实验一的基础上增加外键约束,Check约束 纯手动输入命令 createdatabasedb2015060501024; usedb2015060501024; createtabledep( depidvarchar(8)primarykey, depnamevarchar(20)notnull )characterset=utf8; createtableteacher( tidvarchar(8)primarykey, tnamevarchar(8)notnull, titlevarchar(10), depidvarchar(20), constraintteacher_fkforeignkey(depid)referencesdep(depid) )characterset=utf8; createtablestudent( sidvarchar(15)primarykey, snamevarchar(8)notnull, sexChar (2)notnull, depidvarchar(20), birthddate, semailvarchar(20), homeaddrvarchar(40), constraintstudent_fkforeignkey(depid)referencesdep(depid), check(sexin('男','女')), check(find_in_set('@',semail)) )characterset=utf8; createtablecourse( cidvarchar(8)primarykey, cnamevarchar(30)notnull, cid_prevarchar(8), creditsnumeric(3,1)notnull )characterset=utf8; createtablesc( sidvarchar(11)notnull, cidvarchar(8)notnull, tidvarchar(8)notnull, scoreinteger, 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) )characterset=utf8; 接下来制造一些表内的数据,方便之后的实验(在之后的试验中还有增加,这里就不给出了) insertintodep values('001','计算机科学与工程'); insertintodep values('002','微电子与固体电子'); insertintoteacher values('000001','胡旺','副教授','001'); insertintoteacher values('000002','俸志刚','讲师','001'); insertintostudent(sid,sname,sex,depid) values('060201035','张三','男','001'); insertintostudent(sid,sname,sex,depid) values('030204028','李四','男','001'); insertintostudent(sid,sname,sex,depid) values('060102027','王五','男','001'); insertintostudent(sid,sname,sex,depid) values('030201012','老六','女','001'); insertintostudent(sid,sname,sex,depid) values('045201012','刘七','女','001'); insertintocourse values('100','C++程序设计',null,4.0); insertintocourse values('101','离散数学',null,3.0); insertintocourse values('102','数据结构','100',4.0); insertintosc values('060201035','100','000001',100); insertintosc values('030204028','100','000002',59); insertintosc values('045201012','100','000001',80); insertintosc values('045201012','101','000001',77); insertintosc values('045201012','102','000002',62); 7、实验数据及结果分析: 如上所示。 注意,需要在建表的同时使用utf8字符集。 这点在后来加入数据时进行了修改,否则不支持中文 代码在2.sql文件以及2add.sql文件中 8、实验结论、心得体会和改进建议: 学习了使用外键约束,check约束 电子科技大学 实验报告 实验三 1、实验名称: 数据的修改 2、实验学时: 4 3、实验内容和目的: 练习UPDATE、DELETE命令的使用,实现对数据的修改和删除。 4、实验原理: 使用结构化查询语言,在满足约束条件的情况下完成数据修改 5、实验器材(设备、元器件) 阿里云服务器一台,电脑一台 6、实验步骤: 手动输入sql语句 updatedep setdepname='Information' wheredepid='001';/*将院系中,院系名改为Information*/ deletefromsc wheresidin(selectsidfromstudentwheredepid='001')andcid='102'; /*在选课表中,删除计算机科学与工程系学生选修2号课程的记录*/ deletefromsc wheresidin(selectsidfromstudentwheredepid='002')andcid='101'; /*在选课表中,删除软件工程系学生选课1号课程的纪录记录*/ insertintostudent(sid,sname,sex,depid,birthd,semail,homeaddr) select'2406030102',sname,sex,depid,birthd,semail,homeaddrfromstudent wheresid='060201035'; updatescsetsid='2406030102'wheresid='060201035'; deletefromstudentwheresid='060201035'; /*学号为2406010103的同学由原来的计算机科学与工程系转入信息安全系,学号更改为2406030102,在数据库中做出相应修改*/ 7、实验数据及结果分析: 使用了update语句修改 学习了当外键约束存在的时候如何进行修改 (即修改学号的步骤) Sql语句保存在3.sql文件中 8、实验结论、心得体会和改进建议: 外键的存在可以很好的对数据进行约束,防止一些修改的过程中出现不合法的数据。 电子科技大学 实验报告 实验四 1、实验名称: 简单查询、多表查询 2、实验学时: 2 3、实验内容和目的: 练习用SELECT查询语句,设置查询条件,实现单表查询。 练习使用SELECT语句从多个表中查询数据,表的内连接、左外连接、右外连接的使用以及设置连接条件,理解连接条件和查询条件的在目的和功能上的区别 4、实验原理: 结构化查询语言、表的连接、关系运算 5、实验器材(设备、元器件) 阿里云服务器一台,MySQLWorkBench 6、实验步骤: 手动输入sql语句 ●查询年龄在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)<=22andFLOOR(DATEDIFF(CURDATE(),birthd)/365.2422)>=20; ●查询姓’张’的学生的学号、姓名、邮件地址 selectsid,sname,semail fromstudent 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='101')andsidin(selectsidfromscwherecid='100'); 7、实验数据及结果分析: 使用了多种select语句 使用了多种连接方式 语句保存在4.sql内 8、实验结论、心得体会和改进建议: 查询使用的不熟练,效率还可以提升 电子科技大学 实验报告 实验五 1、实验名称: 分组统计查询 2、实验学时: 4 3、实验内容和目的: 练习使用聚集函数count(),max(),min(),avg()等在SQL命令中实现统计功能。 使用GROUPBY子句实现分组查询,以及聚集函数在分组查询中的应用。 体会分组查询的功能特点。 4、实验原理: 结构化查询语言、分组查询、集函数 5、实验器材(设备、元器件) 阿里云服务器一台,电脑一台 6、实验步骤: 手动输入sql语句 ●查询选修数据库并成绩在60分以上的人数 ●求每个学生的选课的门数,显示学号和选课门数 ●求每个学生选课的总学分数,显示学号和学分 ●求每个学生的总成绩,显示学号和总成绩 ●求每门课程的平均成绩,并显示课程名及平均成绩 ●求每门课程的学生选修人数,并显示课程名及选修人数 ●求选修了5门以上课程的学生姓名及邮件地址 7、实验数据及结果分析: 使用了groupby与having语句实现了分组的功能 语句在5.sql文件内 8、实验结论、心得体会和改进建议: 分组的语句能方便的实现很多功能 电子科技大学 实验报告 实验六 1、实验名称: 集合操作、子查询 2、实验学时: 2 3、实验内容和目的: IN、EXISTS、NOTEXISTS运算在WHERE子句中的应用;静态集合和由SELECT命令产生的动态结果集运算。 4、实验原理: 结构化查询语言、集合运算、子查询 5、实验器材(设备、元器件) 阿里云服务器一台,电脑一台 6、实验步骤: 手动输入sql语句 ●查询其他系中比信息系(depid=’IS’)某一学生年龄小的学生姓名和年龄 ●查询没有选修任何课程的学生姓名、所在院系及邮件地址 ●查询选修了全部课程的学生姓名 ●查询既选修了1号课程,又选修了2号课程的学生姓名 7、实验数据及结果分析: 使用了联合查询 使用嵌套的查询完成复杂的工作,保存在6.sql内 8、实验结论、心得体会和改进建议: 联合查询使得复杂的查询逻辑变成一条语句,提高了效率
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子科技大学 数据库原理及应用 实验报告 计算机学院 数据库 原理 应用 实验 报告 计算机 学院
![提示](https://static.bingdoc.com/images/bang_tan.gif)
文档标签
- Python科学计算数据处理
- 数据库原理计算机科学技术专业
- 电子计算机科学技术学院月份
- 电子科技大学中山学院学生实验
- 数据库原理与应用电子科技大学数据库
- 数据库原理及应用崔巍书后上机实验数据库原理
- 嘉应学院2009计算机
- 华中科技大学计算机学院C++实验报告实验一华中科技大学计算机
- 实验室电子数据审计
- 会计学原理电子科技大学会计学
- 数据库原理与应用计算机科学技术专业
- 电子科技大学计算机学院综合
- 电子科技大学数据库原理及应用实验报告计算机学院
- 电子科大数实验考题
- 贵州电大数据库原理
- 电子科技大学数据库原理应用
- 中国电子数据计算
- 人武学院数据库原理
- 数学科学学院应用金融
- 实习报告电子计算机敬老院
- 科学计算数据处理综合
- 科学计算数据处理综合
- 科学计数PPT
- 科学记数ppt
- 数学计算科学学生会
- Python处理JSON