数据库综合实验

  • 格式:doc
  • 大小:10.18 MB
  • 文档页数:34

数据库原理及应用-- SQL Server 2000陈学进于 2010年三月实验指导书实验一用E-R图设计数据库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图转化为关系模式,写出表的关系模式并标明各自的主码或外码。

5)学生之间相互交流各自设计的数据库。

实验二确定表中的关键字1. 实验目的1)正确理解候选关键字,主关键字,组合关键字,外关键字的基本概念。

2)能够正确判断给定的表中各种类型的关键字。

3)在设计数据库时能正确指定各种类型的关键字,知道如何实施数据完整性。

2. 实验内容1) 复习候选关键字,主关键字,外关键字,组合关键字以及数据完整性的基本概念。

2) 在给出的部门表和员工表中能正确标识出各种类型的关键字。

3. 实验步骤1)写出候选关键字,主关键字,组合关键字,外关键字,实体完整性,域完整性,参照完整性的定义。

已知部门表和员工表分别见表2-1和表2-2表2-1部门表部门代码部门名负责人地点0001 生产部李华江浙江杭州0002 销售部张丽浙江宁波0003 市场部王欣浙江温州表2-2员工表员工代码姓名家庭住址联系电话邮政编码部门代码200001 王华杭州86960986 310006 0001200002 李想富阳85438769 310010 0003200003 张丽杭州67893542 310017 0002200004 李华江萧山82849873 310101 00012)确定部门表和员工表中的候选关键字,并陈述理由。

3)选择部门表和员工表的关键字。

4)在部门表和员工表的结构中标注主关键字。

5)在员工表中确定可能的组合关键字,并陈述理由。

6)确定在部门表和员工表中共有的属性。

7)指出哪个表中的属性是外关键字。

8)确定哪个表是主表,哪个表是从表。

9)部门表和员工表是如何通过关键字实施数据完整性的。

实验三关系规范化1.实验目的1)了解函数依赖的基本概念。

2)能正确判断某一关系是属于第几范式。

3)掌握规范化范式的方法。

2. 实验内容1)复习函数依赖,数据规范化,范式的基本概念以及各级范式的判别标准。

2)判断给定的表满足哪级范式的条件。

3)将给定的表转换成满足特定等级范式条件的表。

3. 实验步骤1)写出函数依赖,数据规范化,范式的定义以及各级范式的判别标准。

2)有表3-1所示的项目表1,判断其是否满足第一范式的条件,并说明理由。

表3-1 项目表1项目代码职员代码部门累计工时间P27E101 系统集成部90P51 101 P20 60P27E305 销售部109P22 98P51E508 行政办公室NULLP27 723)有表3-2所示的项目表2,判断其是否满足第二范式的条件,并说明理由。

表3-2 项目表2项目代号职员代码部门累计工作时间P27 E101 系统集成部90P27 E305 财务部10P51 E508 行政办公室NULLP51 E101 系统集成部101P20 E101 系统集成部60P27 E508 行政办公室724)有表3-3所示的职员表,判断其是否满足第三范式的条件,并说明理由。

表3-3 职员表职员代码部门部门负责人代码E101 系统集成部E901E305 财务部E909E402 销售部E909E508 行政办公室E908E607 财务部E909E608 财务部E9095)有表3-4所示的项目表3,判断其是否满足第三范式的条件,并说明理由。

表3-4 项目表3项目代码职员代码职员姓名累计工作时间P2 E1 李华玉48P5 E2 陈家伟100P6 E3 张勤15P3 E4 谢成权2505P5 E4 谢成权75P5 E1 李华玉406)将项目表1转换成满足第一范式条件的表。

7)将项目表2转化成满足第二范式条件的表。

8)将职员表转换成满足第三范式条件的表。

9)将项目表3转换成满足BCNF条件的表。

10)非规范化数据带来的不利影响是什么?实验四创建SQL Server 2000数据库和表1. 实验的目的1)熟悉企业管理器环境。

2)掌握创建数据库和表的操作。

2. 实验内容1)熟悉SQL Server 2000 企业管理器环境。

2)创建XSCJ数据库。

3)在XSCJ数据库中创建学生情况表XSQK,课程表KC,学生成绩表XS_KC。

4)在XSQK、KC、XS_KC表中输入数据。

3. 实验步骤1)启动SQL Server企业管理器,打开“SQL Server Enterprise Mananger”窗口,并在左边的目录树结构中选择“数据库”文件夹。

2)选择“操作”菜单中的“新建数据库”命令,打开“数据库属性”对话框,并在“名称”框内输入数据库名称XSCJ。

3)单击“确定”按钮,完成XSCJ数据库的创建。

4)打开刚才创建的“XSCJ”文件夹,并在“SQL Server Enterprise Mananger”窗口的右边窗口中选择“表”对象。

5)选择“操作”菜单中的“新建表”命令,打开SQL Server的表编辑器窗口。

6)根据表4-1所示的表结构增加新列。

表4-1 学生情况表XSQK的结构列名数据类型长度是否允许为空值默认值说明学号Char 6 N 主键姓名Char 8 N性别Bit 1 N 男1,女0出生日期smalldatetime 4 N专业名Char 10 N所在系Char 10 N联系电话char 11 Y7)点击快捷工具栏上的快捷按钮,在弹出的“选择名称”对话框中输入表名XSQK,然后单击“确定”按钮,关闭表编辑器窗口,完成新表的创建。

8)打开“表”对象,在“SQL Server Enterprise Manager”窗口的右边窗口中选择刚才创建的“XSQK”表。

9)选择“操作”菜单中的“打开表”子菜单下的“返回所有行”命令,打开表的数据记录窗口。

10)输入的学生情况数据记录见表4-2。

表4-2 学生情况记录学号姓名性别出生日期专业所在系联系电话020101 杨颖0 1980-7-20 计算机应用计算机88297147020102 方露露0 1981-1-15 计算机应用计算机88297147020103 俞奇军 1 1980-2-20 信息管理计算机88297151020104 胡国强 1 1980-11-7 信息管理计算机88297151020105 薛冰 1 1980-7-29 水利工程水利系88297152020201 秦盈飞0 1981-3-10 电子商务经济系88297161020202 董含静0 1980-9-25 电子商务经济系88297062020203 陈伟 1 1980-8-7 电子商务经济系88297171020204 陈新江 1 1980-7-20 房建水利系8829717111)同理建课程表KC,表的结构见表4-3所示,表的内容见表4-4所示。

表4-3 课程表KC的结构列名数据类型长度是否允许为空值默认值说明课程号Char 3 N 主键课程名Char 20 N教师Char 10开课学期Tinyint 1 只能1-6学时Tinyint 1 60学分Tinyint 1 N表4-4 课程表记录课程号课程名教师开课学期学时学分101 计算机原理陈红 2 45 3102 计算方法王颐 3 45 3103 操作系统徐格 2 60 4104 数据库原理及应用应对刚 3 75 5105 网络基础吴江江 4 45 3106 高等数学孙中文 1 90 6107 英语陈刚 1 90 6108 VB程序设计赵红韦 3 70 512)同理建成绩表XS_KC,表的结构见表4-5所示,表的内容见表4-6所示。

表4-5 成绩表XS_KC的结构列名数据类型长度是否允许为空值默认值说明学号Char 6 N 外键课程号Char 3 N 外键成绩Tinyint 1 0-100之间表4-6 成绩表XS_KC的记录学号课程号成绩020101 101 85020101 102 87020101 107 88020102 101 58020102 102 63020104 107 76020202 103 55020202 108 80020203 103 57020204 103 71实验五查询数据库1.实验目的1)熟悉SQL Server 2000查询分析器环境。

2)掌握基本的SELECT查询及其相关子句的使用。

3)掌握复杂的SELECT查询,如多表查询、子查询、连接和联合查询。

2.实验内容1)启动SQL Server 2000 查询分析器环境。

2)涉及多表的简单查询。

3)涉及多表的复杂查询。

3. 实验步骤1)启动SQL Server查询分析器,打开“SQL查询分析器”窗口。

2)在“SQL查询分析器”窗口中选择要操作的数据库,如“XSCJ”数据库。

3)在KC表中查询学分低于3的课程信息,并按课程号升序排列。

在查询命令窗口中输入以下SQL查询命令并执行:SELECT * FROM KCWHERE KC.学分<3ORDER BY 课程号4)在XS_KC表中按学号分组汇总学生的平均分,并按平均分的降序排列。

SELECT 学号,平均分=AVG(成绩) FROM XS_KCGROUP BY 学号ORDER BY 平均分 DESC5)在XS_KC表中查询选修了3门以上课程的学生学号。