工资管理系统

更新时间:2024-05-07 20:09:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

江西理工大学应用科学学院信息工程

系课程设计

课程名称: 数据库原理与技术 课题名称: 工资管理系统 姓名: 孙晓辉 班级:通信092 学号: 3号 姓名: 杜宇 班级:通信092 学号: 4号 姓名: 邓林坤 班级:通信092 学号: 9号 姓名: 彭凯华 班级:通信092 学号: 32号 完 成 时 间: 2011-6-28 指 导 老 师: 毛伊敏

指导老师评语: 得分:

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

目录

一、系统概述 ................................................ 3 1.1 现状分析 .............................................................................................. 3 1.2 系统目标 .............................................................................................. 3 二、系统数据库分析 ......................... 错误!未定义书签。 2.1数据库需求分析 ................................................ 错误!未定义书签。 2.2 数据库概念结构分析 ........................................ 错误!未定义书签。 2.3 数据库逻辑结构分析 ........................................ 错误!未定义书签。 2.4 数据字典 ............................................................ 错误!未定义书签。 三、数据库操作部分 ......................... 错误!未定义书签。 3.1 数据库创建 ........................................................ 错误!未定义书签。 3.2 数据库的更新操作 ............................................ 错误!未定义书签。 3.3 数据库的查询操作 ............................................ 错误!未定义书签。 3.4 数据库的备份和还原操作 ................................ 错误!未定义书签。 四、系统规范化设计 ......................... 错误!未定义书签。 4.1 数据库表的规范化设计 .................................... 错误!未定义书签。 4.2 数据库的完整性设计 ........................................ 错误!未定义书签。 4.3 数据库的维护和安全性设计 ............................ 错误!未定义书签。 五、总结 ................................... 错误!未定义书签。 5.1 收获 .................................................................... 错误!未定义书签。 5.2 不足和改进 ........................................................ 错误!未定义书签。 参考文献 ................................... 错误!未定义书签。 致 谢 ..................................... 错误!未定义书签。

2

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

一、系统概述 1.1 现状分析

现在的工资管理系统多半采用人工管理模式。每个月企业统计个人的工作时间,休假状况,加班情况,奖金,保险等多方面的因素,类别繁多且复杂。人员在统计信息的时候经常出现各式各样的错误,使得企业的工资发放状况一直处于欠佳状态,不仅给企业带来了诸多不便,也使得个人也要为自己工资的差错而忙碌奔波。

在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

工资管理系统是一个单位不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,所以工资管理系统应该能够为用户提供充足的信息和快捷的查询手段。使其公司工资管理初步实行计算机化,让计算机在工资管理中得到初步应用。使工资管理者总是根据准确、及时的工资管理信息来进行决策,实现管理。只有计算机才能将现代化社会中,成倍增长的工资管理信息量,进行及时收集、加工、整理、贮存、检索、传递、反馈给决策者。而一个企业工资管理系统在企业对工资管理已不可或缺。

由计算机管理的工资系统解决了所有的不便。高效与正确性不仅方便了大家,也为企业节省了很多成本,使得人力资源可以得到更加广泛的应用,响应现在的低碳经济。因此,建立计算机工资管理信息系统是一种客观发展必然趋势。尽管在工资管理方面还不可能普遍使用计算机,但从长远来说,工资管理现代化和计算机是不分割的。轻视或者拒绝利用计算机技术,就不可能真正地、全面地实现工资管理现代化。

1.2 系统目标

开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,

3

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

实现企业工资信息管理的系统化、规范化和自动化。实现企业高效、科学、现代化的员工管理。系统最终实现的主要功能如下:

(1)、对输入的工资管理数据,进行数值运算和逻辑运算,求解各种问题。对工资信息设置和管理部分:包括设置员工的基本工资和其他项目的金额,员工信息、部门信息和发放工资(工资信息)。 (2)、对工资管理信息进行加工来解决各种数据处理问题,为人事决策者在决策时提供依据。对工资管理系统部分:包括添加用户、修改用户信息。

(3)、对工资管理的各种资料数据进等统计计算,并将处理后的信息存贮起来。对员工工资查询部分:包括按员工奖金和福利补贴查询以及按部门的查询。

当前,不少单位的工资管理部门对于计算机的应用还仅限于简单的单机应用,随着时间的推移、任务的复杂、用户的需求,其应用还会扩大。随着计算机的广泛应用,计算机工资管理信息系统的建立,适应了社会经济发的客观要求,是工资管理现代化的一大进步。今天我们运用计算机进行了工资管理档案管理的初步现代化的开发和使用,它大大提高了工资管理工作者的工作效率,它把工资管理(档案、工资)从繁重的手工操作中解脱出来,用更多精力从事创造性的管理活动;它能使决策、计划和其它管理活动更加科学、精确、灵活。

该系统的运行环境需要 windows 2000以上的版本,需要CPU为P41.8GHz以上;内存为256MB以上;分辨率为最佳效果1024×768像素;

开发工具采用的是eclipse,所使用的开发语言是C语言/C++,基于Microsoft SQL Server 2000 作为数据库支持。

4

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

二、系统数据库分析 2.1数据库需求分析

工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块、工资统计模块、用户管理模块、系统维护模块、报表设计模块、打印输出模块、员工信息及模糊查询模块等等。具备以下基本功能:

1、支持企业实现规范化的管理。

2、支持企业高效率完成人事管理的日常业务,包括新员工加入时人事档案的建立,老员工转出、辞职、退休等。

3、支持企业进行人事管理及其相关方面的科学决策,如企业领导根据现有的员工合同期限决定是否继续聘用等。 系统功能结构图(如图2.1)所示:

工资管理系统

工资设置查询用户管理 月度工资计算系统维护 员工信息 基本工资设置 福利设置津贴设置 奖金设置 扣发设置 计算公式设置 统计计算与预览 报表输出及打印 员员资工工料

删查输 询 减 入

5

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

图2.1 系统功能结构图

(1)、员工信息模块

员工基本信息模块具有员工信息输入、员工增删和员工信息查询三个功能。员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。员工增删实现了对数据库中员工信息的增加和删除。员工信息查询可以通过员工号或员工姓名对员工信息进行查询。

(2)、工资设置模块

根据该公司的工资管理实际情况,本系统将工资结构分为基本工资、福利、津贴、奖金以及扣发。该模块可以对这几个个工资类型设置工资等级,并对每个等级设置工资标准。

(3)、月度工资计算模块

用户在员工信息管理模块对该员工的月工资等级进行输入以后,在月工资汇总模块会自动对员工的月工资进行统计计算。用户可以输出并打印出工资汇总表,打印之前可以通过打印预览功能进行打印预览。 (4)、用户管理模块

用户登录时有权限的设定(如图2.2)。查看或者修改系统只有管理员才有权限,而个人用户只能查看关于个人信息、工资等内容,无权查看其它信息。

图2.2 用户管理模块 (5)、系统维护模块

6

用户权限管理 用户管理 增加删除系统用户 数据库系统原理课程设计说明书――工资管理系统

系统在使用的过程中,由于使用不善,避免不了会出现一些问题。从而导致系统数据丢失,损坏,对企业是很不利的。因此,在日常的使用过程中,我们需要对系统进行维护,以保证即使出错也不会有问题(如图2.3)。

系统维护

“数据备份与还原”就是在日常使用中,管理员要经常对系统中的数据进行备份,这样在有需要的时候,只要还原数据库就可以了。 “数据导入与导出”在工作中,会有各种各样的不同的数据需要系统操作员进行录入,然而大量的工作量将大大耗费时间与精力。数据的导入与导出就可以解决这一问题,只需将原有镖客导入或导出数据库就可以了,大大节省了人力资源。

2.2 数据库概念结构分析

概念模型设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,是各种数据模型的共同基础。

本系统的概念模型图如图2.4~图2.7所示:

员工分E-R图(图2.4):

7

数据备份与还原 数据导入与导出 图2.3 系统维护模块

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

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

部门分E-R图(图2.5): 部门类型 部 门 部门编号 部门位置 部门名称 联系电话 部门负责人 部门人数 图2.5 部门分E-R图

8

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

工资分E-R图(如图2.6): 其他扣款 事假扣款 工 资 岗位工资 工资级别 工资编号 岗位津贴 加班类别 加班工时 加班天数 出勤天数 缴纳税 福利 三险一金 工龄工资 应发工资 奖金 基本工资 实发工资 技能工资 病假扣款 加班工资

图2.6 工资分E-R图

9

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

各实体之间关系的E-R图(如图2.7):

部门 n 1

管理 工作 1 n 1 n

管理员 管理 员工 1 1

设置 获得 n 1

图2.7 各实体之间关系的E-R图

2.3 数据库逻辑结构分析

? 员工(员工号,姓名,性别,年龄,所在岗位,部门编号 ,工龄,

工资等级,身份证号,民族,籍贯,婚否,职务,联系方式,出生年月,文化程度,职称,工种,职务等级,通讯地址)。

? 部门(部门编号,部门人数,部门负责人,部门名称,部门位置,部

10

工资

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

门类型)。

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

带波浪下划线的属性为各关系模式的主键,带下划线的属性为各关系模式的外键。

2.4 数据字典

1、表名:员工(员工号,姓名,性别,年龄,所在岗位,部门编号 ,工龄,工资等级,身份证号,民族,籍贯,婚否,职务,联系方式,出生年月,文化程度,职称,工种,职务等级,通讯地址),其含义:员工信息表,储存员工的基本信息。

其结构如表2.8所示:

11

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

表2.11 员工信息结构

字段名 number name sex age In post Department NO. seniority Pay grade I.D.card nation Native place marriage job contact birthday education Job title Type of job Job grade 字段类型 int char(10) char(10) int char(10) int int char(10) int char(10) char(10) char(10) char(10) char(10) date char(10) char(10) char(10) char(10) 是否为空 NOT NULL NULL NULL NULL NULL NOT NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 说明 员工号 姓名 性别 年龄 所在岗位 部门编号 工龄 工资等级 身份证号 民族 籍贯 婚否 职务 联系方式 出生年月 文化程度 职称 工种 职务等级 备注 主键 外键 12

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

Addr.

char(50) NULL 通讯地址 2、表名:部门(部门编号,部门人数,部门负责人,部门名称,部门位置,部门类型),其含义:储存部门的基本信息。

其结构如表2.12所示: 表2.12 部门信息结构 字段名 Department NO. population principal definition site type

3、表名:工资(员工号,基本工资,实发工资,技能工资,奖金,福利,工龄工资,岗位工资,工资级别,岗位津贴,出勤天数,加班工时,加班天数,加班类别,加班工资,病假扣款,事假扣款,其他扣款,应发工资,三险一金,缴纳税),其含义:工资的基本构成,存储工资的基本信息。

其结构如表2.13所示:

13

字段类型 int int char(10) char(10) char(10) char(10) 是否为空 NOT NULL NULL NULL NULL NULL NULL 说明 编号 人数 负责人 名称 位置 类型 备注 主键 数据库系统原理课程设计说明书――工资管理系统

表2.13 工资基本结构 字段名 number Base pay Salario pay Skill pay bonus weal Seniority pay Job pay Pay grade Job benefit Attendance days Added huors Added days Added type Added pay Sick leave pay deductions pay Others pay Wages be 字段类型 int int int int int int int int char(10) int int int int char(10) int int int int int 是否为空 NOT NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 说明 员工号 基本工资 实发工资 技能工资 奖金 福利 工龄工资 岗位工资 工资级别 岗位津贴 出勤天数 加班工时 加班天数 加班类别 加班工资 病假扣款 事假扣款 其他扣款 应发工资 备注 主键 14

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

insurance tax

int int NULL NULL 三险一金 缴纳税 三、数据库操作部分 3.1 数据库创建 1、 建员工表:

CREATE TABLE 员工表

(Number char(10) PRIMARY KEY, Name char(10), Sex int, Age int,

In post char(10),

Department NO. Int UNIQUE , Seniority int, Pay grade char(10), I.D.card int, Nation char(10), Marriage char(10), Job char(10), Contact char(10), Birthday date, Education char(10), Job title char(10), Type of job char(10), Job grade char(10), Addr. char(50));

15

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

2、 建部门表:

CREATE TABLE 部门表

(Department NO. int PRIMARY KEY, Population char(10), Principal char(10), Definition char(10), Site char(10), Type char(10));

3、 建工资表:

CREATE TABLE 工资表

(Number int PRIMARY KEY, Base pay int, Salario pay int, Skill pay int, Bonus int, Weal int, Seniority pay int, Job pay int, Pay grade char(10), Job benefit int, Attendance days int, Added huors int, Added days int, Added type char(10), Added pay int, Sick leave pay int,

16

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

Deductions pay int, Others pay int, Wages be int, Insurance int, Tax int));

以上表的相应属性约束如图3.6:

图3.6 表的相应属性约束

17

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

3.2 数据库的更新操作 1、插入数据

如:要新建一个新的部门,要将这个新建的部门元组(部门编号:89757;人数:50;负责人:杜拉拉;名称:人事部;位置:1栋202;类型:调剂)插入到部门表中。 INSERT

INTO 部门(Department NO.,population,principal,definition,site,type)

VALUES('89757','50','杜拉拉','人事部','1栋202','调剂') 2、修改数据

如:在员工表将员工号080604092的年龄改为22岁。 UPDATE 员工

18

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

SET Sage=22

WHERE number='080604092'; 3、删除数据

如:删除员工表中员工号为080604092的学生信息。 DELECT FROM 员工

WHERE number='080604092'

3.3 数据库的查询操作 单表查询:

如:查询所有员工的员工号和姓名. SELECT number,name FROM 员工;

多表查询:

如:查询部门编号89757的部门工资金额。 SELECT salary FROM 报表,部门

WHERE 部门.Department NO.=报表.Department NO.; 3.4 数据库的备份和还原操作 1、备份数据库

当需要将数据库保存在其他存储介质或其他文件下,应使用数据库备份操作,数据库一旦备份后,连同其中的数据表等信息均被自动备份。对于已经备份的数据库,可使用“还原”操作,使备份的数据库还原在当前服务器下。

数据库“备份”的方法可直接通过菜单实现。具体步骤如下:

(1)右键单击欲“备份”的数据库,在弹出的快捷菜单中选择“所在任务”,执行“数据库备份”功能,弹出所示的界面。

(2)在“数据库”列表框中选择要备份的数据库;在“名称”文本框中输入备份后的数据库名称;在“备份”选项栏下选择备份操作类型,共有以下4种选择。

19

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

数据库—完全:完整备份数据库的所以内容。

数据库—差异:只创建数据库中自上一次数据库备份之后修改过的所以页的副本。

事务日志:事务日志备份。

文件和文件组:数据库文件和文件组备份。 在“目的”选项栏中指定备份设备或文件名。 1)单击“添加”按钮,添加备份设备或文件。 2)单击“删除”按钮,用来删除备份设备或文件。

3)单击“内容”按钮,则可以查看已经存储在备份或文件中的备份信息,如备份集,服务器和数据库名称备份类型备份日志备份数据有效期以及备份数据长度等。

(3)单击“添加”按钮,弹出“选择备份目的”的对话框,如图1-18所示。在“文件名”文本框中选择备份后是数据库的位置和名称,单击“确定”按钮,返回。

在“重写”选项栏中选择“重写”方式。 ·追加到媒体:需要保存备份设备或文件中以前的备份数据,则选择“重写”选项栏中的“追加到媒体”选项。

·重写现有媒体:要求本备份数据覆盖以前的备份数据,从而节省存储空间。

“调度”选项栏用来安排数据库备份操作的执行时间。SQL Sever代理服务可将数据库备份作为一个任务进行安排,使它在将来某个时刻执行一次或在指定时间段内重复执行。

(4)单击“确定”按钮,系统开始备份指定的数据库。 2.还原数据库

数据库“还原”的方法可直接通过菜单实现。具体的步骤如下:

3.右键单击数据库名称,在弹出的快捷菜单中,选择“所以任务”选项,弹出“还原数据库 ”对话框。

在“常规”选项卡中,选择或输入还原后数据库名,在还原位置上选择“还原”方式,如“从设备”。

(1)单击“从设备”单选按钮,弹出“选择还原设备”对话框。 (2)单击“添加”按钮,弹出“选择还原目的”窗口。

(3)在“文件名”单选按钮下的文本框中选择备份的数据库位置和名称。

(4)单击“确定”按钮开始还原。

20

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

四、 系统规范化设计 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

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

如删除存储帐号a1,命令格式为:exec sp_droplogin 'a1' 注意:在SQL Server中删除账户信息有许多限制的,例如,已

经映射到数据库用户上的不允许被删除;系统账户sa不能被删除;正在使用的账户不能被删除;拥有数据库的账不能被删除等。 3、服务器角色管理

服务器角色是指根据SQL Server的管理任务,以及这些任务相

对的重要性等级来把具有SQL Server管理职能的用户划分为不同的用户组,每一组所具有的管理权限都是SQL Server内置的,即不能对其进行添加、修改和删除,只能向其中加入用户或者其他角色。七种常用的固定服务器角色:

程。

安全管理员(Security Administrators):管理和审核SQL Server系安装管理员(Setup Administrators):增加、删除连接服务器,建数据库创建者(Database Creators):创建数据库,并对数据库进注意:管理员或数据库所有者在设置访问权限时,应首先建立

统登录。

立数据库复制以及管理扩展存储过程。 行修改。

角色,并将访问权限集中授予角色,之后将需要拥有这一权限的用户增加到角色中,这些用户即继承角色的访问权限。 4、数据库用户管理

用户是基于数据库使用的名称,是与登录帐户相对应的。有两

个默认的数据库用户帐户:dbo和guest,可对数据库添加新用户。

26

系统管理员(System Administrators):拥有SQL Server所有的服务器管理员(Sever Administrators):管理SQL Server服务器磁盘管理员(Disk Administrators):管理磁盘文件。

进程管理员(Process Administrators):管理SQL Server系统进

权限许可。 端的设置。

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

与服务器帐户的关系:登录帐户为了访问数据库,必须成为数

据库用户帐户或者一个默认的用户帐户,数据库的访问权是通过影射数据库的对象与登录帐户之间的关系来实现的。

(1)、用户帐号添加 步骤如下:

①右键单击某数据库下“用户”,选择“新建数据库用户”,出②在对话框中选择访问该数据库的帐户,指定该帐户在该数据

现新建登录对话框。

库中的用户名称和该用户的角色等信息。(注意:只有在数据库中没有用户名称的帐户才可以选择)。

另外,还可以使用系统存储过程添加数据库用户,格式为: exec sp_grantdbaccess 用户帐户名 (2)、用户帐号删除

使用系统存储过程:sp_revokedbaccess 用户帐户名

注意:dbo是数据库的拥有者,在安装SQL Server的同时,就

被设置到Model数据库中,而且不能被删除,所以dbo在每个数据库中都存在。dbo是数据库的最高权力拥有者,可以在数据库范围内执行一切操作。dbo永远无法从数据库中删除。dbo用户对应于创建该数据库的登录账户,所以所有系统数据库的dbo都对应于sa账户。

guest用户可以是任何已经登录到SQL Server服务器的用户。所

有的系统数据库除了Model数据库以外都有guest用户,而所有新建的数据库都没有这个用户,可以使用exec sp_grantdbaccess ‘guest’,为当前数据库添加guest用户。Guest用户的存在意味着所有登录到SQL Server 服务器的用户都可以访问该数据库,即使他没有成为数据库的用户。

5、数据库角色管理

数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据库的多个角色。SQL Server提供了两种

27

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

类型的数据库角色:即固定的数据库角色和用户自定义的数据库角色。

操作。

db_accessadmin:可以增加或者删除数据库用户、工作组和角色。 db_addladmin:可以增加、删除和修改数据库中的任何对象。 db_securityadmin:执行语句许可和对象许可。 db_backupoperator:可以备份和恢复数据库。

10个固定的数据库角色(也称为标准角色):

public:每个数据库最基本的数据库角色,每建立新数据库帐户,db_owner:数据库的所有者,可以对所拥有的数据库执行任何

系统自动会为其加入public角色。

6、许可(权限)管理

SQL Server数据库对象包括表、索引、视图、触发器、存储过程等,数据库对象的创建者即成为数据库对象的所有者。数据库对象创建完后,只有拥有者可以访问该数据库对象。任何其他用户想访问对象必须获得拥有者的许可。拥有者可以授予许可给指定的数据库用户,这种许可被称作对象许可。

对表和视图,拥有者可授予INSERT、UPDATE、DELETE、SELECT和REFERENCS 许可,或者用“ALL permissions”代替前面5种许可。

数据库拥有者还可授予执行某些Transact-SQL命令的许可。这种许可在SQL Server 称作命令许可。例如“CREATETALBE”或“CREATEVIES”等。这些命令本来只有特定用户如dbo可以使用。 (1)、授权许可

授权许可的命令用Grant,具体格式参考“SQL 的联机帮助”。 如:授权a1对数据表p有插入、删除和更新操作权限。 grant insert,update,delete on p to a1

如:授权a1有创建视图,数据表的权限。 grant create view ,create table to a1

28

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

(2)、撤消许可

帮助”

五、总结 5.1 收获

对于这次数据库课程设计给的我们最大的印象是:流程是一切的根本,架构和想像是很重要的,实践比一切空谈和理论更能学到东西。虽然在制作这个课设的途中遇到了很多困难,但是,我们都没有一丝的放弃的念头。我们认为它不仅仅是一个课程设计,而是体现我们各自团队合作的能力,体现我们整理智慧。在做实例过程中,确保数据长度的一致,命令中心输入任何命令都要谨慎小心。从中锻炼我们分析问题、解决问题沉着冷静的心态;世事洞明皆学问,通过做这个课程设计,我们不仅深刻的掌握了数据库的知识而且学会了很多道理。

最后,感谢毛老师的耐心指导,没有您的无私教导和帮助,就没有今天的工资管理系统的实现,谨此,衷心感谢您!

5.2 不足和改进

29

撤消许可的命令用Grant,具体格式参考“SQL 的联机帮助” revoke insert,update,delete on p to a1, 撤消a1对数据表p有插如:授权a1有创建视图,数据表的权限。

在不撤消授权许可的前提下,数据库管理员可以根据实际情况,

入、删除和更新操作权限 (3)、拒绝许可

拒绝用户对数据库的访问,命令用Deny,具体格式参考“SQL 的联机

Deny insert,update,delete on p to a1

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

在工资管理系统的导入数据库后我们发现了许多不足之处,如:对于员工基本信息不够完善,系统设计过于单一和古板,没有非常的突出的特点。但是我们设计的工资管理系统有很大的可以拓展性,对于此系统,可以再加上许多管理的方面的内容,不单单是工资方面的,可以把此系统向银行方面的系统拓展。

参考文献

1、 刘智斌,刘玉萍,杨柳编著.《数据库原理》(第二版).重庆大学出版社,2006

2、萨师煊,王珊编著.《数据库系统概论》(第四版).高等教育出版社,2006 3、钱雪忠,陶向东编著.《数据库原理及应用实验指导》.北京邮电大学出版社,2006

4、 龚小勇编著《.关系数据库与SQL Server 2000》.机械工业出版社,2004

致 谢

“不要人夸好颜色,只留清气满乾坤”。感谢毛老师这一周以来的悉心帮助与教导,在老师的帮助下,我们完成了本次课程设计,基本达到了工资管理系统的要求。

30

本文来源:https://www.bwwdw.com/article/lyog.html

Top