人事管理系统数据库课程设计(SQLServer)
《数据库管理实务》 实验报告 课程号:B0900980 实验项目:数据库设计、创建、管理,数据库操作 学 号 姓 名 潘欢 同组人学号 姓名 自己 实验 地点 工程学院机房 (文波) 指导 教师 肖慎勇 时间 2012 年 6 月 评语(要求): 按时完成实验;实验内容和过程记录完整;回答问题完整、 正确;实验报告的撰写认真、格式符合要求。 成绩 教师签字 肖慎勇 一、实验目的 1.理解并掌握数据库设计的概念、方法和步骤。 2.初步应用数据库设计方法。了解需求分析的内容。 3.重点运用 ER 模型进行概念设计,然后将 ER 模型转换为关系模型。 4.深入理解 SQL Server 2005 数据库的存储结构。 5.深入理解 SQL Server 2005 的数据类型、表对象设计与定义。 6.掌握 SQL Server 2005Management studio 的应用。运用交互方式和命令方式 建立数据库和表。 7.认识和掌握 Transact-SQL 的数据库操作。 8.深入理解视图意义。掌握 SQL Server 中创建、管理与应用视图的方法。 9.深入理解数据库安全的概念。 10.深入理解 SQL Server 2005 的安全体系框架。 11.掌握登录与服务器角色的概念、操作与应用。掌握数据库用户、固定角色、 自定义角色、架构的概念、操作与应用。掌握数据库权限的概念、操作与应用。 12.理解事务的概念。 13.深入理解并掌握服务器编程的意义及方法。 14.能够编写各种自定义函数和存储过程。 。 15.理解触发器,并能够编写、应用触发器。 二、实验设备(环境)及要求 PC、 Windows XP、SQL SERVER 2005 三、实验内容及要求 实验项目:人事综合管理系统 通过调查、收集信息、分析,写出分析与设计报告。 1. 简要的系统需求分析 包括业务分析、功能需求分析、信息需求分析。 试分析该系统的基本业务,计算机信息系统需要完成的基本功能、信息系统需 要处理的信息。 2. 概念设计 设计系统的概念模型,采用 ER 模型。 3. 逻辑设计 将 ER 模型为关系模型,指出每个关系的主键、外键和必要的约束。 4. 写出数据库的物理设计 包括存储组织结构、表的结构设计等。 5. T-SQL 命令方式创建数据库的操作 利用 SQL 命令创建数据库文件、表、索引、联系和主键、外键等约束。 (实验报告应写出实验的过程,包括必要的截图。 ) 6. 利用 T-SQL 命令增加、删除、修改数据。 7. 利用 T-SQL 命令进行数据的检索和统计 根据自己设计的数据库和输入的数据,写出至少 10 个查询要求及对应的 SQL 查询命令,应该包含如下功能: 投影和选择; 多表连接; 分组统计与 HAVING; 子查询; 查询结果保存。 8. 利用 SQL 命令创建视图对象 根据开发的系统的需要,至少设计三个视图:基于单表的、包含多表连接的、 包含统计运算的。 利用 SQL 对视图进行查询。 9. 对视图进行插入、删除、修改数据操作。体会视图与表的异同。 10. 编写自定义函数。 (1) 编写一个自定义函数, 将一个字符串作为自变量, 返回颠倒顺序的字符串。 写出源代码。 (2) 编写一个自定义函数,能够实现参数化查询的功能。 自己设定函数的具体要求,然后编写出来。 11. 编写利用游标进行数据处理的存储过程。并在存储过程中应用事务的概念。 自己确定过程的具体要求,然后编写出来。 12. 编写一个实现修改表的触发器,实现完整性控制。 13. 设置服务器身份验证模式。用命令创建若干不同验证模式的登录账户。 14. 将部分登录赋予服务器角色。然后撤消。 15. 将部分登录映射到你的数据库中成为用户。 16. 创建自定义角色、架构。 17. 通过角色给用户授权。 18. 直接给用户授权,验证其获得权限前后的操作差别。 19. 删除用户和自定义的角色。 四、回答问题 1.你如何认识需求分析在系统开发中的地位和重要性? 答:我觉得需求分析就是把客户的功能描述转化为开发员所能理解的功能描述,并在客户 描述的基础上去除不合理的地方,补充系统缺失的地方,最后为系统的概要设计,详细设计提 供准确,有效的数据基础。在需求分析中要把系统所要处理的业务理解透彻,并把其中的信息 整理归类。然后还需要把整个系统所要实现的功能的逻辑思路理清楚,这些工作都是系统开发 能够继续做下去的基础。如果需求分析没有做好,或者说对整个系统的总体框架不明晰,则在 后面的设计中会很混乱,出现很多的问题。所以我觉得需求分析可以说是系统开发的核心部分, 做好这步,后面的就能清晰的进行了。 2.设计 ER 图、关系模型分别属于数据库设计的哪一阶段? 答:ER 图属于概念设计阶段;关系模型处于逻辑设计阶段 3.主键、外键对于关系数据库的意义何在? 答:主键是对表的约束,保证数据的唯一性! 外键是建立表于表之间的联系,方便程序的编写! 主键和外键是把多个表组织为一个有效的关系数据库的粘合剂。主键和外键的设计对物理 数据库的性能和可用性都有着决定性的影响。 4.在数据库存储结构设计时要考虑哪些因素? 答:首先要确定数据的存放位置和存储结构,包括:确定关系、索引、聚簇、日志、备份 等的存储安排,确定系统配置。同时要综合考虑存取时间、存储空间利用率和维护代价 3 个方 面的因素。把它们进行权衡,选择一个折中的方案。 5.在表设计时对于数据类型的选择和使用如何考虑? 答: (1)首先要清楚理解数据库中各种数据类型的用法和范围; (2)应该根据字段的实际类型来考虑数据类型; (3)要估计表中数据的大小范围,来确定数据类型的大小,避免空间不足或者浪费。 6. 交互式如何实现表之间的联系?SQL 命令如何实现表之间的联 系? 答: (1)交互式:在管理平台中,展开要操作的数据库,选择“数据库关系图”选项,然 后单击鼠标右键,在弹出的快捷菜单中选择“新建数据库关系图”命令,在弹出的窗口中选择 要建立关系的表后,则会弹出数据库关系图设计窗口。然后右键单击关系图的空白页面,在弹 出的快捷菜单中,可以新建或添加数据库中已定义的表,在该表的关联菜单中选择“属性”选 项,可以创建或定义该表的关系、键、索引和约束或修改当前的附加特性。 (2)SQL 命令:ALTER TABLE ADD CONSTRAINT constraint_name PRIMARY KEY[CLUSTERED|NONCLUSTERED] [FOREIGN KEY] REFERENCES ref_table 7.如果在定义表时进行了主键、外键以及约束等完整性设置,对 于数据的输入有何影响?试举例说明。 答:定义主键 :定义主键来强制不允许空值的指定列中输入值的唯一性。如果在数据库中 为表定义了主键,则可将该表与其它表相关,从而减少冗余数据。表只能有一个主键。如果主 键包含不止一列,则在一列中允许有重复值,但主键中所有列值的每个组合必须唯一。 定义外键:外键引用完整性表示得到正常维护的表之间的关系。表中的数据只应指向另一个表 中的现有行,不应指向不存在的行。 主键约束:使用单列或者多列组合