1、负责人地点0001生产部李华江浙江杭州0002销售部张丽浙江宁波0003市场部王欣浙江温州 表2-2员工表员工代码姓名家庭住址联系电话邮政编码200001王华杭州86960986310006200002李想富阳8543876931001020000367893542310017200004萧山828498733101012) 确定部门表和员工表中的候选关键字,并陈述理由。3) 选择部门表和员工表的关键字。4) 在部门表和员工表的结构中标注主关键字。5) 在员工表中确定可能的组合关键字,并陈述理由。6) 确定在部门表和员工表中共有的属性。7) 指出哪个表中的属性是外关键字。8) 确定哪个表是主表
2、,哪个表是从表。9) 部门表和员工表是如何通过关键字实施数据完整性的。实验三 关系规范化1) 了解函数依赖的基本概念。2) 能正确判断某一关系是属于第几范式。3) 掌握规范化范式的方法。1) 复习函数依赖,数据规范化,范式的基本概念以及各级范式的判别标准。2) 判断给定的表满足哪级范式的条件。3) 将给定的表转换成满足特定等级范式条件的表。1) 写出函数依赖,数据规范化,范式的定义以及各级范式的判别标准。2) 有表3-1所示的项目表1,判断其是否满足第一范式的条件,并说明理由。表3-1 项目表1项目代码职员代码部门累计工时间P27E101系统集成部90P51101P2060E305109P22
3、98E508行政办公室NULL723) 有表3-2所示的项目表2,判断其是否满足第二范式的条件,并说明理由。 表3-2 项目表2项目代号累计工作时间财务部104) 有表3-3所示的职员表,判断其是否满足第三范式的条件,并说明理由。 表3-3 职员表部门负责人代码E901E909E402E908E607E6085) 有表3-4所示的项目表3,判断其是否满足第三范式的条件,并说明理由。 表3-4 项目表3职员姓名P2E1李华玉48P5E2陈家伟100P6E3张勤15P3E4谢成权250575406) 将项目表1转换成满足第一范式条件的表。7) 将项目表2转化成满足第二范式条件的表。8) 将职员表转
4、换成满足第三范式条件的表。9) 将项目表3转换成满足BCNF条件的表。10) 非规范化数据带来的不利影响是什么?实验四 创建SQL Server 2000数据库和表1. 实验的目的1) 熟悉企业管理器环境。2) 掌握创建数据库和表的操作。1) 熟悉SQL Server 2000 企业管理器环境。2) 创建XSCJ数据库。3) 在XSCJ数据库中创建学生情况表XSQK,课程表KC,学生成绩表XS_KC。4) 在XSQK、KC、XS_KC表中输入数据。1) 启动SQL Server企业管理器,打开“SQL Server Enterprise Mananger”窗口,并在左边的目录树结构中选择“数据
5、库”文件夹。2) 选择“操作”菜单中的“新建数据库”命令,打开 “数据库属性” 对话框,并在 “名称”框内输入数据库名称XSCJ。3) 单击“确定”按钮,完成XSCJ数据库的创建。4) 打开刚才创建的 “XSCJ” 文件夹,并在“SQL Server Enterprise Mananger”窗口的右边窗口中选择“表”对象。5) 选择“操作”菜单中的“新建表”命令,打开SQL Server的表编辑器窗口。6) 根据表4-1所示的表结构增加新列。 表4-1 学生情况表XSQK的结构列名数据类型长度是否允许为空值默认值说明学号Char6N主键8性别Bit1男1,女0出生日期smalldatetime
6、4专业名所在系char11Y7) 点击快捷工具栏上的快捷按钮,在弹出的“选择名称”对话框中输入表名XSQK,然后单击“确定”按钮,关闭表编辑器窗口,完成新表的创建。8) 打开“表”对象,在“SQL Server Enterprise Manager”窗口的右边窗口中选择刚才创建的“XSQK”表。9) 选择“操作”菜单中的“打开表”子菜单下的“返回所有行”命令,打开表的数据记录窗口。10) 输入的学生情况数据记录见表4-2。专业020101杨颖1980-7-20计算机应用计算机88297147020102方露露1981-1-15020103俞奇军1980-2-20信息管理882971510201
7、04胡国强1980-11-7020105薛冰1980-7-29水利工程水利系88297152020201秦盈飞1981-3-10电子商务经济系88297161020202董含静1980-9-2588297062020203陈伟1980-8-788297171020204陈新江房建 表4-2 学生情况记录11) 同理建课程表KC,表的结构见表4-3所示,表的内容见表4-4所示。表4-3 课程表KC的结构课程号3课程名20教师开课学期Tinyint只能1-6学时学分 表4-4 课程表记录计算机原理陈红245102计算方法王颐103操作系统徐格104数据库原理及应用应对刚5105网络基础吴江江106
8、高等数学孙中文107英语陈刚108VB程序设计赵红韦7012) 同理建成绩表XS_KC,表的结构见表4-5所示,表的内容见表4-6所示。表4-5 成绩表XS_KC的结构外键成绩0-100之间表4-6 成绩表XS_KC的记录85878858637655805771实验五 查询数据库1实验目的1) 熟悉SQL Server 2000查询分析器环境。2) 掌握基本的SELECT查询及其相关子句的使用。3) 掌握复杂的SELECT查询,如多表查询、子查询、连接和联合查询。2实验内容1) 启动SQL Server 2000 查询分析器环境。2) 涉及多表的简单查询。3) 涉及多表的复杂查询。1) 启动S
9、QL Server查询分析器,打开“SQL查询分析器”窗口。2) 在“SQL查询分析器”窗口中选择要操作的数据库,如“XSCJ”数据库。3) 在KC表中查询学分低于3的课程信息,并按课程号升序排列。 在查询命令窗口中输入以下SQL查询命令并执行: SELECT * FROM KC WHERE KC.学分6) 按学号对不及格的成绩记录进行明细汇总。SELECT 学号,课程号,成绩 FROM XS_KCWHERE 成绩ORDER BY 学号COMPUTE COUNT(成绩)BY 学号7) 分别用子查询和连接查询,求107号课程不及格的学生信息。用子查询:SELECT 学号,姓名,联系电话 FROM
10、 XSQKWHERE 学号 IN( SELECT 学号 FROM XS_KC WHERE 课程号=107AND 成绩60)用连接查询:SELECT 学号,姓名,联系电话 FROM XSQK JOIN XS_KC ON XSQK.学号=XS_KC.学号WHERE课程号=107AND 成绩8) 用连接查询在XSQK表中查询住在同一寝室的学生,即其联系电话相同SELECT A.学号,A.姓名,A.联系电话 FROM XSQK A JOIN XSQK BON A.联系电话=B.联系电话 WHERE A.学号!=B.学号请自已完成以下的查询:9) 查询XSQK表中所有的系名。10) 查询有多少同学选修了
11、课程。11) 查询有多少同学没有选课。12) 查询与杨颖同一个系的同学姓名。13) 查询选修了课程的学生的姓名、课程名与成绩。14) 统计每门课程的选课人数和最高分。15) 统计每个学生的选课门数和考试总成绩,并按选课门数的降序排列。实验六 创建和使用视图1) 掌握视图的创建、修改和删除。2) 掌握使用视图来访问数据。1) 创建一个简单的视图,查询101号课程不及格的学生信息。2) 修改简单视图,查询107号课程成绩介于70-90的学生信息。3) 使用视图访问数据。4) 删除所创建的视图。3实验步骤1) 启动SQL Server企业管理器,打开“SQL Server Enterprise Ma
12、nager”窗口。2) 选择要创建视图的数据库文件夹,如“XSCJ”文件夹,并在右边的对象窗口中选择其中的“视图”对象。3) 选择“操作”菜单中的“新建视图”命令,打开SQL Server的视图设计窗口。4) 在“数据源关系图窗口”中单击鼠标右键,打开“添加表”窗口,添加XSQK表和XS_KC表。5) 选择XSQK表的学号和姓名列,选择XS_KC表的课程号和成绩列,作为视图的显示列。6) 设置学号列的排序类型为升序。7) 设置查询条件:先在课程号行的“准则”列设置条件为“=101”,然后在成绩行的“准则”列设置条件为“=70”,并复制该行,去掉“输出”列中的复选,并修改“准则”列的条件为“=6
13、0观察一下显示出来的数据是否有序3) 使用索引优化向导优化索引。索引优化向导可以根据给定的工作负荷,通过使用查询优化器分析该工作负荷的查询。此时为数据库推荐最佳索引组合,而为了记录工作负荷,必须使用SQL事件探查创建一个跟踪记录工作负荷。启动SQL Server事件探查器,打开“SQL事件探查”窗口。选择“文件“菜单中”新建“子菜单下的”跟踪“命令”打开“跟踪属性”对话框,新建一个跟踪。设置跟踪名为“INDEX_TRACE”,把跟踪保存为负荷文件“INDEX_TRACE”。然后单击运行按纽开始跟踪。切换到SQL查询分析器窗口,在其中的查询命令中输入以下SELECT查询语句:SELECT A.学
14、号,A.姓名,D.课程名,C.成绩,A.联系电话FROM XSQK A JOIN XSQK B ON A.联系电话=B.联系电话JOIN XS_KC C ON A.学号=C.学号 JOIN KC D ON D.课程号=C.课程号WHERE A.姓名=俞奇军 and B.姓名!=切换回SQL事件探查起窗口,此时在窗口中列出了刚刚执行的查询语句的跟踪信息。单击快捷工具栏的快捷键按钮暂停跟踪。其中,注意列的含义如下:1CPU列:表示查询所占用的CPU时间,单位为毫秒。2Duration列:表示查询执行的时间 ,单位为毫秒。3Reads列:表示查询所引起服务器执行的物理磁盘读取次数。4Writes列:
15、表示查询所引起服务器执行的物理磁盘写入次数。选择“工具”菜单中的“索引优化向导”命令,打开“索引优化向导”对话框。开始优化索引。切换到SQL事件探查窗口,然后点击快捷工具栏上的快捷按钮继续跟踪。切换到SQL查询分析器窗口,再次执行刚才的SELECT查询语句。切换回SQL事件探查起窗口,此时在窗口中又列出了优化索引执行同样的查询语句的跟踪信息。我们可以看到,优化索引后,读盘次数减少了,执行时间变短了。比较图中两次查询的执行情况,很显然,经过索引优化后,查询性能有了很大的提高。如果全换成大型表,优化效果将更加明显。单击快捷工具栏上的快捷按钮停止跟踪,并关闭“SQL事件探查窗口”。实验八 创建并使用
16、约束和默认值对象1) 掌握约束的定义和删除操作。2) 掌握默认值对象的定义和删除。1) 使用命令删除XSQK表中性别的约束,然后再创建。2) 使用界面方式创建默认值对象,并绑定到列,然后再删除。1)删除并重建XSQK表中性别的约束。打开“SQL 查询分析器”窗口,选择要操作的数据库,如“XSCJ”数据库。在命令窗口中输入以下SQL命令并执行,删除XSQK表中性别列的约束。ALTER TABLE XSQKDROP CONSTRAINT CK_XSQK_性别在命令窗口中输入以下SQL命令并执行,查询创建刚才删除的性别列约束,使性别只能取值为1(表示男)或者0(表示女)。ALTER TABLE XS
17、QK ADD CONSTRAINT CK_ XSQK_性别CHECK (性别=1 OR性别=0)2)定义新的默认值对象。启动SQL Server企业管理器,打开“SQL Server Enterprise Manager”窗口。选择要创建默认值对象的数据库文件夹,如“XSCJ”文件夹,并在右边的对象窗口中选择其中的“默认”对象。选择“操作”菜单中的“新建默认”命令,打开“默认属性”对话框,并输入名称“DFO_出生日期”和值 1980-1-1注意:1980-1-1前后有单引号()括起来,表示其为日期类型。单击“确定”按钮,完成默认值对象的定义。3)将默认值对象绑定到XSQK表的出生日期列。打开“默认”对象,并选中刚才定义的默认值对象DFO_出生日期。选择“操作”菜单中的“属性”命令,打开“默认属性”对话框。单击“绑定列”按钮,打开“将默认值绑定到列”的对话框。单击“确定”按钮,完成到列的绑定。4)使用值对象为新插入行的出生日期列设
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1