《2022年数据库应用实验教程 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库应用实验教程 .pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验 1 通过 E-R图设计关系数据模型【实验目的】1)熟悉 E-R 模型的基本概念和图形的表示方法。2)掌握将现实世界的事物转化成E-R 图的基本技巧。3)熟悉关系数据模型的基本概念。4)掌握将 E-R 图转化成关系表的基本技巧。【实验环境】Sql server 2005 【实验重点及难点】1)根据需求确定实体、属性和联系。2)将实体、属性和联系转化为E-R 图。3)将 E-R 图转化为表。【实验内容】(1) 为体育部门建立的数据库中要存储运动队、运动员、运动项目以及运动员参加运动队和运动项目比赛情况,其中运动队、 运动员、 运动项目应包含如下信息:运动队:队名、主教练。队名唯一标识运动队运
2、动员:运动员编号、姓名、性别、年龄,运动员编号唯一标识运动员运动项目:项目编号、项目名、所属类别、项目编号唯一标识项目规定每个运动队有多名运动员, 每名运动员只属于一个运动队; 每名运动员可以参加多个项目, 每个项目可以有多个运动员参加;系统记录每名运动员参加每个项目所得名次和成绩以及比赛日期。请根据以上叙述,为体育部门建立E-R 模型。1)确定运动队实体、运动员实体、运动项目实体的属性和码。2)确定实体之间的联系,给联系命名并指出联系的类型。3)确定联系本身的属性。4)画出运动队、运动员、运动项目关系的E-R 图。5)将 E-R 图转化为表,写出表的关系模式并标明各自的主键或外键。精选学习资
3、料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 19 页实验 2 确定表中的关键字【实验目的】1)正确理解候选键、主键、组合键、外键的基本概念。2)能够正确判断给定表中各种类型的键。3)在设计数据库时能正确指定各种类型的键,知道如何实施数据的完整性。【实验环境】Sql server 2005 【实验重点及难点】1)复习候选键、主键、外键、组合键以及数据完整性的基本概念。2)在给出的部门表和员工表中能正确标识出各种类型的键。【实验内容】1)写出候选键、主键、组合键、外键、实体完整性、域完整性、参照完整性的定义。2)已知部门表和员工表如下所示:部门表
4、部门代码部门名负责人地点0001 生产部李华江重庆荣昌县0002 销售部张丽重庆渝中区0003 市场部王欣重庆江北区员工表员工代码姓名家庭住址联系电话邮政编码部门代码王华重庆0001 李想成都0003 张丽上海0002 李江华重庆0001 3)确定部门表和员工表中的候选键,并陈述理由。4)在候选键中确定部门表和员工表的主键。5)确定部门表和员工表中的共有属性。6)指出哪个表中的哪个属性时外键。7)确定哪个表是主表,哪个表是从表。8)回答问题:部门表和员工表是如何通过关键字实施数据完整性的?精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共
5、19 页实验 3 服务器的启动、暂停和停止【实验目的】1) 熟悉 SQL Server 2005 配置管理器。2) 掌握服务器的启动方法。3) 掌握服务器的暂停方法。4) 掌握服务器的停止方法。【实验环境】Sql server 2005 【实验重点及难点】利用 SQL Server配置管理器实现服务器的启动、暂停和停止。【实验内容】实训 1 服务器管理启动,暂停和停止服务的方法很多,这里主要介绍SQL Server 配置管理器完成这些操作,其操作步骤如下:1)单击“开始”-“Microsoft SQL Server 2005”- “配置工具”, 选择“SQL Server Configurat
6、ion Manager” ,打开 SQL Setver配置管理器,如图2-52所示。单击“ SQL Server 2005服务”选项,在右边的对话框里可以看到本地所有的 SQL Server服务,包括不同实例的服务,如图2-53 所示。2)如果要启动、停止、暂停SQL Server服务的话,鼠标指向服务名称,单击右键,在弹出的快捷键菜单里选择“启动”、 “停止” 、 “暂停”即可。实训 2 服务器注册服务器注册主要为注册本地或者远程SQL Server 服务器。打开SQL Server 2005下 Management Studio ,进行服务器注册。注册步骤如下:图 2-52 SQL Ser
7、ver 配置服务管理器(一)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 19 页图 2-53 SQL Server 配置管理器(二)1)在视图菜单中单击 “已注册的服务器” 菜单选项显示出已注册的服务器,如图 2-54 所示。图 2-54 已注册服务器2)在右上角已注册的服务器中,选择注册类型进行相应服务类型注册。3)在选定的服务类型的树型架构的根部单击鼠标右键,选择“新建”菜单下面的“服务器组”进行组的建立,如图2-55 所示。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共
8、 19 页图 2-55 选择服务器组菜单4)输入服务器组名称,单击保存即可,如图2-56 所示。图 2-56 新建服务器组5)在新建的服务器组下面注册服务器,在新建服务器节点处单击鼠标右键,弹出菜单,选择新建选项下面的服务器注册选项,进行服务器注册,如图 2-57 所示。填写服务器名称, 选择相应的认证方式, 输入用户名及密码,完成注册。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 19 页图 2-57 新建服务器注册精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 19 页实验
9、 4 创建并管理数据库【实验目的】1)熟悉 SQL Server Management Studio 窗口。2)掌握创建数据库、数据表的方法。3)掌握数据输入和修改的操作【实验环境】Sql server 2005 【实验内容】1)打开“ SQL Server Management Studio ”窗口,在“对象资源管理器”中展开服务器,鼠标右键单击“数据库”节点,单击“新建数据库”命令,会出现“新建数据库”对话框。2)在对话框的“数据库名称”框内输入数据库名“XSCJ”后,单击“确定”按钮即可创建默认大小的数据库。3)在 xscj 数据库中分别创建学生情况表xsqk,课程表 kc,学生与课程表
10、 xs_kc,并表结构分别如下所示:学生情况表 xsqk:列名数据类型长度属性约束学号Char 6 是否允许为空置默认值标识符主键否无姓名Char 8 否无唯一性别Bit 1 否1 0 或 1 出生日期Smalldatetime 4 否无所在系Char 10 否无专业名Char 10 否无联系电话Char 11 是无6 为数字总学分Tinyint 1 是无0200 备注Text 30 是无课程表 kc 列名数据类型长度属性约束是否允许为空值默认值标识列序号Int 4 初 始 值增量为 1 课程号Char 3 否无主键课程名Char 20 否无授课教师Char 8 无开课学期Tinyint 1
11、否1 只能为 16 学时Tinyint 1 无精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 19 页学分Tinyint 1 无学生与课程表 xs_kc 列名数据类型长度属性约束是否允许为空默认值学号Char 6 否无外键,参照 XSQK表组合为主键课程号Char 3 否无外键,参照 cK 表成绩Tinyint 1 无0100 学分Tinyint 1 无4)分别向 XSQK, KC XS_KC 表中输入数据,其内容由用户自定义以下实验内容选作:1)打开“ SQL server Management Studio ” 窗口,单击在 标准”
12、工具栏中“新建查询”按钮,会出现SQL 编辑器界面2)在“ SQL 编辑器”工具栏中,单击“可用数据库”右边的下拉按钮,将当前数据库切换成 ” XSCJ” 库3)在查询窗口中,输入如下的命令CREATE TABLE XSQK (学号 CHAR(6) NOT NULL, 姓名 CHAR(8) NOT NULL, 性别 BIT NOT NULL DEFAULT 1, 生日 SMALLdATETIME NOT NULL, 专业 CHAR(10) NOT NULL, 所在系 CHAR(10) NOT NULL, 联系电话CHAR(11), 总学分 TINYINT, 备注 TEXT, CONSTRAIN
13、T PK_XSQK_XH PRIMARy KEY( 学号), CONSTRAINT UQ_XSQK_DH UNIQUE( 姓名), CONSTRAINT CK_XSQK_XB CHECK( 姓名=1 OR 姓名=0), CONSTRAINT CK_XSQK_DH CHECK(联系电话LIKE 1-91-91-91-91-91-9), CONSTRAINT CK_XSQK_ZXF CHECK( 总学分 =0 AND 总学分 =1 AND 开课学期 =0 AND 成绩 =100 ), 学分 TINYINT, PRIMARYKEY( 学号 , 课程号 ), FOREIGNKEY( 课程号 )REFE
14、RENCES Kc ( 课程号 )4)在“ SQL 编辑器 工具栏中,单击”执行上述SQL 命令。创建成功后,在结果窗口会出现成功提示。5)在“对象资源管理器“中展开数据库“XSCJ”鼠标右键单击“表”节点,在弹出的快捷菜单中单击”刷新“命令,可看到创建好的3 张表。6)将创建好的三张表的表结构截图到实验报告中实验 5 规范化数据【实验目的】1)了解函数(数据)依赖的基本概念。2)能正确判断某一关系属于第几范式。3)掌握规范化数据的方法。【实验环境】Sql server 2005 【实验重点及难点】1)复习函数(数据)依赖、数据规范化、范式的基本概念以及各级范式的判别标准。2)判断给定的表满足
15、哪级别范式的条件。3)将给定的表转换成特定等级的范式条件的表。【实验内容】1)写出函数(数据)依赖、数据规范化、范式的定义以及各级范式的判别标准。2)项目表 1,判断是否满足第一范式的条件并说明理由。项目表 1 项目代码职员代码部门累计工作时间P27 P51 P20 E101 系统集成部90 101 60 P27 P22 E305 销售部109 98 P51 P27 E508 行政办公室NULL 72 3)项目表 2,判断是否满足第二范式的条件并说明理由。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 19 页项目表 2 项目代码职员代
16、码部门累计工作时间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 项目代码职员代码职员姓名累
17、计工作时间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)回答问题:规范化数据带来的不利影响是什么?精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 19 页实验 6 用 T-SQL创建数据库表【实验目的】4)熟悉 SQL Server Managemen
18、t Studio 窗口。5)掌握创建数据库、数据表的方法。6)掌握数据输入和修改的操作【实验环境】Sql server 2005 【实验内容】1) 打开“SQL Server Management Studio ”窗口,在“对象资源管理器”中展开服务器,鼠标右键单击“数据库”节点,单击“新建数据库”命令,会出现“新建数据库”对话框。2) 在对话框的“数据库名称”框内输入数据库名“XSCJ”后,单击“确定”按钮即可创建默认大小的数据库。3) 打开“ SQL server Management Studio ” 窗口,单击在 标准”工具栏中“新建查询”按钮,会出现SQL 编辑器界面4) 在“SQL
19、 编辑器”工具栏中,单击“可用数据库”右边的下拉按钮,将当前数据库切换成 ” XSCJ” 库或者使用命令USE XSQK 5) 在查询窗口中,输入如下的命令CREATE TABLE XSQK (学号 CHAR(6) NOT NULL, 姓名 CHAR(8) NOT NULL, 性别 BIT NOT NULL DEFAULT 1, 生日 SMALLdATETIME NOT NULL, 专业 CHAR(10) NOT NULL, 所在系 CHAR(10) NOT NULL, 联系电话CHAR(11), 总学分 TINYINT, 备注 TEXT, CONSTRAINT PK_XSQK_XH PRIM
20、ARy KEY( 学号), CONSTRAINT UQ_XSQK_DH UNIQUE( 姓名), CONSTRAINT CK_XSQK_XB CHECK( 姓名=1 OR 姓名=0), CONSTRAINT CK_XSQK_DH CHECK(联系电话LIKE 1-91-91-91-91-91-9), CONSTRAINT CK_XSQK_ZXF CHECK( 总学分 =0 AND 总学分 =1 AND 开课学期 =0 AND 成绩 =80 d.在 XS_KC 表中,查询在 80以上和不及格学生的信息select 学号, 课程号 , 成绩from xs_kc where 成绩=80 or 成绩6
21、0 e.在 XSQK 表中,查询不在 1980年 7、8、9 月出生的学生信息select 学号, 姓名, 出生日期from xsqk where 出生日期not between 1980-07-07 and 1980-09-30f. 在 XSQK 表中,擦汗寻陈姓且单名的信息select * from xsqk where 姓名like 陈_g.在 XSQK 表中,查询学号中含有1 的记录信息select * from xsqk where 学号 like %1%h.在 XSQK 表中,查询电话号码第7 位为 4 和 6 的记录信息select * from xsqk where 联系电话l
22、ike _ _ _ _ _ _ 46 _精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 19 页i.在 KC 表中,查询第一、三、五学期开设的课程信息select * from kc where 开课学期in (1, 3, 5) j.查询 XSQK 表,输出学号、姓名、出生日期、并使查询结构按出生日期升序排列select 学号, 姓名, 出生日期from xsqk order by 出生日期精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 19 页实验 8 使用 Select
23、语句查询数据(二)汇总查询【实验目的】掌握数据汇总查询及其相关子句的使用。【实验环境】Sql server 2005 【实验重点及难点】1)启动 SQL Server 2005查询环境。2)涉及单表的汇总查询。【实验内容】1) 打开“ SQL Server Management Studio ”窗口。2) 单击“标准”工具栏的“新建查询”按钮,打开“查询编辑器”窗口3)在窗口中输入以下SQL 查询命令并执行:a.在 KC 表中,统计每学期的总分数select 开课学期 , sum(学分) as 各学期的学分合计from kc group by 开课学期b.在 XS_KC 表中统计每个学生的选修
24、课程的门数select 学号, count(*) as 每个学生选修的课程门数from xs_kc group by 学号c.统计 KC 表中的总学分,并显示明细信息select 课程名称 , 开课学期 , 学分from kc compute sum(学分) d.按开课学期统计KC 表中各期的学分,并显示明细信息select 课程名称 , 开课学期 , 学分from kc order by 2 compute sum(学分) by 开课学期e.将 XS_KC 表中的数据记录按学号分类汇总,输出学号和平均分select 学号, avg(成绩) as 学生的平均分from xs_kc group
25、by 学号f.查询平均分大于 70 且小于 80 的学生学号和平均分select 学号, avg(成绩) as 学生的平均分from xs_kc group by 学号having avg(成绩) between 70 and 80 g.查询 XS_KC 表,输出学号、课程号、成绩,并使查询结果首先按照课程号的升序排列,当课程号相同时再按照成绩降序排列,并将查询结果保存到新表TEMP_KC 中select 学号, 课程号 , 成绩into temp_kc from xs_kc 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 19 页o
26、rder by 课程号 , 成绩 desc h.查询选修了“ 101”课程的学生的最高分和最低分select max(成绩) as 101课程的最高分 , min(成绩) as 101课程的最低分from xs_kc where 课程号 =101i.统计每个学期所开设的课程门数select 开课学期 , count(*) as 每学期开设的课程门数from kc group by 开课学期j.查询各专业的学生人数select 专业名, count(专业名) as 各专业人数from xsqk group by 专业名精选学习资料 - - - - - - - - - 名师归纳总结 - - - -
27、 - - -第 16 页,共 19 页实验 9 使用 Select 语句查询数据(三)连接查询和子查询【实验目的】)掌握内连接的查询方法。)了解子查询的查询方法。【实验环境】Sql server 2005 【实验重点及难点】1)启动 SQL Server 2005查询环境。)涉及多表的复杂查询。【实验内容】1) 打开“ SQL Server Management Studio ”窗口。2) 单击“标准”工具栏的“新建查询”按钮,打开“查询编辑器”窗口3)在窗口中输入以下SQL 查询命令并执行 : a.查询不及格学生的学号、课程名、授课教师、开课学期的信息select 学号, xs_kc.课程号
28、 , 授课教师 , 开课学期 , 成绩from kc, xs_kc where kc.学号=xs_kc.学号 and 成绩=100 order by sum(成绩) desc c.使用子查询求恰好有两门课程不及格的学生信息select 学号, 姓名from xsqk where (select count(课程号 ) from xs_kc where xsqk.学号=xs_kc.学号 and 成绩=60 )=2 d.使用子查询查询每门课程的最高分的学生记录select * from xs_kc a where 成绩=(select max(成绩) from xs_kc b where a. 课
29、程号 =b.课程号 ) e.使用子查询查询每个学生的最低分的课程记录select * from xs_kc a where 成绩=(select min(成绩) from xs_kc b where a. 学号=b.学号) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 19 页实验 10 创建视图并通过视图操作表数据【实验目的】1)掌握视图的创建。2)掌握使用视图来插入、更新、删除表数据。【实验环境】Sql server 2005 【实验重点及难点】1)启动 SQL2005 查询编辑器。2)创建一个简单的视图,查询第3 学期及其以后
30、开课的课程信息。3)在视图中使用 INSERT 语句插入数据。4)在视图中使用 UPDATE 语句更新数据。5)在视图中使用 DELETE 语句删除数据。【实验内容】(1)创建视图1)打开“ SQL Server Management Studio ” 窗口。2)单击: “标准”工具栏上的“新建查询”按钮,打开“查询编辑器”窗口。#在窗口内直接输入以下语句,按要求创建视图。在 XSCJ 数据库中,基于 KC 表创建一个名为 ” v_开课信息 ” 的视图,要求该视图中包含列“课程号”、 “课程名”、 “开课学期”和“学时” 、并且限定视图中返回的行中只包括第 3 学期及以后开课的课程信息。USE
31、 XSCJ CREATE VIEW v_开课信息AS SELECT 课程号,课程名,开课学期,学时FROM KC WHERE 开课学期 =3 4)单击“SQL 编辑器”工具栏上的“分析”按钮,检查输入的T-SQL语句是否有语法错误。如果有语法错误,则进行修改。5)确保无语法错误后,在XSCJ 数据库中就会添加一个名为“v_开课信息”的视图,通过 SELECT 语句查看视图中的数据,如图所示(2)在视图中使用 INSERT 语句插入数据1)在“查询编辑器”串口内输入以下语句,在视图中插入一行数据。INSERT INTO v_开课信息VALUES( 022 , ASP ,4,80) 2)单击” S
32、QL 编辑器 ” 工具栏上的“执行”按钮。3)执行上述语句后,利用SELECT 语句查看视图中的数据,如图所示。(3)在视图中使用 UPDATE 语句更新数据1)在“查询编辑器”串口内输入以下语句,修改途中的数据。UPDATE v_开课信息SET 开课学期 =5,学时=80 WHERE 课程号 =0122)单击“ SQL 编辑器”工具栏上的“执行”按钮。3)执行上述语句后,视图中课程号为“012”的数据记录被修改了,基表中对应数据记录也被修改了。通过SELECT 语句查看视图和基表中的数据,结果如图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 19 页6-24 所示。(4)在视图中使用 DELETE 语句删除数据1)在“查询编辑器”窗口内输入以下语句,删除视图中的数据。DELETE FROM v_课程信息WHERE 课程号 =0222)单击“ SQL 编辑器”工具栏上的“执行”按钮。3)执行上述语句后,先前在视图中添加的数据行被删除。同时,在基表中该数据行也被删除。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 19 页