1、关系数据库与SQL Server 实训指导书关系数据库与SQL Server 2000实训指导书课程代码: 适用专业: 总学时数: 一、 教学任务和目的SQL Server2000关系数据库是计算机类专业重要的专业课程。它在电子商务、数据仓库和数据库解决方案中应用广泛。它可为企业的数据库管理提供强大的支持,对数据库中的数据提供有效的管理,并能实现数据完整性和数据的安全。是目前数据库管理的应用最广泛的工具之一。通过该课程的学习,要求学生掌握SQL Server2000基础知识、数据库的基本操作和管理,结合上机实践培养学生数据库管理与应用的能力,熟练掌握SQL Server2000的环境配置。二、
2、 教学基本要求了解和使用SQL Server2000的开发环境和安装;掌握SQL Server2000常用数据类型、运算符与表达式;掌握数据库、表的创建和使用;掌握查询、视图、索引的创建和应用;掌握存储过程、触发器、批、事务建立和应用;掌握SQL Server2000的管理。三、 教学内容实训一 用E-R图设计数据库(1学时) 1实训目的与要求1)熟悉E-R模型的基本概念和图形的表示方法。2)掌握将现实世界的事物转化成E-R图的基本技巧。3)熟悉关系数据模型的基本概念。4)掌握将E-R图转化成关系表的基本技巧。2实训内容1)根据需求确定实体、属性和联系。2)将实体、属性和联系转化为E-R图。3
3、)将E-R图转化为表。3实训步骤1)设计能够表示出班级与学生关系的数据库。确定班级实体和学生实体的属性。确定班级和学生之间的联系,给联系命名并指出联系的类型。确定联系本身的属性。画出班级与学生关系的E-R图。将E-R图转化为表,写出表的关系模式并表明各自的主码或外码。2)设计能够表示出顾客与商品关系的数据库。确定顾客实体和商品实体的属性。确定顾客和商品之间的联系,给联系命名并指出联系的类型。确定联系本身的属性。画出顾客与商品关系的E-R图。将E-R图转化为表,写出表的关系模式并表明各自的主码或外码。3)设计能够表示出学校与校长关系的数据库。确定学校实体和校长实体的属性。确定学校和校长之间的联系
4、,给联系命名并指出联系的类型。确定联系本身的属性。画出学校和校长关系的E-R图。将E-R图转化为表,写出表的关系模式并表明各自的主码或外码。4)设计能够表示出房地产交易中客户、业务员和合同三者之间关系的数据库。确定客户实体、业务员实体和合同实体的属性。确定客户、业务员和合同三者之间的联系,给联系命名并指出联系的类型。确定联系本身的属性。画出客户、业务员和合同三者关系的E-R图。将E-R图转化为表,写出表的关系模式并表明各自的主码或外码。实训二 确定表中的关键字与规范化 (1学时)1. 实训目的与要求1)正确理解候选关键字、主关键字、组合关键字、外关键字的基本概念。2)能够正确判断给顶的表中各种
5、类型的关键字。3)在设计数据库时能正确地指定各种类型的关键字,知道如何实施数据完整性。4)掌握规范化数据的方法。2. 实训内容1)复习候选关键字、主关键字、组合关键字、外关键字以及数据完整性的基本概念。2)在给出的部门表和员工表中能正确标示出各种的关键字。3)判断给定表属于第几范式。3. 实训步骤1) 写出候选关键字、主关键字、组合关键字、外关键字、数据完整性、域完整性、参照完整性的定义。2) 已知部门表和员工表如下。部门表部门代码部门名负责人地点0001生产部李将华重庆荣县0002销售部张丽重庆中区0003市场部王欣重庆北区员工表员工代码姓名家庭地址部门代码201王华重庆0001202李想成
6、都0003203李将华伤害00023) 确定部门表和员工表的候选关键字、并陈述理由。4)选择部门表和员工表的主关键字。5)在部门表和员工表的结构中标注主关键字。6)在员工表中确定可能的组合关键字,并陈述理由。7)确定在部门表和员工表中共有的属性。8)指出哪个表中的属性是外关键字。9)确定哪个表是主表,哪个表是从表。10)部门表和员工表是如何通过关键字实施数据完整性的。11)项目表1,判断其是否满足第一范示的条件,并说明理由。项目表1项目代码职员代码部门累计工作时间P27P51P20E101系统集成部9010160P27P22E305销售部10998P51P27E508行政办公室NULL7212
7、)有项目表2,判断其是否满足第二范示的条件,并说明理由。项目表2项目代码职员代码部门累计工作时间P27E101系统集成部90P27E305财务部10P51E508行政办公室NULLP51E101系统集成部101P20E101系统集成部60P27E508行政办公室7213)有职员表,判断其是否满足第三范示的条件,并说明理由。职员表职员代码部门部门负责人代码E101系统集成部E901E305财务部E909E402销售部E909E508行政办公室E908E607财务部E909E608财务部E909实训三 安装SQL Server 2000(2学时)1实训目的与要求1) 熟悉SQL Server 20
8、00的体系结构与运行环境。2) 了解SQL Server 2000安装的软硬件要求。3) 掌握SQL Server 2000的安装过程。2实训内容1) 准备好SQL Server 2000的安装盘。2) 成功安装SQL Server 2000。3实训步骤1) 运行CD-ROM中的AUTORUN。EXE程序,出现安装的第一个窗口。2) 选择“安装数据库服务器”选项。3) 单击“下一步”按扭。4)继续单击“下一步”按扭。5)继续单击“下一步”按扭。6) 在用户信息窗口中输入完毕后,单击“下一步”按扭,出现“软件许可协议“窗口。7)单击“是”按扭。8)选择“服务器和客户端工具”选项。9)单击“下一步
9、”按扭。10)单击“下一步”按扭。11)选择“身份验证模式” 单击“下一步”按扭。12)等待完成。实训四 注册服务器(2学时)1. 实训目的与要求1)熟悉SQL Server 2000的企业管理器。2)了解服务器配置技术的概念。3) 掌握注册服务器的过程。2. 实训内容1) 启动SQL Server 2000企业管理器。2) 创建服务器组。3)注册服务器。3. 实训步骤1)创建服务器组。在SQL Server企业管理器窗口左边的树状结构中,右击树根Microsoft SQLServers,则弹出一个快捷菜单,如下图所示单击“新建SQL Server组”,根据提示输入相应的内容。确定后,建立好组
10、该操作完成之后,可以在SQL Server企业管理器窗口中看到新创建的服务器组SQL WORK。2)注册服务器。右击服务器组,在快捷菜单中选择“新建SQL Server注册”,出现欢迎使用注册的图,单击“下一步”,接着出现下图,然后根据提示输入相应的内容。单击下一步:单击下一步:单击下一步:单击下一步:实训五 SQL语言的应用(2学时)1. 实训目的与要求1)熟悉SQL 语言的基本知识。2)掌握常用的SQL语言编程。3) 掌握几种结构的应用。2. 实训内容1) 启动SQL Server 2000企业管理器。2) 打开查询分析器。3)用IF.ELSE语句和IF EXISTS 语句实现编程。3.
11、实训步骤1) 启动SQL Server 2000企业管理器,具体如图所示:2) 打开查询分析器。打开工具菜单,单击SQL 查询分析器,如图所示:3)用IF.ELSE语句和IF EXISTS 语句实现编程。如果“数据库原理课程”的平均成绩高于75分,则显示“平均成绩高于75分”。检查学生的平均成绩,若75,将返回状态代码 1,将返回状态代码 2。实训六 创建数据库和表(4学时)1. 实训目的与要求1)熟悉SQL Server 2000的企业管理器环境。2)掌握创建数据库和表的操作。3)掌握数据输入和修改的操作。2. 实训内容1)启动SQL Server 2000企业管理器环境。2)创建XSCJ数
12、据库。3)在XSCJ数据库中创建学生情况表XSQK4)在XSQK表中输入数据。3. 实训步骤1) 找到SQL Server 2000程序,打开企业管理器。选择“数据库”选项。2) 选择“操作”菜单中的“新建数据库”命令,打开数据库属性对话框。并在名称框中输入 XSCJ。3) 单击“确定”按扭,完成数据库的创建。4) 打开刚才建立的数据库XSCJ,右击。5) 选择“新建”子菜单中的“表命令,打开SQL Server的表编辑窗口。6)根据表结构创建相应的表。7)点击工具栏的保存按扭。8)打开“表”。9)选择“操作”菜单中的“返回所有行”。10)输入表的内容,输入完毕,关闭数据记录窗口。完成XSQK
13、、KC、XS_KC表。11)建立表之间的关系。XSQK与XS_KC表的关系,KC与XS_KC表的关系。完成习题1、2小题。实训七 查询数据库(4学时)1. 实训目的与要求1)熟悉SQL Server 2000的查询分析器。2)掌握基本的SELECT查询及相关子句的使用。3)掌握复杂的SELECT查询。如多表查询、子查询、连接和联合查询。2. 实训内容1)启动SQL Server 2000查询分析器。2)涉及单表的简单查询。3)涉及多表的复杂查询。3. 实训步骤1)从“开始”菜单中的SQL Server 程序中启动SQL Server查询分析器,打开“SQL 查询分析器”窗口。2)在“SQL 查
14、询分析器”窗口右上角的下拉框中选择要操作的数据库,如“XSCJ”数据库。3)在KC表中查询学分低于3的课程信息,并按课程号升序排列。SELECT *FROM KCWHERE学分3ORDER BY 课程号4)在XS_KC表按学号分组汇总学生的平均分,并按平均分的降序排列。SELECT 学号,平均分=(成绩)FROM XS_ KCGROUP BY 学号ORDER BY 平均分 DESC5)用WITH ROLLUP选项分组汇总各系各专业的人数。SELECT 所在系,专业名,COUNT(专业名) AS 专业人数FROM XSQKGROUP BY 所在系,专业名WITH ROLLUP6)按学号对不及格的
15、成绩记录进行明细汇总。SELECT 学号,课程号,成绩FROM XS_ KCWHERE 成绩60GROUP BY 学号COMPUTE COUNT(成绩)BY 学号7)用比较运算符引入子查询,求107号课程不及格的学生信息。SELECT 学号,姓名,联系电话FROM XSQKWHERE 学号=ANY(SELECT 学号FROM XS_ KCWHERE课程号107 AND 成绩=605)完成习题1、2。6)使用索引优化向导优化索引。实训十 创建并使用约束和默认值对象(2学时)1. 实训目的与要求1) 掌握约束的定义和删除操作。2) 掌握默认值对象的定义和删除操作。3) 掌握完整性的实现方法。2.
16、实训内容1) 启动SQL Server 2000查询分析器。2) 使用命令方式删除XSQK表中性别列的约束,然后再创建。3) 启动SQL Server 2000企业管理器。4)使用界面方式创建默认值对象,并绑定到列,然后再删除。5) 为两表建立关联,实现参照完整性。3. 实训步骤1)删除并重建XSQK表中性别列约束。 ALTER TABLE XSQK DROP CONSTRAINT CK_XSQK_性别2)定义新的默认值对象。CREATE DEFALUT XX AS 2003-1-103)将默认值对象绑定到XSQK表的出生日期列。 SP_BINDEFAULT XX,XSQK.出生日期4)使用默
17、认值对象为新插入行的出生日期列设值。5)取消绑定并删除默认值对象。 SP_UNBINDEFAULT XSQK.出生日期6)用菜单方式实现。 单击确定,然后进行帮定。右键单击默认值对象DFO_出生日期,选择属性,选择帮定列。选择好表及表的字段,单击添加,然后完成。7) 实现域完整性。建立一个名称为“RO_联系电话”的规则,把该规则设置成电话号码格式,并把该规则绑定到XSQK.联系电话字段中。 单击帮定列,如图:确定,完成。7) 实现实体完整性。选择KC表,对表进行设计,给字段“序号”添家一个标识列,种子值为1,递增量为1。然后在表中输入数据,“序号”列自动递增1,表中的每一数据行都可以由标识列惟
18、一标识,实现了实体完整性。8) 实现参照完整性。选择表XS_KC,打开设计表,右击表,选择“属性“对话框,然后选择”关系“标签。为XSQK表和XS_KC表建立基于学好列的关联。保存刚刚建立的关系,打开XSQK表进行数据的输入,并检查XS_KC表的数据变化情况。9)完成习题4、5、6、7。实训十一 实现存储过程(2学时)1. 实训目的与要求1) 掌握用户存储过程的创建操作。2) 掌握用户存储过程的执行。3) 掌握用户存储过程额删除操作。2. 实训内容1) 启动SQL Server 2000查询分析器。2) 创建代输入参数的存储过程和嵌套调用的存储过程。3) 执行所创建的存储过程。4) 删除所有新
19、创建的存储过程。3. 实训步骤1) 创建带参数的存储过程。打开查询分析器,在里面创建一个带参数的存储过程,用于接受课程号,默认值为“101“,然后在XS_KC表中查询该课程成绩不及格的学生学号,接着在XSQK表中查找这些学生的基本信息。create procedure proc_xsqk 课程号 char(3)=101as select xsqk.学号, xsqk.姓名,xsqk.性别,xsqk.联系电话from xs_kc,_xsqkwhere xskc.课程号= 课程号 AND xs_kc.成绩=0 and 成绩=100)在查询命令窗口中执行以下语句,查看执行结果。Update xs_kc
20、Set 成绩=120Where 课程号=108在查询命令窗口中执行以下语句,查看执行结果。Update xs_kcSet 成绩=90Where 课程号=1084) 删除触发器。drop trigger tri_update_delete_xs_kc5)完成习题8、9。实训十三 实现事务和批(2学时)1. 实训目的与要求1) 了解事务的ACID属性。2) 掌握事务和批的工作原理。3) 熟悉事务处理与批处理的应用。2. 实训内容1) 事务处理与批处理的关系。2) 如何应用事务处理。3) 用条件判断结构来实现事务。3. 实训步骤 首先建立相应的数据库product,然后在数据库中建立相应的表:库存表
21、和订货表,并输入相应的记录。()编写一个简单程序,由两个独立的语句组成的单个事务:一个语句实现输入订单,另一个语句则清空库存里相应的数据。(除非是输入了订单,否则库存不会发生改变)。 begin transaction update 库存表 set 库存数量=库存数量-10 where 商品编号=2 insert into 订货表 (客户名称,商品编号,订货数量,联系电话,地址) values (王林,2,10,85646821,陕西力天公司) commit transaction(2)编写一个简单程序,由两个独立的语句组成的单个事务:一个语句实现输入订单,另一个语句则清空库存里相应的数据。(
22、当服务器遇到rollback语句时,就会抛弃在事务处理中的所有变化。把数据恢复到开始工作之前的状态)。begin transaction update 库存表 set 库存数量=库存数量-10 where 商品编号=2 insert into 订货表 (客户名称,商品编号,订货数量,联系电话,地址) values (王林,2,10,85646821,陕西力天公司) rollback transaction(3)现在要在SQL中编写一个存储过程,该存储过程对4张表以上的相关数据进行删除,因此需要用到事务,如果删除成功就提交事务,如果不成功则回滚事务,请编写相关语句。create proc sptest as begin transaction delete table1 if error0 goto err
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1