数据库应用实验教程.docx

上传人:b****5 文档编号:6825782 上传时间:2023-01-10 格式:DOCX 页数:23 大小:236.73KB
下载 相关 举报
数据库应用实验教程.docx_第1页
第1页 / 共23页
数据库应用实验教程.docx_第2页
第2页 / 共23页
数据库应用实验教程.docx_第3页
第3页 / 共23页
数据库应用实验教程.docx_第4页
第4页 / 共23页
数据库应用实验教程.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

数据库应用实验教程.docx

《数据库应用实验教程.docx》由会员分享,可在线阅读,更多相关《数据库应用实验教程.docx(23页珍藏版)》请在冰豆网上搜索。

数据库应用实验教程.docx

数据库应用实验教程

实验1通过E-R图设计关系数据模型

【实验目的】

1)熟悉E-R模型的基本概念和图形的表示方法。

2)掌握将现实世界的事物转化成E-R图的基本技巧。

3)熟悉关系数据模型的基本概念。

4)掌握将E-R图转化成关系表的基本技巧。

【实验环境】

Sqlserver2005

【实验重点及难点】

1)根据需求确定实体、属性和联系。

2)将实体、属性和联系转化为E-R图。

3)将E-R图转化为表。

【实验内容】

(1)为体育部门建立的数据库中要存储运动队、运动员、运动项目以及运动员参加运动队和运动项目比赛情况,其中运动队、运动员、运动项目应包含如下信息:

●运动队:

队名、主教练。

队名唯一标识运动队

●运动员:

运动员编号、姓名、性别、年龄,运动员编号唯一标识运动员

●运动项目:

项目编号、项目名、所属类别、项目编号唯一标识项目

规定每个运动队有多名运动员,每名运动员只属于一个运动队;每名运动员可以参加多个项目,每个项目可以有多个运动员参加;系统记录每名运动员参加每个项目所得名次和成绩以及比赛日期。

请根据以上叙述,为体育部门建立E-R模型。

1)确定运动队实体、运动员实体、运动项目实体的属性和码。

2)确定实体之间的联系,给联系命名并指出联系的类型。

3)确定联系本身的属性。

4)画出运动队、运动员、运动项目关系的E-R图。

5)将E-R图转化为表,写出表的关系模式并标明各自的主键或外键。

实验2确定表中的关键字

【实验目的】

1)正确理解候选键、主键、组合键、外键的基本概念。

2)能够正确判断给定表中各种类型的键。

3)在设计数据库时能正确指定各种类型的键,知道如何实施数据的完整性。

【实验环境】

Sqlserver2005

【实验重点及难点】

1)复习候选键、主键、外键、组合键以及数据完整性的基本概念。

2)在给出的部门表和员工表中能正确标识出各种类型的键。

【实验内容】

1)写出候选键、主键、组合键、外键、实体完整性、域完整性、参照完整性的定义。

2)已知部门表和员工表如下所示:

部门表

部门代码

部门名

负责人

地点

0001

生产部

李华江

重庆荣昌县

0002

销售部

张丽

重庆渝中区

0003

市场部

王欣

重庆江北区

员工表

员工代码

姓名

家庭住址

联系电话

邮政编码

部门代码

王华

重庆

0001

李想

成都

0003

张丽

上海

0002

李江华

重庆

0001

3)确定部门表和员工表中的候选键,并陈述理由。

4)在候选键中确定部门表和员工表的主键。

5)确定部门表和员工表中的共有属性。

6)指出哪个表中的哪个属性时外键。

7)确定哪个表是主表,哪个表是从表。

8)回答问题:

部门表和员工表是如何通过关键字实施数据完整性的?

 

实验3服务器的启动、暂停和停止

【实验目的】

1)熟悉SQLServer2005配置管理器。

2)掌握服务器的启动方法。

3)掌握服务器的暂停方法。

4)掌握服务器的停止方法。

【实验环境】

Sqlserver2005

【实验重点及难点】

利用SQLServer配置管理器实现服务器的启动、暂停和停止。

【实验内容】

实训1服务器管理

启动,暂停和停止服务的方法很多,这里主要介绍SQLServer配置管理器完成这些操作,其操作步骤如下:

1)单击“开始”---“MicrosoftSQLServer2005”-----“配置工具”,选择“SQLServerConfigurationManager”,打开SQLSetver配置管理器,如图2-52所示。

单击“SQLServer2005服务”选项,在右边的对话框里可以看到本地所有的SQLServer服务,包括不同实例的服务,如图2-53所示。

2)如果要启动、停止、暂停SQLServer服务的话,鼠标指向服务名称,单击右键,在弹出的快捷键菜单里选择“启动”、“停止”、“暂停”即可。

实训2服务器注册

服务器注册主要为注册本地或者远程SQLServer服务器。

打开SQLServer2005下ManagementStudio,进行服务器注册。

注册步骤如下:

图2-52SQLServer配置服务管理器

(一)

图2-53SQLServer配置管理器

(二)

1)在视图菜单中单击“已注册的服务器”菜单选项显示出已注册的服务器,如图2-54所示。

图2-54已注册服务器

2)在右上角已注册的服务器中,选择注册类型进行相应服务类型注册。

3)在选定的服务类型的树型架构的根部单击鼠标右键,选择“新建”菜单下面的“服务器组”进行组的建立,如图2-55所示。

图2-55选择服务器组菜单

4)输入服务器组名称,单击保存即可,如图2-56所示。

图2-56新建服务器组

5)在新建的服务器组下面注册服务器,在新建服务器节点处单击鼠标右键,弹出菜单,选择新建选项下面的服务器注册选项,进行服务器注册,如图2-57所示。

填写服务器名称,选择相应的认证方式,输入用户名及密码,完成注册。

图2-57新建服务器注册

 

实验4创建并管理数据库

【实验目的】

1)熟悉SQLServerManagementStudio窗口。

2)掌握创建数据库、数据表的方法。

3)掌握数据输入和修改的操作

【实验环境】

Sqlserver2005

【实验内容】

1)打开“SQLServerManagementStudio”窗口,在“对象资源管理器”中展开服务器,鼠标右键单击“数据库”节点,单击“新建数据库”命令,会出现“新建数据库”对话框。

2)在对话框的“数据库名称”框内输入数据库名“XSCJ”后,单击“确定”按钮即可创建默认大小的数据库。

3)在xscj数据库中分别创建学生情况表xsqk,课程表kc,学生与课程表xs_kc,并表结构分别如下所示:

●学生情况表xsqk:

列名

数据类型

长度

属性

约束

学号

Char

6

是否允许为空置

默认值

标识符

主键

姓名

Char

8

唯一

性别

Bit

1

1

0或1

出生日期

Smalldatetime

4

所在系

Char

10

专业名

Char

10

联系电话

Char

11

6为数字

总学分

Tinyint

1

0~200

备注

Text

30

●课程表kc

列名

数据类型

长度

属性

约束

是否允许为空值

默认值

标识列

序号

Int

4

初始值增量为1

课程号

Char

3

主键

课程名

Char

20

授课教师

Char

8

开课学期

Tinyint

1

1

只能为1~6

学时

Tinyint

1

学分

Tinyint

1

●学生与课程表xs_kc

列名

数据类型

长度

属性

约束

是否允许为空

默认值

学号

Char

6

外键,参照XSQK表

组合为主键

课程号

Char

3

外键,参照cK表

成绩

Tinyint

1

0~100

学分

Tinyint

1

4)分别向XSQK,KCXS_KC表中输入数据,其内容由用户自定义

以下实验内容选作:

1)打开“SQLserverManagementStudio”窗口,单击在’标准”工具栏中“新建查询”按钮,会出现SQL编辑器界面

2)在“SQL编辑器”工具栏中,单击“可用数据库”右边的下拉按钮,将当前数据库切换成”XSCJ”库

3)在查询窗口中,输入如下的命令

CREATETABLEXSQK

(学号CHAR(6)NOTNULL,

姓名CHAR(8)NOTNULL,

性别BITNOTNULLDEFAULT1,

生日SMALLdATETIMENOTNULL,

专业CHAR(10)NOTNULL,

所在系CHAR(10)NOTNULL,

联系电话CHAR(11),

总学分TINYINT,

备注TEXT,

CONSTRAINTPK_XSQK_XHPRIMARyKEY(学号),

CONSTRAINTUQ_XSQK_DHUNIQUE(姓名),

CONSTRAINTCK_XSQK_XBCHECK(姓名=1OR姓名=0),

CONSTRAINTCK_XSQK_DHCHECK(联系电话LIKE'[1-9][1-9][1-9][1-9][1-9][1-9]'),

CONSTRAINTCK_XSQK_ZXFCHECK(总学分<=0AND总学分<=200))

GO

CREATETABLEKC

(序号INT,

课程号CHAR(3)NOTNULLPRIMARYKEY(课程号),

课程名CHAR(20)NOTNULL,

授课教师CHAR(8),

开课学期TINYINTNOTNULLDEFAULT1,

学时TINYINTNOTNULL,

学分TINYINT,

CONSTRAINTCK_KC_XQCHECK(开课学期>=1AND开课学期<=6))

GO

CREATETABLEXS_KE

(学号CHAR(6)NOTNULLREFERENCESXSQK(学号),

课程号CHAR(3)NOTNULL,

成绩TINYINTCHECK(成绩>=0AND成绩<=100),

学分TINYINT,

PRIMARYKEY(学号,课程号),

FOREIGNKEY(课程号)REFERENCESKc(课程号))

4)在“SQL编辑器’工具栏中,单击”执行上述SQL命令。

创建成功后,在结果窗口会出现成功提示。

5)在“对象资源管理器“中展开数据库“XSCJ”鼠标右键单击“表”节点,在弹出的快捷菜单中单击”刷新“命令,可看到创建好的3张表。

6)将创建好的三张表的表结构截图到实验报告中

实验5规范化数据

【实验目的】

1)了解函数(数据)依赖的基本概念。

2)能正确判断某一关系属于第几范式。

3)掌握规范化数据的方法。

【实验环境】

Sqlserver2005

【实验重点及难点】

1)复习函数(数据)依赖、数据规范化、范式的基本概念以及各级范式的判别标准。

2)判断给定的表满足哪级别范式的条件。

3)将给定的表转换成特定等级的范式条件的表。

【实验内容】

1)写出函数(数据)依赖、数据规范化、范式的定义以及各级范式的判别标准。

2)项目表1,判断是否满足第一范式的条件并说明理由。

项目表1

项目代码

职员代码

部门

累计工作时间

P27

P51

P20

E101

系统集成部

90

101

60

P27

P22

E305

销售部

109

98

P51

P27

E508

行政办公室

NULL

72

3)项目表2,判断是否满足第二范式的条件并说明理由。

项目表2

项目代码

职员代码

部门

累计工作时间

P27

E101

系统集成部

90

P51

E101

系统集成部

101

P20

E101

系统集成部

60

P27

E305

销售部

109

P22

E305

销售部

98

P51

E508

行政办公室

NULL

P27

E508

行政办公室

72

4)职员表,判断其是否满足第三范式的条件并说明理由。

职员表

职员代码

部门

部门负责人代码

E101

系统集成部

E901

E305

财务部

E309

E402

销售部

E909

E508

行政办公室

E908

E607

财务部

E909

E608

财务部

E909

5)项目表3,判断其是否满足BCNF的条件并说明理由。

项目表3

项目代码

职员代码

职员姓名

累计工作时间

P2

E1

李华玉

48

P5

E2

陈家伟

100

P6

E3

张勤

15

P3

E4

谢成全

250

P5

E4

谢成全

75

P5

E1

李华玉

40

6)将项目表1转换成满足第一范式条件的表。

7)将项目表2转换成满足第二范式条件的表。

8)将职员表转换成满足第三范式条件的表。

9)将项目表3转换成满足BCNF条件的表。

10)回答问题:

规范化数据带来的不利影响是什么?

实验6用T-SQL创建数据库表

【实验目的】

4)熟悉SQLServerManagementStudio窗口。

5)掌握创建数据库、数据表的方法。

6)掌握数据输入和修改的操作

【实验环境】

Sqlserver2005

【实验内容】

1)打开“SQLServerManagementStudio”窗口,在“对象资源管理器”中展开服务器,鼠标右键单击“数据库”节点,单击“新建数据库”命令,会出现“新建数据库”对话框。

2)在对话框的“数据库名称”框内输入数据库名“XSCJ”后,单击“确定”按钮即可创建默认大小的数据库。

3)打开“SQLserverManagementStudio”窗口,单击在’标准”工具栏中“新建查询”按钮,会出现SQL编辑器界面

4)在“SQL编辑器”工具栏中,单击“可用数据库”右边的下拉按钮,将当前数据库切换成”XSCJ”库或者使用命令USEXSQK

5)在查询窗口中,输入如下的命令

CREATETABLEXSQK

(学号CHAR(6)NOTNULL,

姓名CHAR(8)NOTNULL,

性别BITNOTNULLDEFAULT1,

生日SMALLdATETIMENOTNULL,

专业CHAR(10)NOTNULL,

所在系CHAR(10)NOTNULL,

联系电话CHAR(11),

总学分TINYINT,

备注TEXT,

CONSTRAINTPK_XSQK_XHPRIMARyKEY(学号),

CONSTRAINTUQ_XSQK_DHUNIQUE(姓名),

CONSTRAINTCK_XSQK_XBCHECK(姓名=1OR姓名=0),

CONSTRAINTCK_XSQK_DHCHECK(联系电话LIKE'[1-9][1-9][1-9][1-9][1-9][1-9]'),

CONSTRAINTCK_XSQK_ZXFCHECK(总学分<=0AND总学分<=200))

GO

CREATETABLEKC

(序号INT,

课程号CHAR(3)NOTNULLPRIMARYKEY(课程号),

课程名CHAR(20)NOTNULL,

授课教师CHAR(8),

开课学期TINYINTNOTNULLDEFAULT1,

学时TINYINTNOTNULL,

学分TINYINT,

CONSTRAINTCK_KC_XQCHECK(开课学期>=1AND开课学期<=6))

GO

CREATETABLEXS_KE

(学号CHAR(6)NOTNULLREFERENCESXSQK(学号),

课程号CHAR(3)NOTNULL,

成绩TINYINTCHECK(成绩>=0AND成绩<=100),

学分TINYINT,

PRIMARYKEY(学号,课程号),

FOREIGNKEY(课程号)REFERENCESKc(课程号))

6)在“SQL编辑器’工具栏中,单击”执行上述SQL命令。

创建成功后,在结果窗口会出现成功提示。

7)在“对象资源管理器“中展开数据库“XSCJ”鼠标右键单击“表”节点,在弹出的快捷菜单中单击”刷新“命令,可看到创建好的3张表。

实验7使用Select语句查询数据

(一)——简单查询

【实验目的】

掌握SELECT语句的使用和简单查询方法。

【实验环境】

Sqlserver2005

【实验重点及难点】

1)启动SQLServer2005查询环境。

2)涉及单表的简单查询。

【实验内容】

1)打开“SQLServerManagementStudio”窗口。

2)单击“标准”工具栏的“新建查询”按钮,打开“查询编辑器”窗口

3)在窗口中输入以下SQL查询命令并执行:

a.在KC表中,查询第2学期开课的课程、授课教师

select课程名,授课教师,开课学期

fromkc

where开课学期=2

b.在XSQK表中,查询女同学的姓名和电话号码

select姓名,性别,联系电话

fromxsqk

where性别=0

c.在XS_KC表中,查询成绩在80分以上的学号、课程号和成绩

select学号,课程号,成绩

fromxs_kc

where成绩>=80

d.在XS_KC表中,查询在80以上和不及格学生的信息

select学号,课程号,成绩

fromxs_kc

where成绩>=80or成绩<60

e.在XSQK表中,查询不在1980年7、8、9月出生的学生信息

select学号,姓名,出生日期

fromxsqk

where出生日期notbetween‘1980-07-07’and‘1980-09-30’

f.在XSQK表中,擦汗寻陈姓且单名的信息

select*

fromxsqk

where姓名like‘陈_’

g.在XSQK表中,查询学号中含有1的记录信息

select*

fromxsqk

where学号like‘%1%’

h.在XSQK表中,查询电话号码第7位为4和6的记录信息

select*

fromxsqk

where联系电话like‘______[46]_’

i.在KC表中,查询第一、三、五学期开设的课程信息

select*

fromkc

where开课学期in(1,3,5)

j.查询XSQK表,输出学号、姓名、出生日期、并使查询结构按出生日期升序排列

select学号,姓名,出生日期

fromxsqk

orderby出生日期

 

实验8使用Select语句查询数据

(二)——汇总查询

【实验目的】

掌握数据汇总查询及其相关子句的使用。

【实验环境】

Sqlserver2005

【实验重点及难点】

1)启动SQLServer2005查询环境。

2)涉及单表的汇总查询。

【实验内容】

1)打开“SQLServerManagementStudio”窗口。

2)单击“标准”工具栏的“新建查询”按钮,打开“查询编辑器”窗口

3)在窗口中输入以下SQL查询命令并执行:

a.在KC表中,统计每学期的总分数

select开课学期,sum(学分)as各学期的学分合计

fromkc

groupby开课学期

b.在XS_KC表中统计每个学生的选修课程的门数

select学号,count(*)as每个学生选修的课程门数

fromxs_kc

groupby学号

c.统计KC表中的总学分,并显示明细信息

select课程名称,开课学期,学分

fromkc

computesum(学分)

d.按开课学期统计KC表中各期的学分,并显示明细信息

select课程名称,开课学期,学分

fromkc

orderby2

computesum(学分)by开课学期

e.将XS_KC表中的数据记录按学号分类汇总,输出学号和平均分

select学号,avg(成绩)as学生的平均分

fromxs_kc

groupby学号

f.查询平均分大于70且小于80的学生学号和平均分

select学号,avg(成绩)as学生的平均分

fromxs_kc

groupby学号

havingavg(成绩)between70and80

g.查询XS_KC表,输出学号、课程号、成绩,并使查询结果首先按照课程号的升序排列,当课程号相同时再按照成绩降序排列,并将查询结果保存到新表TEMP_KC中

select学号,课程号,成绩

intotemp_kc

fromxs_kc

orderby课程号,成绩desc

h.查询选修了“101”课程的学生的最高分和最低分

selectmax(成绩)as101课程的最高分,min(成绩)as101课程的最低分

fromxs_kc

where课程号=’101’

i.统计每个学期所开设的课程门数

select开课学期,count(*)as每学期开设的课程门数

fromkc

groupby开课学期

j.查询各专业的学生人数

select专业名,count(专业名)as各专业人数

fromxsqk

groupby专业名

实验9使用Select语句查询数据(三)——连接查询和子查询

【实验目的】

1)掌握内连接的查询方法。

2)了解子查询的查询方法。

【实验环境】

Sqlserver2005

【实验重点及难点】

1)启动SQLServer2005查询环境。

2)涉及多表的复杂查询。

【实验内容】

1)打开“SQLServerManagementStudio”窗口。

2)单击“标准”工具栏的“新建查询”按钮,打开“查询编辑器”窗口

3)在窗口中输入以下SQL查询命令并执行:

a.查询不及格学生的学号、课程名、授课教师、开课学期的信息

select学号,xs_kc.课程号,授课教师,开课学期,成绩

fromkc,xs_kc

wherekc.学号=xs_kc.学号and成绩<60

b.按学号分组汇总总分高于100的学生记录,并按总分的降序排列

select学号,sum(成绩)as各学生的总分

fromxs_kc

groupby学号

havingsum(成绩)>=100

orderbysum(成绩)desc

c.使用子查询求恰好有两门课程不及格的学生信息

select学号,姓名

fromxsqk

where(sel

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

当前位置:首页 > 法律文书 > 调解书

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

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