网络数据库技术课程实验指导.docx

上传人:b****6 文档编号:5821384 上传时间:2023-01-01 格式:DOCX 页数:32 大小:40.38KB
下载 相关 举报
网络数据库技术课程实验指导.docx_第1页
第1页 / 共32页
网络数据库技术课程实验指导.docx_第2页
第2页 / 共32页
网络数据库技术课程实验指导.docx_第3页
第3页 / 共32页
网络数据库技术课程实验指导.docx_第4页
第4页 / 共32页
网络数据库技术课程实验指导.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

网络数据库技术课程实验指导.docx

《网络数据库技术课程实验指导.docx》由会员分享,可在线阅读,更多相关《网络数据库技术课程实验指导.docx(32页珍藏版)》请在冰豆网上搜索。

网络数据库技术课程实验指导.docx

网络数据库技术课程实验指导

辽东学院自编教材

网络数据库技术

实验指导书

鲁琴编

 

(信息管理与信息系统专业用)

 

 

信息技术学院

2013年12月

目录

实验1认识MySQL2

实验2数据定义4

实验3表数据插入、修改和删除8

实验4数据查询12

实验5视图16

实验6索引和数据完整性19

实验7MySQL语言结构23

实验8过程式数据库对象的使用26

实验9备份与恢复30

实验10数据库的安全性33

实验11Oracle数据库管理36

实验12Oracle数据库开发37

实验1认识MySQL

实验类型:

验证型实验课时:

2指导教师:

时间:

20年月日课次:

第节教学周次:

第周

实验分室:

实验台号:

实验员:

实验目的:

1.掌握MySQL服务器的安装与配置方法

2.掌握MySQL命令行客户端的使用

3.了解MySQL图形界面工具的基本情况

实验要求:

掌握数据库的基本概念、方法和原理。

实验内容:

1.MySQL服务器的下载、安装和配置

2.MySQL命令行客户端的使用

3.认识MySQLWorkbench。

实验步骤:

1.MySQL服务器的下载、安装和配置

(1)登录MySQL官方网站下载专区(

(2)下载MySQLInstallerforWindows。

(3)安装

(4)配置

2.MySQL命令行客户端的使用

(1)MySQL服务启动后,运行cmd命令,打开命令行模式。

在命令行方式下,练习下面的命令。

(2)连接MySQL服务器

运行命令“Mysql-uroot-p”,按提示输入root用户密码,就以root身份登录到MySQL服务器。

(3)查看mysql帮助菜单

在mysql提示符后输入“help;”或“\h”,屏幕即显示mysql帮助菜单,仔细阅读其中命令及说明。

(4)与数据库无关的简单查询

查询MySQL的版本号和当前日期

mysql>SELECTVERSION(),CURRENT_DATE;

简单计算

mysql>SELECTSIN(PI()/4),(4+1)*5;

(5)查看系统自带数据库

mysql>showdatabases;

(6)断开MySQL服务器连接

可以在MySQL提示符下用命令QUIT(or\q)断开连接。

3.认识MySQLGUI工具—MySQLWorkbench

思考题:

1.当前在MySQL官方网站上,能够下载到的MySQLCommunityServer的版本号是多少。

2.查看mysql帮助菜单,找到中断当前mysql命令的命令,并试作。

3.实验中遇到的问题及解决方法。

实验2数据定义

实验类型:

验证型实验课时:

1指导教师:

时间:

20年月日课次:

第节教学周次:

第周

实验分室:

实验台号:

实验员:

实验目的:

1.了解MySQL数据库的存储引擎的分类;

2.了解表的结构特点;

3.了解MySQL的基本数据类型;

4.了解空值概念;

5.学会命令行方式和界面方式进行数据定义

实验要求:

1.掌握数据库设计的基本方法,设计用于企业管理的员工管理数据库。

2.创建用于企业管理的员工管理数据库,确定数据库中有哪些表,以及所包含的各表的结构,还要了解MySQL的常用数据类型。

3.掌握数据定义相关SQL语句。

实验内容:

1.设计用于企业管理的员工管理数据库

2.用命令行方式创建数据库和表

3.用界面方式创建数据库和表

实验步骤:

1.设计用于企业管理的员工管理数据库

要建立企业管理系统,对员工的基本信息(包括员工编号,姓名,性别,出生日期,学历,参加工作时间,地址,电话号码),部门基本信息(部门号,部门名,备注),以及员工薪水信息(薪水编号,收入,支出,年月)进行管理,根据要求设计数据库。

(1)画出E-R图

 

(2)将E-R图转换为关系模式

员工(员工编号,姓名,性别,出生日期,学历,参加工作时间,地址,电话号码,部门号)

部门(部门号,部门名,备注)

员工薪水(薪水编号,收入,支出,年月,员工编号)

(3)确定各数据表的结构

要求:

将下面三个表中带底纹的空的单元格填上对应的值。

员工信息表:

Employees

列名

数据类型

长度

是否允许为空

说明

EmployeeID

char

6

No

员工编号,主键

Name

varchar

10

No

姓名

Sex

char

1

No

性别

Birthday

date

No

出生日期

Education

char

4

No

学历

WorkYear

date

Yes

参加工作时间

Address

varchar

20

Yes

地址

PhoneNumber

char

12

Yes

电话号码

部门信息表:

Departments

列名

数据类型

长度

是否允许为空

说明

DepartmentID

char

3

No

部门编号,主键

DepartmentName

varchar

20

No

部门名

Note

text

Yes

备注

员工薪水情况表:

Salary

列名

数据类型

长度

是否允许为空

说明

SalaryID

char

12

No

薪水编号,主键

InCome

float

No

收入

OutCome

float

No

支出

Time

char

7

No

薪水年月

2.使用SQL命令创建数据库和表

⑴使用SQL命令创建用于企业管理的员工管理数据库YGGL

打开MySQL命令行客户端,输入管理员密码登录,使用CREATE语句创建YGGL数据库。

CreatedatabaseYGGL;

⑵使用命令行方式创建数据库YGGL中各表

首先将YGGL数据库变成当前活动的数据库

UseYGGL;

1创建部门信息表Departments

CreatetableDepartments(

DepartmentIDchar(3)notnull,

DepartmentNamevarchar(20)notnull,

Notetext,

Primarykey(DepartmentID)

);

2创建员工信息表Employees

CreatetableEmployees(

EmployeeIDchar(6)notnull,

Namechar(10)notnull,

Educationchar(4)notnull,

Birthdaydatenotnull,

Sexchar

(2)notnulldefault1,

WorkYeartinyint

(1),

Addressvarchar(20),

PhoneNumberchar(12),

DepartmentIDchar(3)notnull,

Primarykey(EmployeeID),

Foreignkey(DepartmentID)referencesDepartments(DepartmentID)

);

3建员工薪水情况表Salary

CreatetableSalary(

SalaryIDchar(12)notnull,

InComefloatnotnull,

OutComefloatnotnull,

Timechar(7)notnull,

EmployeeIDchar(6)notnull,

Primarykey(SalaryID),

Foreignkey(EmployeeID)referencesEmployees(EmployeeID)

);

4建一个结构与Employees表结构相同的空表Employees1;

CreatetableEmployees1(

EmployeeIDchar(6)notnull,

Namechar(10)nutnull,

Educationchar(4)notnull,

Birthdaydatenotnull,

Sexchar

(2)notnulldefault’1’,

WorkYeartinyint

(1),

Addressvarchar(20),

PhoneNumberchar(12),

DepartmentIDchar(3)notnull,

Primarykey(EmployeeID)

Primarykey(DepartmentID)

);

⑶使用命令删除数据库和表

删除表Employees1;

DroptableEmployees1;

删除数据库YGGL;

DropdatabaseYGGL;

3.使用界面工具创建数据库YGGL和其中的表。

⑴创建数据库YGGL

⑵创建数据库YGGL中的表

⑶删除数据库YGGL中的表

⑷删除数据库YGGL

思考题:

1.当创建数据库YGGL时,其中的数据存储在磁盘上什么位置?

当创建了三个数据表(Employees,Departments和Salary)时,其对应的数据文件的名字分别是什么?

2.什么是表的存储引擎?

在MySQL5.5.5.以前版本,默认的存储引擎是MyISAM。

在MySQL5.5.5以后,默认的存储引擎是什么?

3.实验中遇到的问题及解决方法。

实验3表数据插入、修改和删除

实验类型:

验证型实验课时:

1指导教师:

时间:

20年月日课次:

第节教学周次:

第周

实验分室:

实验台号:

实验员:

实验目的:

学会命令行方式和界面方式进行数据更新,包括数据插入、修改和删除。

实验要求:

掌握数据更新相关SQL语句,包括数据插入、修改和删除。

实验内容:

1.命令行方式数据插入、修改和删除。

2.界面方式进行数据操纵,包括数据插入、修改和删除。

实验准备:

在实验2中,用于实验的YGGL数据库中的3个表已经建立,现在要将各表的样本数据添加到各表中。

样本数据如表1,2,3所示。

表1Employees表数据样本

编号

姓名

性别

出生日期

学历

参加工作

时间

住址

电话

部门号

000001

王林

1

1966-01-23

大专

1989-07-23

中山路32-1-508

83355668

2

010008

伍容华

1

1976-03-28

本科

1998-09-20

北京东路100-2

83321321

1

020010

王向容

1

1982-12-09

硕士

2004-12-05

四牌楼10-0-108

83792361

1

020018

李丽

0

1960-07-30

大专

1984-08-09

中山东路102-2

83413301

1

102201

刘明

1

1972-10-18

本科

1995-10-08

虎距路100-2

83606608

5

102208

朱俊

1

1965-09-28

硕士

1992-06-28

牌楼巷5-3-106

84708817

5

108991

钟敏

0

1979-08-10

硕士

2005-08-10

中山路10-3-105

83346722

3

111006

张石兵

1

1974-10-01

本科

1996-09-01

解放路34-1-203

84563418

5

210678

林涛

1

1977-04-02

大专

1977-04-02

中山北路24-35

83467336

3

302566

李玉珉

1

1968-09-20

本科

1968-09-20

热和路209-3

58765991

4

308759

叶凡

1

1978-11-18

本科

1978-11-18

北京西路3-7-52

83308901

4

504209

陈林琳

0

1969-09-03

大专

1969-09-03

汉中路120-4-12

84468158

4

表2Departments表数据样本

部门号

部门名称

备注

部门号

部门名称

备注

1

财务部

Null

4

研发部

Null

2

人力资源部

Null

5

市场部

Null

3

经理办公室

Null

表3Salary表数据样本

编号

收入

支出

年月

员工编号

201212000001

2100.8

123.09

2012-12

000001

201212010008

1582.62

88.03

2012-12

010008

201212020010

2860

198

2012-12

020010

201212020018

2347.68

180

2012-12

020018

201212102201

2569.88

185.65

2012-12

102201

201212102208

1980

100

2012-12

102208

201212108991

3259.98

281.52

2012-12

108991

201212111006

1987.01

79.58

2012-12

111006

201212210678

2240

121

2012-12

210678

201212302566

2980.7

210.2

2012-12

302566

201212308759

2531.98

199.08

2012-12

308759

201212504209

2066.15

108

2012-12

504209

201211000001

2100.8

120.09

2012-11

000001

201211010008

1582.62

80.03

2012-11

010008

201211020010

2860

200

2012-11

020010

201211020018

2347.68

190

2012-11

020018

201211102201

2569.88

188

2012-11

102201

201211102208

1980

100

2012-11

102208

201211108991

3259.98

280.52

2012-11

108991

201211111006

1987.01

88

2012-11

111006

201211210678

2240

129

2012-11

210678

201211302566

2980.7

22

2012-11

302566

201211308759

2531.98

199

2012-11

308759

201211504209

2066.15

110

2012-11

504209

实验步骤:

2.使用SQL语句向表中插入数据

(1)INSERT命令

向表中插入样本数据。

insertintodepartmentsvalues('1','财务部',null);

insertintodepartmentsvalues('2','人力资源部',null);

insertintodepartmentsvalues('3','经理办公室',null);

insertintodepartmentsvalues('4','研发部',null);

insertintodepartmentsvalues('5','市场部',null);

insertintoemployeesvalues('000001','王林','大专','1966-01-23','1',8,'中山路32-1-508','83355668','2');

insertintosalaryvalues('000001',2100.8,123.09,'2012-12','2');

⑶REPLACE命令

运行下面二条命令,将二者结果的不同总结一下,写入下面紫色底纹部分。

INSERTINTOemployees(EmployeeID,Name,Education,Birthday,Sex,WorkYear,Address,PhoneNumber,DepartmentID)VALUES

('000001','李林','大专','1966-01-23','1','1986-01-23','中山路32-1-508','83355668','2');

REPLACEINTOemployees(EmployeeID,Name,Education,Birthday,Sex,WorkYear,Address,PhoneNumber,DepartmentID)VALUES

('000001','李林','大专','1966-01-23','1','1986-01-23','中山路32-1-508','83355668','2');

3.使用SQL语句更新表数据

1将编号为’011112’的职工的收入改为2890

Updatesalarysetincome=2890whereEmployeeID=’011112;’

2将所有职工的收入增加100

Updatesalarysetincome=income+100;

4.使用SQL语句删除表数据

1删除表Employee中编号为’011112’的职工的信息。

DeletefromemployeeswhereEmployeeID=’011112’;

2删除所有收入大于2500的职工信息

DeletefromemployeeswhereEmployeeIDin(selectEmployeeIDfromsalarywhereincome>2500);

3使用TRUNCATETABLE语句删除表中所有行

Truncatetablesalary;

5.使用界面工具向表中插入数据

6.使用界面工具修改表中数据

思考题:

1.比较SQL语句和界面工具在实现数据插入、更改和删除时,哪种方法更强大?

为什么?

2.实验中遇到的问题及解决方法。

实验4数据查询

实验类型:

设计型实验课时:

3指导教师:

时间:

20年月日课次:

第节教学周次:

第周

实验分室:

实验台号:

实验员:

实验目的:

掌握数据查询SQL命令

实验要求:

掌握数据查询SELECT语句的语法格式

实验内容:

1.SELECT语句的基本使用

2.子查询的使用

3.连接查询的使用

4.GROUPBY、ORDERBY和LIMIT子句的使用

实验步骤:

说明:

按实验步骤对数据库YGGL中的三个表进行数据查询,三个表结构如下(具体参看实验2):

Departments(DepartmentID,DepartmentName,Note)

Employees(EmployeeID,Name,Sex,Birthday,Education,WorkYear,Address,PhoneNumber,DepartmentID)

Salary(SalaryID,InCome,OutCome,Time,EmployeeID)

要求:

填上正确SQL语句。

1.SELECT语句的基本使用

(1)查询每个部门的所有数据

select*fromemployees;

(2)查询每个雇员的地址和电话

selectName,Address,PhoneNumberfromemployees;

(3)查询每个雇员的学历,消除重复行。

selectdistinctName,Educationfromemployees;

(8)查询1970年以后出生的员工姓名和地址。

selectName,Addressfromemployeeswhereyear(birthday)>1970;

(5)查询女员工的地址和电话,并使用AS子句将结果中各列的标题分别指定为地址、电话。

selectAddressas地址,PhoneNumberas电话fromemployeeswheresex='0';

(6)查询员工2012年12月的薪水号和收入水平,收入为2000元以下显示为低收入,2000-3000元显示为中等收入,3000元以上显示为高收入。

selectSalaryID,case

when(InCome-OutCome)<'2000'then'低收入'

when(Income-OutCome)<'3000'then'中等收入'

when(InCome-OutCome)>='3000'then'高收入'

endas收入水平fromsalarywhereTime>'2012-11';

(7)查询每个员工当前月的实际收入。

selectEmployeeID,InCome-OutComeas实际收入fromsalarywhereTime>'2012-11';

(8)查询每个员工的年龄。

selectName,year(now())-year(birthday)as年龄fromemployees;

(9)找出其地址中不含有“中山”两字的员工的号码、部门号和地址。

selectEmployeeID,DepartmentID,AddressfromemployeeswhereAddressnotlike'中山%';

(10)找出员工号码中倒数第二个数字为0的员工的姓名、地址和学历。

selectName,Address,EducationfromemployeeswhereEmployeeIDlike'%0_';

(11)查询所有2012年11月收入在2000到3000之间的员工号码。

selectEmployeeIDfromsalarywhere(InCome-OutCome)between'2000'and'3000'andtime>'2012-11';

(12)查询所有工作时间不在3到6年之间的所有员工的员工号,员工名和工作时间。

selectEmployeeID,Name,WorkYearfromemployeeswhereWorkYearno

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

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1