工资管理系统(5)

2019-05-24 13:58

数据库系统原理课程设计说明书――工资管理系统

四、 系统规范化设计 4.1 数据库表的规范化设计

员工(员工号,姓名,性别,年龄,所在岗位,部门编号 ,工龄,工资等级,身份证号,民族,籍贯,婚否,职务,联系方式,出生年月,文化程度,职称,工种,职务等级,通讯地址)。

部门(部门编号,部门人数,部门负责人,部门名称,部门位置,部门类型)。

工资(员工号,基本工资,实发工资,技能工资,奖金,福利,工龄工资,岗位工资,工资级别,岗位津贴,出勤天数,加班工时,加班天数,加班类别,加班工资,病假扣款,事假扣款,其他扣款,应发工资,三险一金,缴纳税)。

参照范式的定义,考察员工、工资、部门表,我们发现,这张表已经满足了第一范式的要求。

1、因为这张表中字段都是单一属性的,不可再分; 2、而且每一行的记录都是没有重复的;

3、存在主属性,而且所有的属性都是依赖于主属性; 4、所有的主属性都已经定义

事实上在当前所有的关系数据库管理系统中,都已经在建表的时候强制满足第一范式。

根据第二范式的定义,转化为二范式就是消除部分依赖。

4.2 数据库的完整性设计

1、关键操作,在工资表里添加一条新纪录,实发工资会自动更新数据。定义这个触发器名称为insert_工资。 代码如下:

Create trigger insert_工资 on 工资 for insert As

21

数据库系统原理课程设计说明书――工资管理系统

Declare @i char(20) Declare @bb int Set @i=case

When @bb=0001 then '实发工资' When @bb=0002 then'实发工资' End Print @i 2、员工新调入

进行员工新调入操作时在员工信息表中添加一条新的记录,可以为员工信息表设计一个insert触发器,当员工信息表执行insert操作后自动更改出部门信息表相应记录的数据。 定义这个触发器名称为staff_insert。 其代码如下:

Create trigger staff_insert on 员工 For insert

As if(select count(*)

From 部门,inserted,工资

Where 部门,部门人数=inserted.部门人数and工资.工号=inserted.工号)=0

Rollback transaction Go

3、员工调出

进行员工调出操作时是在员工信息表中删除该员工的记录,可以为员工信息表设计一个delete触发器,当员工信息表执行delete操作后,工资表、部门表中的记录也将全部删除。定义这个触发器名称为staff_delete。 其实现代码如下:

Create trigger staff_delete on 员工 For delete

22

数据库系统原理课程设计说明书――工资管理系统

As select count(*)

From 部门,工资,deleted

Where 部门,部门人数=deleted.部门人数 and 工资工号=deleted.工号 GO (4)、员工内部调动

为员工表设计一个名为staff_update的UPDATE的触发器,当系统对员工表进行UPDATE操作后,将会自动触发它。该触发器将相应记录的部门人数、部门名称、工资更新。

下面是client_update 触发器的定义代码:

Create trigger staff_update ON 员工 For update As select count(*)

From updated,部门

Where 部门,部门名称=updated.部门名称 Go

4.3 数据库的维护和安全性设计 1、SQL SEVER的安全体系结构

(1)、客户机操作系统的安全性:在使用客户计算机通过网络

实现对SQL SEVER服务器的访问时,用户首先要获得客户计算机操作系统的使用权。

操作系统安全性是操作系统管理员或网络管理员的任务。 (2)、SQL SEVER的登录安全性:SQL SEVER服务器的安全,

建立在控制服务器登录帐号和密码的基础上。两种登录方式,无论是使用哪种登录方式,通过登录时提供的密码和账号,决定了用户能否获得SQL SEVER访问权,并确定获得访问权限后,用户使用SQL SEVER进程时就可以拥有的权利。

23

数据库系统原理课程设计说明书――工资管理系统

管理和设计合理的登录是数据库管理员(DBA)的重要任务。 (3)、数据库的使用安全性:设置访问数据库用户 (4)、数据库对象的使用安全性:设置对数据库对象操作权限

2、SQL SERVER的安全控制

(1)、SQL SERVER的认证模式及认证模式配置

SQL SERVER的认证模式有两种:“Windows only认证”模式和

“混合模式”。“Windows only认证”模式只允许使用“Windows”认证机制。这时,用户不能指定SQL Server的登录账户。混合认证模式既允许使用“Windows only认证”机制,也允许使用SQL Server认证机制。当使用该种认证模式时,对于可信连接用户的连接请求,系统将采用WindowsNT/2000认证模式,而对于非可信连接则采用SQL Server认证模式,采用SQL Server认证模式时,系统检查是否已经建立了该用户的登录标识以及口令,通过验证后,才可以连接到SQL Server服务器上。

(2)、服务器登录管理

(1、SQL Server服务器登录管理

SQL Server有2个默认的用户登录帐号:即sa和

administrators\\builtin。登录账户的信息存储在系统表master_syslogins中。sa是系统管理员的简称,是一个特殊的登录账户,拥有SQL Server系统和全部数据库中的权限。不管SQL Server实际的数据库所有权如何,sa账户被默认为是任何用户数据库的主人。所以,sa拥有作高最高的管理权限,可以执行服务器范围内的所有操作。

Windows NT Server/2000还有一个默认的超级管理员账户

BUILTIN\\administrators,BUILTIN\\administrators账户在SQL Server系统上和全部数据库也有全部的权限。

(2、服务器帐号的添加

Windows NT/2000帐户由Windows域用户管理创建/修改和删

除。当使用SQL Server的混合验证时,只能使用SQL Server登录标识来管理用户连接。

使用菜单建立用户帐号的步骤如下:

24

数据库系统原理课程设计说明书――工资管理系统

①企业管理器中单击登录的服务器中的“安全性”文件夹。 ②用右键单击“登录”,选择新建登录,出现新建登录对话框。 ③在“常规”页框界面下,用于指定登录帐户的名称、身份验④在服务器角色页框界面下,用于对登录授予服务器范围内的⑤选择数据库访问页框,用于确定该帐户在SQL中对哪个数据

证的方式和默认访问的数据库。

安全特权。在服务器角色列表框中,列出了系统的固定服务器角色。 库拥有什么样的权限。上、下两个列表框分别列出了该帐号可以访问的数据库和数据库角色。,

⑥设置完成后,单击“确定”按钮即可完成登录帐号的创建。 注意:在SQL 中增加了登录账户之后,就可以把它们映射成它

们需要访问的数据库中的用户或者角色,每一个数据库中,系统表sysusers的每一行都表示是一个Windows NT用户、Windows组、SQL Server用户或者SQL Server角色。

用户帐号的修改

使用系统存储过程sp_defaultdb、sp_defaultlanguage修改登录帐

户的默认数据库和默认语言;使用系统存储过程sp_password来修改用户的密码。

帐户名

为a2。

(3、用户帐号删除

用户帐号删除可以使用鼠标操作,也可以使用系统存储过程。如:exec sp_password 'a1','a2','a1',将帐户名为a1的旧密码a1改sp_defaultdb的调用格式为:exec sp_defaultdb 帐户名,新默认如:exec sp_defaultdb 'a1','pubs' ,a1帐户默认数据库为pubssp_password的调用格式为:exec sp_password 旧密码,新密码,

数据库名称。 数据库。

系统存储过程的调用格式为:exec sp_droplogin 用户帐号。

25


工资管理系统(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:单片机原理及应用课程设计 - 洗衣机控制器

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: