人事管理系统数据库课程设计(SQL-Server)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《数据库管理实务》实验报告课程号:B0900980实验项目:数据库设计、创建、管理,数据库操作学号姓名潘欢同组人学号姓名自己实验地点工程学院机房(文波)指导教师肖慎勇时间2012年6月评语(要求):按时完成实验;实验内容和过程记录完整;回答问题完整、正确;实验报告的撰写认真、格式符合要求。成绩教师签字肖慎勇一、实验目的1.理解并掌握数据库设计的概念、方法和步骤。2.初步应用数据库设计方法。了解需求分析的内容。3.重点运用ER模型进行概念设计,然后将ER模型转换为关系模型。4.深入理解SQLServer2005数据库的存储结构。5.深入理解SQLServer2005的数据类型、表对象设计与定义。6.掌握SQLServer2005Managementstudio的应用。运用交互方式和命令方式建立数据库和表。7.认识和掌握Transact-SQL的数据库操作。8.深入理解视图意义。掌握SQLServer中创建、管理与应用视图的方法。9.深入理解数据库安全的概念。10.深入理解SQLServer2005的安全体系框架。11.掌握登录与服务器角色的概念、操作与应用。掌握数据库用户、固定角色、自定义角色、架构的概念、操作与应用。掌握数据库权限的概念、操作与应用。12.理解事务的概念。13.深入理解并掌握服务器编程的意义及方法。14.能够编写各种自定义函数和存储过程。。15.理解触发器,并能够编写、应用触发器。二、实验设备(环境)及要求PC、WindowsXP、SQLSERVER2005三、实验内容及要求实验项目:人事综合管理系统通过调查、收集信息、分析,写出分析与设计报告。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命令:ALTERTABLEADDCONSTRAINTconstraint_namePRIMARYKEY[CLUSTERED|NONCLUSTERED][FOREIGNKEY]REFERENCESref_table7.如果在定义表时进行了主键、外键以及约束等完整性设置,对于数据的输入有何影响?试举例说明。答:定义主键:定义主键来强制不允许空值的指定列中输入值的唯一性。如果在数据库中为表定义了主键,则可将该表与其它表相关,从而减少冗余数据。表只能有一个主键。如果主键包含不止一列,则在一列中允许有重复值,但主键中所有列值的每个组合必须唯一。定义外键:外键引用完整性表示得到正常维护的表之间的关系。表中的数据只应指向另一个表中的现有行,不应指向不存在的行。主键约束:使用单列或者多列组合,表示每一条记录的唯一性,值不能为空;外键约束:是为了加强数据表之间的关键的表中的单列或者多列值,必须依赖另外的表存在;唯一约束:不允许数据库中的某一列数据有重复,但是允许有空值存在。主键和唯一性约束定义了表中记录的唯一性,但是主键列的值不鞥为空,而唯一键约束的列的值可以为空值;8.用INSERTINTO命令输入,如果数据与字段数量和要求不一致有什么问题?当表定义中有默认值的时候,插入记录是否可以省略该字段的数据?答:如果数据与字段数量和要求不一致,那么会插入失败,并且SQLServer将显示错误信息。有默认值时可以省略该字段数据,系统会为该列提供默认值。9.HAVING子句有什么作用?答:HAVING字句与WHERE子句一样,也可以起到按条件选择记录的功能,但HAVING子句是作用于组,必须与GROUPBY子句连用,用来指定每一分租内应满足的条件。10.当通配字符作为普通字符参与匹配查询时,如何解决这样的问题?答:转义,对通配符加[]。11.可否利用视图进行数据的插入、删除、修改?答:可以通过视图对基础表中的数据进行检索、添加、修改和查询。但是插入、修改、删除数据是只能做单表的,基于多表的视图不可以删除和修改。12.根据自己的体会,谈谈视图在数据库体系中的作用。模式答:利用视图可以简化用户操作数据的方式。可将经常使用的连接、投影、联合查询和选择查询定义为视图,这样每次对特定的数据执行进一步操作时,不必指定所有条件和限定。除此之外还可以定制数据,导出数据。还可以用GRANT和REVOKE命令为各种用户授予在视图上的操作权限,这样通过视图,用户只能查询或修改他们各自所能见到的数据,数据库中的其他数据对他们来说是不可见的或不可修改的。保证数据库的安全性。13.视图是如何保存的?视图中的数据是否真的存储在文件中?答:保存视图将更改服务器上的视图定义。当您保存视图时,基础数据库引擎将使用新的视图定义。在查询和视图设计器中打开视图定义并对其进行修改。(1)在查询和视图设计器中打开视图定义并对其进行修改。(2)从“文件”菜单中单击“保存view_name”,其中view_name是打开的视图的名称。14.SQLSERVER有几种身份验证模式?区别是什么?不同验证模式的登录账户有何区别?答:有两种(1)windows身份验证模式,是默认的验证模式,使用windows操作系统的安全机制验证用户身份,只要用户能够通过windows用户账号验证,并且是SQLServer的登录账户,即可连接到SQLServer而不用进行身份验证,只适用于能够提供有效身份验证的windows操作系统。(2)混合的验证模式:在该模式下,Windows和SQLServer两种验证模式都可用,对可信任连接用户,直接采用windows的身份验证,否则采用SQLServer模式,用户在连接SQLServer时必须提供登录名和密码,SQLServer自己执行认证处理,如果输入的登录信息与系统表syslogins中的某几条记录相匹配时表明登录成功。15.Sa账户有何特点?答:Sa账户是SQLServer的特殊账户,sa账户拥有服务器和所有的数据库。即Sa账户拥有最高的管理权限,可以执行服务器范围内所有操作。它是以SQLServer身份验证的,所以必须设置一个密码。同时,sa账户的属性不可以更改,密码可以修改。Sa登录时无法删除的。16.共有几种服务器角色?最高权限的角色是什么?能够创建数据库的角色是哪个?答:共有8种固定服务器角色,分别是:sysadmin,serveradmin,setupadmin,securityadmin,processadmin,dbcreator,diskadmin,bulkadmin;同时每一个登录用户都属于public服务器角色。最高权限的角色是sysadmin;能够创建数据库的角色是:sysadmin,dbcreator;17.数据库用户和登录账户有什么关系?guest是什么用户?有何作用?答:这是两种不同级别的安全机制,登录账户是SQLServer级的安全性设置,而数据库用户则是数据库级的安全性设置。登录账户用于登录服务器,但是当某一用户要访问某个数据库时,除了可以成为服务器的一个登录以外,还必须成为这个数据库的用户账户,即获得一定的授权。数据库用户账号在一般情况下是从某个登录账户中映射过来的。Guest是来宾用户,是用来共享文件的。任何一个登录都可以以此身份访问数据库。Guest自动本身只具有public权限。也可以由其他用户授权。18.数据库角色有哪两类?PUBLIC角色有何特点?答:数据库角色分为固定的数据库角色和用户定义数据库角色。每个数据库都有一系列固定数据库角色。虽然每个数据库中都存在名称相同的角色,但各个角色的作用域只是在特定的数据库内。用户定义数据库角色是用户根据工作的职能定义一系列角色,并给每个角色指派了适合这项工作的权限。从而在数据库中管理这些权限。PUBLIC角色的特点:默认不具有任何权限,但用户可对此角色进行授权,他不能被删除,是所有user自动拥有的角色。数据库中的每个用户都属于public数据库角色。如果想让数据库中的每个用户都能有某个特定的权限,则将该权限指派给public角色。如果没有给用户专门授予对某个对象的权限,他们就使用指派给public角色的权限。19.用户与架构有什么关系?系统默认

1 / 44
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功