《数据库原理及应用》实验报告

更新时间:2023-03-08 08:52:46 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数据库原理及应用

实验报告

实验课程: 数据库原理及应用

学 号: 2012044543003

学生姓名: 陈洪波

班 级: 12通信工程1班 2015年 4 月 22 日

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: 实验一 创建和维护数据库

一、实验目的

(1)掌握在Windows 平台下安装与配置MySQL 5.5 的方法。 (2)掌握启动服务并登录MySQL 5.5 数据库的方法和步骤。 (3)了解手工配置MySQL 5.5 的方法。

(4)掌握MySQL 数据库的相关概念。

(5)掌握使用Navicat 工具和SQL 语句创建数据库的方法。 (6)掌握使用Navicat 工具和SQL 语句删除数据库的方法。

二、实验要求

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

三、实验内容及步骤

(1)在Windows 平台下安装与配置MySQL 5.5.36 版。

进入到下载页面,没看到5.5.36的版本,就选择了32位的5.5.43版本的来安装

(2)在服务对话框中,手动启动或者关闭MySQL 服务。

(3)使用Net 命令启动或关闭MySQL 服务。

(4)分别用Navicat 工具和命令行方式登录MySQL。

2

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: ①下面用Nacicat工具登录Mysql,连接测试成功的页面如下:

登录成功的页面截图如下:

②运用行命令方式登录成功的页面如下:

(5)在my.ini 文件中将数据库的存储位置改为D:\\MYSQL\\DATA。

3

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: 步骤总共有四步: ① 停止Mysql服务

② 打开MySQL默认的安装文件夹C:\\Program Files\\MySQL\\MySQL Server 5.1中的my.ini文件,点击记事本顶

部的“编辑”,“查找”,在查找内容中输入datadir后并点击“查找下一个”转到“Path to the database root数据库存储主路径”参数设置,找到datadir=\and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/\即是默认的数据库存储主路径设置,现将它改到D:\\MYSQL\\DATA即可,正确的设置是datadir=\。

③将老的数据库存储主路径中的数据库文件和文件夹复制到新的存储主路径 ④重新启动MYSQL服务,这样子数据库的存储路径就完成了。

(6)创建数据库。

① 使用Navicat 创建学生信息管理数据库gradem。

② 使用SQL 语句创建数据库MyDB。 语句截图如下:

(7)查看数据库属性。

① 在Navicat 中查看创建后的gradem 数据库和MyDB 数据库的状态,查看数据库所在的文件夹。

4

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩:

② 利用SHOW DATABASES 命令显示当前的所有数据库。

(8)删除数据库。

① 使用Navicat 图形工具删除gradem 数据库。 ② 使用SQL 语句删除MyDB 数据库。

③ 利用SHOW DATABASES 命令显示当前的所有数据库。

(9)使用配置向导修改当前密码,并使用新密码重新登录。

(10)配置Path 变量,确保MySQL 的相关路径包含在Path 变量中。

5

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: 四、思考题 My SQL的数据库文件有几种?扩展名分别是什么?

答:一个格式文件---.frm,一个数据文件---.isd,一个索引文件---.isd。 五、实验总结

1、收获

答:(1)在这次的实验过程中学习到了Mysql的安装过程和基本的配置,基本了解了用图形化工具Navicat和用SQL语言来删除以及创建数据库的方法。

(2)熟练掌握了数据库启动的步骤和方法,通过查阅资料深刻认识到了数据库的强大功能,易于管理的特点对人们平时工作处理一些数据表格的帮助非常巨大。 2、存在的问题

答:还不能熟练地记住一些SQL语句,接下来得在这一方面下多点功夫。

6

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: 实验二 管理表

一、实验目的

(1) 掌握表的基础知识。

(2) 掌握使用Navicat管理工具和SQL语句创建表的方法。 (3) 掌握表的修改、查看、删除等基本操作方法。

二、实验要求

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

三、实验内容及步骤

(1)在gradem数据库中创建表4.18~表4.22所示结构的表。

表4.18 student表的表结构 字段名称 数据类型 长度 小数位数 是否允许NULL值 说明 sno char 10 否 主码 sname varchar 8 是 ssex char 2 是 sbirthday datetime 是 saddress varchar 50 是 sdept char 16 是 speciality varchar 20 是

表4.19 course表(课程名称表)的表结构

7

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: 字段名称 数据类型 长度 小数位数 是否允许NULL值 说明 cno char 5 否 主码 cname varchar 20 否

表4.20 sc表(成绩表)的表结构 字段名称 数据类型 长度 小数位数 是否允许NULL值 说明 sno char 10 否 组合主码、外码 cno char 5 否 组合主码、外码 degree decimal 4 1 是 1~100

表4.21 teacher表(教师表)的表结构

字段名称 数据类型 长度 小数位数 是否允许NULL值 说明 tno char 3 否 主码 tname varchar 8 是 tsex char 2 是 tbirthday date 是 tdept char 16 是

表4.22 teaching表(授课表)的表结构

8

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: 字段名称 cno tno cterm 数据类型 char char tinyint 长度 5 3 1 小数位数 0 是否允许NULL值 否 否 是 说明 组合主码、外码 组合主码、外码 1~10

(2) 向表4.18至表4.22输入数据记录,见表4.23~表4.27。 表4.23 学生关系表student sno 20050101 20050201 20050301 20050202 sname 李勇 刘晨 王敏 张立 ssex 男 女 女 男 sbirthday 1987-01-12 1988-06-04 1989-12-23 1988-08-25 saddress 山东济南 山东青岛 江苏苏州 河北唐山 sdept

speciality 计算机应用 电子商务 数学 电子商务 计算机工程系 信息工程系 数学系 信息工程系

表4.24 课程关系表course

cno

cname cno cname 9

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: C01 数据库 C03 信息系统 C02 数学 C04 操作系统

表4.25 成绩表sc

sno cno degree 20050101 C01 92 20050101 C02 85 20050101 C03 88 20050201 C02 90 20050201 C03 80

表4.26 教师表teacher

tno tname tsex tbirthday tdept 101 李新 男 1977-01-12 计算机工程系 102 钱军 女 1968-06-04 计算机工程系 201 王小花 女 1979-12-23 信息工程系 202 张小青 男 1968-08-25 信息工程系

表4.27 授课表teaching

cno tno cterm C01 101 2

10

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: C02 102 1 C03 201 3 C04 202 4

(3) 修改表结构。

① 向student表中增加“入学时间”列,其数据类型为日期时间型。 直接添加一个栏位,然后再进行相应的参数约束。 ② 将student表中的sdept字段长度改为20。 直接在navicat的设计表里面改再保存就可以了。 ③ 将student表中的speciality字段删除。

直接在图形工具里面删除整个栏位再保存就可以了 ④ 删除student表。

(4) 利用SQL命令(create table、alter table、drop table)完成对表的操作 ①利用create talbe 命令完成student表和course表的定义。 Student表的定义如下: Use gradem Creat table student (sno char(10) primary key, Sname char(8), Ssex char(2),sbirthday ,

11

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: Saddress char(50), Sdept char(16), Speciaity varchar(20));

Course表格的定义代码如下; Use gradem Creat table course (cno char(5) primary key, cname char(20));

②利用drop table命令实现(3)中的④。 Drop table student;

四、思考题

(1) MySQL中的数据库文件有几种?扩展名分别是什么? 答:数据库文件-- .mdf,次数据文件-- .ndf,日志文件-- .ldf

(2) 在定义基本表语句时,NOT NULL参数的作用是什么?

答:设置列的分量不为空值

(3) 主码可以建立在“值可以为NULL”的列上吗? 答:不行。

五、实验总结:

1、收获

答:学会了在图形工具navicat里面建立表格跟输入数据的基本操作,在命令窗口会使用SQL语句查询已建好的表格的各种信息。

2、存在的问题

12

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: 实验三 简单查询——单表无条件和有条件查询

一、实验目的

(1) 掌握SELECT语句的基本用法。 (2) 使用WHERE子句进行有条件的查询。

(3) 掌握使用IN和NOT IN,BETWEEN?AND和NOT BETWEEN?AND来缩小查询范围的方法。 (4) 利用LIKE子句实现字符串匹配查询。

二、实验要求

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

三、实验内容及步骤

在上次实验建立的Gradem或Gradem1数据库中完成下面查询:

(1) 查询所有学生的基本信息、所有课程的基本信息和所有学生的成绩信息(用三条SQL语句)。 学生的基本信息:select * from student; 所有课程的基本信息:select * from course; 所有学生的成绩信息:select degree from student;

(2) 查询所有学生的学号、姓名、性别和出生日期。 Select sno,sname,sbirthday from student;

(3) 查询所有课程的课程名称。 Select cname from course;

13

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: (4) 查询前10门课程的课号及课程名称。 Select cno,cname from student limit 10;

(5) 查询所有学生的姓名及年龄。 Select sname,sage from student;

(6) 查询所有年龄大于18岁的女生的学号和姓名。 Select sno,sname from student Where sage>18;

(7) 查询所有男生的信息。 Select * from student Where ssex=?男?;

(8) 查询所有任课教师的姓名(Tname)和所在系别(Tdept)。 Select tname,tdept from teacher;

(9) 查询“电子商务”专业的学生姓名、性别和出生日期。 Select sname,ssex,sbirthday from student Where speciality=?电子商务?;

(10) 查询Student表中的所有系名。

14

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: Select sdept from student;

(11) 查询“C01”课程的开课学期。 Select cterm from teaching Where cno in(C01);

(12) 查询成绩在80~90分之间的学生学号及课号。 Select sno,cno from sc

Where degree >80 and degree <90;

(13) 查询在1970年1月1日之前出生的男教师信息。 Select * from teacher

Where tsex=?男? and tbirthday

(14) 输出有成绩的学生学号。

Select sno from sc where degree in not null;

(15) 查询所有姓“刘”的学生信息。

15

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: 实验五、六、七 多表查询

一、实验目的

(1) 掌握SELECT语句在多表查询中的应用。 (2) 掌握多表连接的几种连接方式及应用。

二、实验要求

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

三、实验内容及步骤

在Gradem或Gradem1数据库中完成下面查询:

(1) 查询计算机工程系女学生的学生学号、姓名及考试成绩。

(2) 查询“李勇”同学所选课程的成绩。(不考虑重名)

(3) 查询“李新”老师所授课程的课程名称。

(4) 查询女教师所授课程的课程号及课程名称。

(5) 查询至少选修一门课程的女学生姓名。

(6) 查询姓“王”的学生所学的课程名称。

(7) 查询选修“数据库”课程且成绩在80~90分之间的学生学号及成绩。?查询姓名?

(8) 查询课程成绩及格的男同学的学生信息及课程号与成绩。

21

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: (9) 查询选修“c04”课程的学生的平均年龄。

(10) 查询学习课程名为“数学”的学生学号和姓名。

(11) 查询“钱军”教师任课的课程号,选修其课程的学生的学号和成绩。?姓名?

(12) 查询在第3学期所开课程的课程名称及成绩。

(13) 查询“c02”号课程不及格的学生信息。

(14) 查询软件系成绩在90分以上的学生姓名、性别和课程名称。

(15) 查询同时选修了“c04”和“c02”课程的学生姓名和成绩。

三、思考题

(1) 指定一个较短的别名有什么好处?

答:用比较短的名字代替原来比较长的名字方便记忆。 (2) 内连接与外连接有什么区别?

答:内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。而采用外连接时,它返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连 接)中的所有数据行。 (3) “=”与IN在什么情况下作用相同?

答:如果子查询只有一条记录,‘=’和‘IN’的作用才相同,IN可查询一条或多条记录,而=只能查询一条记录。

四、实验总结:

1、收获

2、存在的问题

22

学院实验报告

学号: 姓名: 班级: 同组者: 课程名称: 数据库原理及应用 指导老师: 实验成绩: 23

本文来源:https://www.bwwdw.com/article/7lh3.html

Top