《关系数据库与SQLServer2000》实验指导课程代码:适用专业:总学时数:教学任务和目的《SQLServer2000关系数 据库》是计算机类专业重要的专业课程。它在电子商务、数据仓库和数据库解决方案中应用广泛。它可为企业的数据库管理提供强大的支持,对数据 库中的数据提供有效的管理,并能实现数据完整性和数据的安全。是目前数据库管理的应用最广泛的工具之一。通过该课程的学习,要求学生掌握S QLServer2000基础知识、数据库的基本操作和管理,结合上机实践培养学生数据库管理与应用的能力,熟练掌握SQLServ er2000的环境配置。教学基本要求了解和使用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)写出候选关键字、主关键字、组合关键字、外 关键字、数据完整性、域完整性、参照完整性的定义。已知部门表和员工表如下。部门表部门代码部门名负责人地点0001生产部李将华重庆荣县 0002销售部张丽重庆中区0003市场部王欣重庆北区员工表员工代码姓名家庭地址部门代码201王晓华重庆0001202李思想成都00 03203李将华北京00023)确定部门表和员工表的候选关键字、并陈述理由。4)选择部门表和员工表的主关键字。5)在部门表和员 工表的结构中标注主关键字。6)在员工表中确定可能的组合关键字,并陈述理由。7)确定在部门表和员工表中共有的属性。8)指出哪个表中的 属性是外关键字。9)确定哪个表是主表,哪个表是从表。10)部门表和员工表是如何通过关键字实施数据完整性的。11)项目表1,判断其是 否满足第一范示的条件,并说明理由。项目表1项目代码职员代码部门累计工作时间P27P51P20E101系统集成部9010160P27 P22E305销售部10998P51P27E508行政办公室NULL7212)有项目表2,判断其是否满足第二范示的条件,并说明理由 。项目表2项目代码职员代码部门累计工作时间P27E101系统集成部90P27E305财务部10P51E508行政办公室NULLP5 1E101系统集成部101P20E101系统集成部60P27E508行政办公室7213)有职员表,判断其是否满足第三范示的条件,并 说明理由。职员表职员代码部门部门负责人代码E101系统集成部E901E305财务部E909E402销售部E909E508行政办公室 E908E607财务部E909E608财务部E909实验三安装SQLServer2000(2学时)1.实验目的与要求1)熟 悉SQLServer2000的体系结构与运行环境。2)了解SQLServer2000安装的软硬件要求。3)掌握SQL Server2000的安装过程。2.实验内容1)准备好SQLServer2000的安装盘。2)成功安装SQLServe r2000。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)创建服务器组。在SQLServ er企业管理器窗口左边的树状结构中,右击树根MicrosoftSQLServers,则弹出一个快捷菜单,如下图所示单击“新建SQ LServer组”,根据提示输入相应的内容。确定后,建立好组该操作完成之后,可以在SQLServer企业管理器窗口中看到新创建 的服务器组SQLWORK。2)注册服务器。右击服务器组,在快捷菜单中选择“新建SQLServer注册”,出现欢迎使用注册的图, 单击“下一步”,接着出现下图,然后根据提示输入相应的内容。单击下一步:单击下一步:单击下一步:单击下一步:实验五SQL语言的应用 (2学时)1.实验目的与要求1)熟悉SQL语言的基本知识。2)掌握常用的SQL语言编程。3)掌握几种结构的应用。2.实验内 容1)启动SQLServer2000企业管理器。2)打开查询分析器。3)用IF….ELSE语句和IFEXISTS语句实 现编程。3.实验步骤1)启动SQLServer2000企业管理器,具体如图所示:2)打开查询分析器。打开工具菜单,单击S QL查询分析器,如图所示:3)用IF….ELSE语句和IFEXISTS语句实现编程。如果“数据库原理课程”的平均成绩高于75 分,则显示“平均成绩高于75分”。检查学生的平均成绩,若>75,将返回状态代码1,将返回状态代码2。实验六创建数据库和表(4 学时)1.实验目的与要求1)熟悉SQLServer2000的企业管理器环境。2)掌握创建数据库和表的操作。3)掌握数据输入和 修改的操作。2.实验内容1)启动SQLServer2000企业管理器环境。2)创建XSCJ数据库。3)在XSCJ数据库中创建 学生情况表XSQK4)在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的课程信息,并按课程号升序排列。 SELECTFROMKCWHERE学分<3ORDERBY课程号4)在XS_KC表按学号分组汇总学生的平均分,并按平均分 的降序排列。SELECT学号,平均分=(成绩)FROMXS_KCGROUPBY学号ORDERBY平均分DESC 5)用WITHROLLUP选项分组汇总各系各专业的人数。SELECT所在系,专业名,COUNT(专业名)AS专业人数FRO MXSQKGROUPBY所在系,专业名WITHROLLUP6)按学号对不及格的成绩记录进行明细汇总。SELECT学号, 课程号,成绩FROMXS_KCWHERE成绩<60GROUPBY学号COMPUTECOUNT(成绩)BY学号7)用 比较运算符引入子查询,求107号课程不及格的学生信息。SELECT学号,姓名,联系电话FROMXSQKWHERE学号=ANY (SELECT学号FROMXS_KCWHERE课程号=’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)从“开始”菜单中的SQ LServer程序中启动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_kcWith(i ndex(ix_学号))Where成绩>=605)完成习题1、2。6)使用索引优化向导优化索引。实验十创建并使用约束和默认值 对象(2学时)1.实验目的与要求1)掌握约束的定义和删除操作。2)掌握默认值对象的定义和删除操作。3)掌握完整性的实现方法 。2.实验内容1)启动SQLServer2000查询分析器。2)使用命令方式删除XSQK表中性别列的约束,然后再创建。3 )启动SQLServer2000企业管理器。4)使用界面方式创建默认值对象,并绑定到列,然后再删除。5)为两表建立关联,实 现参照完整性。3.实验步骤1)删除并重建XSQK表中性别列约束。ALTERTABLEXSQKDROPCONSTRAIN TCK_XSQK_性别2)定义新的默认值对象。CREATEDEFALUTXXAS‘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.实验步骤创建带参数的存储过程。打开查询分析器,在里面创建一个带参数的存储过程,用于接受课程号,默 认值为“101“,然后在XS_KC表中查询该课程成绩不及格的学生学号,接着在XSQK表中查找这些学生的基本信息。createpr ocedureproc_xsqk@课程号char(3)=''101''asselectxsqk.学号,xsqk.姓名,xs qk.性别,xsqk..联系电话fromxs_kc,_xsqkwherexskc.课程号=@课程号ANDxs_kc.成绩 <60ANDxsqk.学号=xs_kc.学号2)创建带嵌套调用的存储过程。我们创建一个带嵌套调用的存储过程,该存储过程也有 一个输入参数,它用于接受授课教师姓名,默认值为“王颐“,然后调用创建好的存储过程,输出其所授课程的课程号,接着用此课程号来完成上一 实验部分中所创建的存储过程的功能。createprocedureproc_嵌套_授课教师@授课教师char(8)asdec lare@课程号char(6)executeproc_课程号@授课教师,@课程号outputselect学号,课程 号,成绩fromxs_kcwhere课程号=@课程号goexecuteproc_嵌套_授课教师''王顾''3)执行所创建的存 储过程。executeproc_xsqk4)删除新创建的存储过程。Dropproc_xsqk5)完成习题1、2、3。实验 十二实现触发器(2学时)1.实验目的与要求1)掌握触发器的创建、修改和删除操作。2)掌握触发器的触发执行。3)掌握触发器 与约束的不同。2.实验内容1)启动SQLServer2000查询分析器。2)创建触发器。3)触发执行触发器。4)验证 约束与触发器的不同作用5)删除所有新创建的触发器。3.实验步骤1)创建触发器。为xs_kc表创建一个基于UPDATE操作和D ELETE操作的复合型触发器,当修改了该表的成绩信息或删除了成绩记录时,触发器被激活生效。createtriggertri_u pdate_delete_xs_kconxs_kcforupdate,deleteasifupdate(成绩)begin selectinserted.学号,inserted.课程号,deleted.成绩as原成绩inserted.成绩as 新成绩fromdeleted,insertedwheredeleted.学号=inserted.学号endelseif columns_updated()=0beginselect被删除学号=deleted.学号,deleted.课程号,dele ted.成绩as原成绩fromdeletedendelseprint’更新了非成绩列!’declare@所在系cha r(10)2)触发触发器。在命令窗口中输入以下语句,修改成绩列。Updatexs_kcSet成绩=成绩+5Where课程号 =’101’在命令窗口输入以下语句,修改非成绩列。Updatexs_kcSet课程号=’113’Where课程号=’113’ 3)比较约束与触发器的不同作用期。在查询命令窗口中输入并执行以下语句,为xs_kc表添加一个约束,使得成绩只能大于等于0且小于 等于100。Altertablexs_kcAddconstraintck_成绩Check(成绩>=0and成绩<=1 00)在查询命令窗口中执行以下语句,查看执行结果。Updatexs_kcSet成绩=120Where课程号=’108’在查询 命令窗口中执行以下语句,查看执行结果。Updatexs_kcSet成绩=90Where课程号=’108’4)删除触发器。d roptriggertri_update_delete_xs_kc5)完成习题8、9。实验十三实现事务和批(2学时)1.实 验目的与要求1)了解事务的ACID属性。2)掌握事务和批的工作原理。3)熟悉事务处理与批处理的应用。2.实验内容1)事务 处理与批处理的关系。2)如何应用事务处理。3)用条件判断结构来实现事务。3.实验步骤首先建立相应的数据库product,然 后在数据库中建立相应的表:库存表和订货表,并输入相应的记录。(1)编写一个简单程序,由两个独立的语句组成的单个事务:一个语句实现输 入订单,另一个语句则清空库存里相应的数据。(除非是输入了订单,否则库存不会发生改变)。begintransactionup date库存表set库存数量=库存数量-10where商品编号=''2''insertinto订货表(客户名称,商 品编号,订货数量,联系电话,地址)values(''王林'',''2'',10,''8564682xx'',''陕西天力公司'')commi ttransaction(2)编写一个简单程序,由两个独立的语句组成的单个事务:一个语句实现输入订单,另一个语句则清空库存里相应 的数据。(当服务器遇到rollback语句时,就会抛弃在事务处理中的所有变化。把数据恢复到开始工作之前的状态)。begintra nsactionupdate库存表set库存数量=库存数量-10where商品编号=''2''insertinto 订货表(客户名称,商品编号,订货数量,联系电话,地址)values(''王林'',''2'',10,''8564682xx'',''陕西天 力公司'')rollbacktransaction(3)现在要在SQL中编写一个存储过程,该存储过程对4张表以上的相关数据进行删 除,因此需要用到事务,如果删除成功就提交事务,如果不成功则回滚事务,请编写相关语句。createprocsptestas begintransactiondeletetable1if@@error<>0gotoerr deletetable2if@@error<>0gotoerrdeletetable3 if@@error<>0gotoerrdeletetable4if@@error<>0goto errcommittransactiongotosucerr:raiserror(''删除失败!'',16 ,1)rollbacksuc:实验十四数据库管理(2学时)1.实验目的与要求1)熟悉数据库的安全管理。2)掌握数 据库中数据的导入和导出。3)掌握数据库的备份与恢复。2.实验内容1)数据库进行备份和恢复。2)对数据库中的数据进行导入和导 出操作。3.实验步骤1)打开企业管理器,选择需要备份的数据库,如图所示:单击备份数据库,出现如下对话框:填写备份的名称,选择备 份类型,并把目的选择好,单击确定就完成。数据库的恢复过程与备份过程类似,学生自己完成。掌握数据库中数据的导入和导出。打开企业管理器 ,选择要进行数据导入和导出的数据库,如图:单击导入数据,出现如下对话框:单击下一步:选择好数据源、数据库,单击下一步:选择好目的、 数据库,单击下一步:单击下一步,直到完成。3)学生完成数据库的附加、复制、倍份、恢复、还原,数据的导入和导出操作实验十五综合实训 (4学时)1.实验目的与要求1)全面了解SQLServer2000的环境。2)掌握SQLServer2000的基本操 作。3)掌握数据库相关的各项操作。2.实验内容1)数据库、表、视图、索引的创建。2)各种关系的实现。3)数据库的管理。4 )Web和ASP.NET的实现。3.实验步骤创建一个数据库,取名为:xscj(学生成绩)在数据库中创建三个表,分别为:xs qk(学生情况表)、kc(课程表)、xs_kc(学生选课表)三个表的字段名、数据类型、约束条件以及具体数据请参考教材83页和294 页。创建一个查询用来查找xsqk表中所有男同学的相关信息,并按学号的升序排列创建一个查询,实现功能:在xs_kc表中按学号分组汇 总每个学生的平均分,并按平均分的降序排列。以表xs_kc为基础,创建一个视图,取名为:view,显示输出成绩大于等于60分同学的相 关信息,并按学号的升序排列,当学号相等时按课程号的升序排列。以表xs_kc为基础,以字段学号为索引列创建惟一簇索引,升序排列,并使 用索引显示改表的相关信息。创建默认值对象名为:DFO,常量为‘计算机系’,并把改默认值绑定到表xsqk表中的所在系字段中。以表xs _kc为基础,创建一个带有输入参数的存储过程proc_xs_kc,查询指定课程的学生成绩信息,并执行改存储过程。备份数据库xscj 删除表kc。还原数据库xscj。并把数据库中的所有用户表导出到Excel中,取名为:data。四、使用教材:《关系数据库与SQL Server2000》龚小勇编著机械工业出版社综合项目序号实验内容实践学时1用E-R图设计数据库12确定表中的关键字与规 范化13安装SQLServer200024注册服务器25SQL语言的应用26创建数据库和表47查询数据库48创建和使用视图49 创建和使用索引210创建并使用约束和默认值对象211实现存储过程212实现触发器213实现事务和批214数据库管理215综合实训4 总学时362.2.1数据库的创建、修改和删除第3步第2步操作结束后,出现如图2.2所示的“数据库属性”对话框,该对 话框共有三个选项卡:常规、数据文件和日志文件。在“常规”选项卡“名称”文本框中输入创建的数据库名(本例中数据库名为XSCJ)。 4.3.2创建视图第2步在所出现的窗口的第一个子窗口中单击鼠标右键,将弹出一个“增加表”快捷菜单,如图4.16所示。第6步选择“下一步”,进入图所示SQLServer服务器注册向导选择服务器组的界面;第7步选择“下一步”,进入注册完成界面,然后与注册的服务器连接,以检测服务器注册是否成功。第8步进入身份验证模式窗口,如图所示。Windows验证模式:使用WindowsNT、Windows2000、Windows2003上的登录账户进行连接,SQLServer利用Windows操作系统的用户安全特性控制登录访问,实现了SQLServer与WindowsNT、Windows2000、Windows2003的登录安全集成。混合模式(Windows身份验证和SQLServer身份验证):使用Windows身份验证或SQLServer身份验证与SQLServer连接。2.1.3SQLServer2000的安装SQLServer2000的安装步骤如下:第1步将SQLServer2000安装盘放入光驱,运行光驱中的autorun.exe,出现安装界面,如图所示。注册服务器利用企业管理器注册服务器的步骤:第1步启动企业管理器?选择SQLServer服务器组图标?右击,出现图所示的快捷菜单;2.2.2表的创建、修改和删除以下是通过“企业管理器”创建表XS的操作步骤:第1步启动SQLServer企业管理器,用鼠标右键单击选择数据库(这里是数据库XSCJ),将出现如图2.28所示的快捷菜单,选择“新建(N)”?“表(T)…”。 |
|