《关系数据库与SQL Server 》实训指导书.docx
- 文档编号:4284488
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:38
- 大小:1.47MB
《关系数据库与SQL Server 》实训指导书.docx
《《关系数据库与SQL Server 》实训指导书.docx》由会员分享,可在线阅读,更多相关《《关系数据库与SQL Server 》实训指导书.docx(38页珍藏版)》请在冰豆网上搜索。
《关系数据库与SQLServer》实训指导书
《关系数据库与SQLServer2000》实训指导书
课程代码:
适用专业:
总学时数:
一、教学任务和目的
《SQLServer2000关系数据库》是计算机类专业重要的专业课程。
它在电子商务、数据仓库和数据库解决方案中应用广泛。
它可为企业的数据库管理提供强大的支持,对数据库中的数据提供有效的管理,并能实现数据完整性和数据的安全。
是目前数据库管理的应用最广泛的工具之一。
通过该课程的学习,要求学生掌握SQLServer 2000基础知识、数据库的基本操作和管理,结合上机实践培养学生数据库管理与应用的能力,熟练掌握SQLServer 2000的环境配置。
二、教学基本要求
了解和使用SQLServer2000的开发环境和安装;
掌握SQLServer2000常用数据类型、运算符与表达式;
掌握数据库、表的创建和使用;
掌握查询、视图、索引的创建和应用;
掌握存储过程、触发器、批、事务建立和应用;
掌握SQLServer2000的管理。
三、教学内容
实训一用E-R图设计数据库(1学时)
1.实训目的与要求
1)熟悉E-R模型的基本概念和图形的表示方法。
2)掌握将现实世界的事物转化成E-R图的基本技巧。
3)熟悉关系数据模型的基本概念。
4)掌握将E-R图转化成关系表的基本技巧。
2.实训内容
1)根据需求确定实体、属性和联系。
2)将实体、属性和联系转化为E-R图。
3)将E-R图转化为表。
3.实训步骤
1)设计能够表示出班级与学生关系的数据库。
确定班级实体和学生实体的属性。
确定班级和学生之间的联系,给联系命名并指出联系的类型。
确定联系本身的属性。
画出班级与学生关系的E-R图。
将E-R图转化为表,写出表的关系模式并表明各自的主码或外码。
2)设计能够表示出顾客与商品关系的数据库。
确定顾客实体和商品实体的属性。
确定顾客和商品之间的联系,给联系命名并指出联系的类型。
确定联系本身的属性。
画出顾客与商品关系的E-R图。
将E-R图转化为表,写出表的关系模式并表明各自的主码或外码。
3)设计能够表示出学校与校长关系的数据库。
确定学校实体和校长实体的属性。
确定学校和校长之间的联系,给联系命名并指出联系的类型。
确定联系本身的属性。
画出学校和校长关系的E-R图。
将E-R图转化为表,写出表的关系模式并表明各自的主码或外码。
4)设计能够表示出房地产交易中客户、业务员和合同三者之间关系的数据库。
确定客户实体、业务员实体和合同实体的属性。
确定客户、业务员和合同三者之间的联系,给联系命名并指出联系的类型。
确定联系本身的属性。
画出客户、业务员和合同三者关系的E-R图。
将E-R图转化为表,写出表的关系模式并表明各自的主码或外码。
实训二确定表中的关键字与规范化(1学时)
1.实训目的与要求
1)正确理解候选关键字、主关键字、组合关键字、外关键字的基本概念。
2)能够正确判断给顶的表中各种类型的关键字。
3)在设计数据库时能正确地指定各种类型的关键字,知道如何实施数据完整性。
4)掌握规范化数据的方法。
2.实训内容
1)复习候选关键字、主关键字、组合关键字、外关键字以及数据完整性的基本概念。
2)在给出的部门表和员工表中能正确标示出各种的关键字。
3)判断给定表属于第几范式。
3.实训步骤
1)写出候选关键字、主关键字、组合关键字、外关键字、数据完整性、域完整性、参照完整性的定义。
2)已知部门表和员工表如下。
部门表
部门代码
部门名
负责人
地点
0001
生产部
李将华
重庆荣县
0002
销售部
张丽
重庆中区
0003
市场部
王欣
重庆北区
员工表
员工代码
姓名
家庭地址
部门代码
201
王华
重庆
0001
202
李想
成都
0003
203
李将华
伤害
0002
3)确定部门表和员工表的候选关键字、并陈述理由。
4)选择部门表和员工表的主关键字。
5)在部门表和员工表的结构中标注主关键字。
6)在员工表中确定可能的组合关键字,并陈述理由。
7)确定在部门表和员工表中共有的属性。
8)指出哪个表中的属性是外关键字。
9)确定哪个表是主表,哪个表是从表。
10)部门表和员工表是如何通过关键字实施数据完整性的。
11)项目表1,判断其是否满足第一范示的条件,并说明理由。
项目表1
项目代码
职员代码
部门
累计工作时间
P27
P51
P20
E101
系统集成部
90
101
60
P27
P22
E305
销售部
109
98
P51
P27
E508
行政办公室
NULL
72
12)有项目表2,判断其是否满足第二范示的条件,并说明理由。
项目表2
项目代码
职员代码
部门
累计工作时间
P27
E101
系统集成部
90
P27
E305
财务部
10
P51
E508
行政办公室
NULL
P51
E101
系统集成部
101
P20
E101
系统集成部
60
P27
E508
行政办公室
72
13)有职员表,判断其是否满足第三范示的条件,并说明理由。
职员表
职员代码
部门
部门负责人代码
E101
系统集成部
E901
E305
财务部
E909
E402
销售部
E909
E508
行政办公室
E908
E607
财务部
E909
E608
财务部
E909
实训三安装SQLServer2000(2学时)
1.实训目的与要求
1)熟悉SQLServer2000的体系结构与运行环境。
2)了解SQLServer2000安装的软硬件要求。
3)掌握SQLServer2000的安装过程。
2.实训内容
1)准备好SQLServer2000的安装盘。
2)成功安装SQLServer2000。
3.实训步骤
1)运行CD-ROM中的AUTORUN。
EXE程序,出现安装的第一个窗口。
2)选择“安装数据库服务器”选项。
3)单击“下一步”按扭。
4)继续单击“下一步”按扭。
5)继续单击“下一步”按扭。
6)在用户信息窗口中输入完毕后,单击“下一步”按扭,出现“软件许可协议“窗口。
7)单击“是”按扭。
8)选择“服务器和客户端工具”选项。
9)单击“下一步”按扭。
10)单击“下一步”按扭。
11)选择“身份验证模式”单击“下一步”按扭。
12)等待完成。
实训四注册服务器(2学时)
1.实训目的与要求
1)熟悉SQLServer2000的企业管理器。
2)了解服务器配置技术的概念。
3)掌握注册服务器的过程。
2.实训内容
1)启动SQLServer2000企业管理器。
2)创建服务器组。
3)注册服务器。
3.实训步骤
1)创建服务器组。
在SQLServer企业管理器窗口左边的树状结构中,右击树根MicrosoftSQLServers,则弹出一个快捷菜单,如下图所示单击“新建SQLServer组”,根据提示输入相应的内容。
确定后,建立好组
该操作完成之后,可以在SQLServer企业管理器窗口中看到新创建的服务器组SQLWORK。
2)注册服务器。
右击服务器组,在快捷菜单中选择“新建SQLServer注册”,出现欢迎使用注册的图,单击“下一步”,接着出现下图,然后根据提示输入相应的内容。
单击下一步:
单击下一步:
单击下一步:
单击下一步:
实训五SQL语言的应用(2学时)
1.实训目的与要求
1)熟悉SQL语言的基本知识。
2)掌握常用的SQL语言编程。
3)掌握几种结构的应用。
2.实训内容
1)启动SQLServer2000企业管理器。
2)打开查询分析器。
3)用IF….ELSE语句和IFEXISTS语句实现编程。
3.实训步骤
1)启动SQLServer2000企业管理器,具体如图所示:
2)打开查询分析器。
打开工具菜单,单击SQL查询分析器,如图所示:
3)用IF….ELSE语句和IFEXISTS语句实现编程。
如果“数据库原理课程”的平均成绩高于75分,则显示“平均成绩高于75分”。
检查学生的平均成绩,若>75,将返回状态代码1,将返回状态代码2。
实训六创建数据库和表(4学时)
1.实训目的与要求
1)熟悉SQLServer2000的企业管理器环境。
2)掌握创建数据库和表的操作。
3)掌握数据输入和修改的操作。
2.实训内容
1)启动SQLServer2000企业管理器环境。
2)创建XSCJ数据库。
3)在XSCJ数据库中创建学生情况表XSQK
4)在XSQK表中输入数据。
3.实训步骤
1)找到SQLServer2000程序,打开企业管理器。
选择“数据库”选项。
2)选择“操作”菜单中的“新建数据库”命令,打开数据库属性对话框。
并在名称框中输入XSCJ。
3)单击“确定”按扭,完成数据库的创建。
4)打开刚才建立的数据库XSCJ,右击。
5)选择“新建”子菜单中的“表命令,打开SQLServer的表编辑窗口。
6)根据表结构创建相应的表。
7)点击工具栏的保存按扭。
8)打开“表”。
9)选择“操作”菜单中的“返回所有行”。
10)输入表的内容,输入完毕,关闭数据记录窗口。
完成XSQK、KC、XS_KC表。
11)建立表之间的关系。
XSQK与XS_KC表的关系,KC与XS_KC表的关系。
完成习题1、2小题。
实训七查询数据库(4学时)
1.实训目的与要求
1)熟悉SQLServer2000的查询分析器。
2)掌握基本的SELECT查询及相关子句的使用。
3)掌握复杂的SELECT查询。
如多表查询、子查询、连接和联合查询。
2.实训内容
1)启动SQLServer2000查询分析器。
2)涉及单表的简单查询。
3)涉及多表的复杂查询。
3.实训步骤
1)从“开始”菜单中的SQLServer程序中启动SQLServer查询分析器,打开“SQL查询分析器”窗口。
2)在“SQL查询分析器”窗口右上角的下拉框中选择要操作的数据库,如“XSCJ”数据库。
3)在KC表中查询学分低于3的课程信息,并按课程号升序排列。
SELECT*
FROMKC
WHERE学分<3
ORDERBY课程号
4)在XS_KC表按学号分组汇总学生的平均分,并按平均分的降序排列。
SELECT学号,平均分=(成绩)
FROMXS_KC
GROUPBY学号
ORDERBY平均分DESC
5)用WITHROLLUP选项分组汇总各系各专业的人数。
SELECT所在系,专业名,COUNT(专业名)AS专业人数
FROMXSQK
GROUPBY所在系,专业名
WITHROLLUP
6)按学号对不及格的成绩记录进行明细汇总。
SELECT学号,课程号,成绩
FROMXS_KC
WHERE成绩<60
GROUPBY学号
COMPUTECOUNT(成绩)
BY学号
7)用比较运算符引入子查询,求107号课程不及格的学生信息。
SELECT学号,姓名,联系电话
FROMXSQK
WHERE学号=ANY
(SELECT学号
FROMXS_KC
WHERE 课程号=’107’AND成绩<60)
8)完成习题2、3、4、5、6、7。
实训八创建和使用视图(4学时)
1.实训目的与要求
1)掌握视图的创建、修改和删除。
2)掌握使用视图来访问数据库。
2.实训内容
1)启动SQLServer2000企业管理器。
2)创建一个简单的视图,查询101号课程不及格的学生信息。
3)修改简单的视图,查询107号课程成绩介于70~90的学生信息。
4)使用视图访问数据。
5)删除所创建的视图。
3.实训步骤
1)从“开始”菜单中的SQLServer程序中启动SQLServer企业管理器。
2)在窗口左边的目录树中选择要创建视图的数据库文件,如XSCJ文件夹,并在其对象窗口中选择“视图”。
3)选择“操作”菜单中的“新建视图”命令,打开SQLServer的设计视图窗口。
4)在“数据源关系图窗口”中单涤鼠标右键,在弹出的菜单中选择“添加表”命令,打开添加表窗口。
5)选择要添加的表,然后关闭。
6)利用查询分析器建立视图。
打开查询分析器,建立包含班委成员基本信息的视图。
查看结果:
7)然后根据题目要求分别设计视图。
完成作业第8小题。
实训九创建和使用索引(2学时)
1.实训目的与要求
1)熟悉SQLServer2000索引管理器。
2)掌握索引的创建和使用。
3)掌握对所以的优化操作。
2.实训内容
1)启动SQLServer2000企业管理器。
2)使用索引管理器为XS_KC表创建索引IX_XS_KC。
3)使用强制索引查询数据。
4)使用索引优化向导优化索引。
3.实训步骤
1)找到SQLServer2000程序,打开企业管理器。
选择“数据库”选项。
2)找到数据库对象中的表XS_KC。
3)使用索引管理器为XS_KC表创建IX_学号。
右键单击XS_KC,选择设计表,然后选择管理关系,找到索引/键。
如图,单击新建,选择好列名。
设置好其他选项。
4)强制使用刚才创建的索引查询数据。
打开查询分析器,然后在查询分析器中输入下面的程序。
Select学号,课程号,成绩
Fromxs_kc
With(index(ix_学号))
Where成绩>=60
5)完成习题1、2。
6)使用索引优化向导优化索引。
实训十创建并使用约束和默认值对象(2学时)
1.实训目的与要求
1)掌握约束的定义和删除操作。
2)掌握默认值对象的定义和删除操作。
3)掌握完整性的实现方法。
2.实训内容
1)启动SQLServer2000查询分析器。
2)使用命令方式删除XSQK表中性别列的约束,然后再创建。
3)启动SQLServer2000企业管理器。
4)使用界面方式创建默认值对象,并绑定到列,然后再删除。
5)为两表建立关联,实现参照完整性。
3.实训步骤
1)删除并重建XSQK表中性别列约束。
ALTERTABLEXSQK
DROPCONSTRAINTCK_XSQK_性别
2)定义新的默认值对象。
CREATEDEFALUTXX
AS‘2003-1-10’
3)将默认值对象绑定到XSQK表的出生日期列。
SP_BINDEFAULTXX,’XSQK.出生日期’
4)使用默认值对象为新插入行的出生日期列设值。
5)取消绑定并删除默认值对象。
SP_UNBINDEFAULT’XSQK.出生日期’
6)用菜单方式实现。
单击确定,然后进行帮定。
右键单击默认值对象DFO_出生日期,选择属性,选择帮定列。
选择好表及表的字段,单击添加,然后完成。
7)实现域完整性。
建立一个名称为“RO_联系电话”的规则,把该规则设置成电话号码格式,并把该规则绑定到XSQK.联系电话字段中。
单击帮定列,如图:
确定,完成。
7)实现实体完整性。
选择KC表,对表进行设计,给字段“序号”添家一个标识列,种子值为1,递增量为1。
然后在表中输入数据,“序号”列自动递增1,表中的每一数据行都可以由标识列惟一标识,实现了实体完整性。
8)实现参照完整性。
选择表XS_KC,打开设计表,右击表,选择“属性“对话框,然后选择”关系“标签。
为XSQK表和XS_KC表建立基于学好列的关联。
保存刚刚建立的关系,打开XSQK表进行数据的输入,并检查XS_KC表的数据变化情况。
9)完成习题4、5、6、7。
实训十一实现存储过程(2学时)
1.实训目的与要求
1)掌握用户存储过程的创建操作。
2)掌握用户存储过程的执行。
3)掌握用户存储过程额删除操作。
2.实训内容
1)启动SQLServer2000查询分析器。
2)创建代输入参数的存储过程和嵌套调用的存储过程。
3)执行所创建的存储过程。
4)删除所有新创建的存储过程。
3.实训步骤
1)创建带参数的存储过程。
打开查询分析器,在里面创建一个带参数的存储过程,用于接受课程号,默认值为“101“,然后在XS_KC表中查询该课程成绩不及格的学生学号,接着在XSQK表中查找这些学生的基本信息。
createprocedureproc_xsqk
@课程号char(3)='101'
as
selectxsqk.学号,xsqk.姓名,xsqk.性别,xsqk..联系电话
fromxs_kc,_xsqk
wherexskc.课程号=@课程号ANDxs_kc.成绩<60ANDxsqk.学号=xs_kc.学号
2)创建带嵌套调用的存储过程。
我们创建一个带嵌套调用的存储过程,该存储过程也有一个输入参数,它用于接受授课教师姓名,默认值为“王颐“,然后调用创建好的存储过程,输出其所授课程的课程号,接着用此课程号来完成上一实训部分中所创建的存储过程的功能。
createprocedureproc_嵌套_授课教师
@授课教师char(8)
as
declare@课程号char(6)
executeproc_课程号
@授课教师,@课程号output
select学号,课程号,成绩
fromxs_kc
where课程号=@课程号
go
executeproc_嵌套_授课教师'王顾'
3)执行所创建的存储过程。
executeproc_xsqk
4)删除新创建的存储过程。
Dropproc_xsqk
5)完成习题1、2、3。
实训十二实现触发器(2学时)
1.实训目的与要求
1)掌握触发器的创建、修改和删除操作。
2)掌握触发器的触发执行。
3)掌握触发器与约束的不同。
2.实训内容
1)启动SQLServer2000查询分析器。
2)创建触发器。
3)触发执行触发器。
4)验证约束与触发器的不同作用
5)删除所有新创建的触发器。
3.实训步骤
1)创建触发器。
为xs_kc表创建一个基于UPDATE操作和DELETE操作的复合型触发器,当修改了该表的成绩信息或删除了成绩记录时,触发器被激活生效。
createtriggertri_update_delete_xs_kc
onxs_kc
forupdate,delete
as
ifupdate(成绩)
begin
selectinserted.学号,inserted.课程号,deleted.成绩as原成绩inserted.成绩as新成绩
fromdeleted,inserted
wheredeleted.学号=inserted.学号
end
elseifcolumns_updated()=0
begin
select被删除学号=deleted.学号,deleted.课程号,deleted.成绩as原成绩
fromdeleted
end
else
print’更新了非成绩列!
’
declare@所在系char(10)
2)触发触发器。
在命令窗口中输入以下语句,修改成绩列。
Updatexs_kc
Set成绩=成绩+5
Where课程号=’101’
在命令窗口输入以下语句,修改非成绩列。
Updatexs_kc
Set课程号=’113’
Where课程号=’113’
3)比较约束与触发器的不同作用期。
在查询命令窗口中输入并执行以下语句,为xs_kc表添加一个约束,使得成绩只能大于等于0且小于等于100。
Altertablexs_kc
Addconstraintck_成绩
Check(成绩>=0and成绩<=100)
在查询命令窗口中执行以下语句,查看执行结果。
Updatexs_kc
Set成绩=120
Where课程号=’108’
在查询命令窗口中执行以下语句,查看执行结果。
Updatexs_kc
Set成绩=90
Where课程号=’108’
4)删除触发器。
droptriggertri_update_delete_xs_kc
5)完成习题8、9。
实训十三实现事务和批(2学时)
1.实训目的与要求
1)了解事务的ACID属性。
2)掌握事务和批的工作原理。
3)熟悉事务处理与批处理的应用。
2.实训内容
1)事务处理与批处理的关系。
2)如何应用事务处理。
3)用条件判断结构来实现事务。
3.实训步骤
首先建立相应的数据库product,然后在数据库中建立相应的表:
库存表和订货表,并输入相应的记录。
(1)编写一个简单程序,由两个独立的语句组成的单个事务:
一个语句实现输入订单,另一个语句则清空库存里相应的数据。
(除非是输入了订单,否则库存不会发生改变)。
begintransaction
update库存表
set库存数量=库存数量-10
where商品编号='2'
insertinto订货表
(客户名称,商品编号,订货数量,联系电话,地址)
values
('王林','2',10,'85646821','陕西力天公司')
committransaction
(2)编写一个简单程序,由两个独立的语句组成的单个事务:
一个语句实现输入订单,另一个语句则清空库存里相应的数据。
(当服务器遇到rollback语句时,就会抛弃在事务处理中的所有变化。
把数据恢复到开始工作之前的状态)。
begintransaction
update库存表
set库存数量=库存数量-10
where商品编号='2'
insertinto订货表
(客户名称,商品编号,订货数量,联系电话,地址)
values
('王林','2',10,'85646821','陕西力天公司')
rollbacktransaction
(3)现在要在SQL中编写一个存储过程,该存储过程对4张表以上的相关数据进行删除,因此需要用到事务,如果删除成功就提交事务,如果不成功则回滚事务,请编写相关语句。
createprocsptest
as
begintransaction
deletetable1
if@@error<>0
gotoerr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系数据库与SQL Server 关系数据库与SQL Server 实训指导书 关系 数据库 SQL 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)