数据库课程设计大作业docWord文档下载推荐.docx
《数据库课程设计大作业docWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库课程设计大作业docWord文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
工资管理系统功能结构图
(1)经理室:
管理人员;
(2)财务科:
财务人员;
(3)技术科:
技术人员;
(4)销售科:
销售人员。
三>
数据库概念结构设计
工资管理系统:
(1)在工资管理局部应用中主要涉及的实体的属性:
Ø
科室(科室号,科室名)
员工(员工号,员工名,性别,年龄,职称,科室代码)
工资(员工号,基本工资,奖金,福利,住房公积金,失业保险,实发工资,月份)
(2)实体间的联系:
公司与科室之间是1:
m(m≥0)的联系;
科与员工之间是m:
n的联系;
管理部门与员工之间是1:
n的关系;
员工与工资之间是1:
1的联系。
(3)工资管理系统的E-R图:
四>
数据库逻辑结构设计
(1)逻辑结构设计图型描述:
表1KESHI表结构
字段名
数据类型
字段长度
允许空否
字段说明
Kno
Char
2
NotNull
科室代码,主键,
Kname
Varchar
10
科室名称
表1WORKER表结构
Wno
6
工号,主键
Wname
姓名
Sex
性别
Age
INT
年龄
Prof
职称
4
(单位)科室代码,外键(参照KESHI表)
表3SALARY表结构
工号,主键,
外键(参照WORKER表)
Wbase
Dec
Null
基本工资
Wbonus
奖金
Wwelfare
福利
WG
住房公积金
WL
DEC
NOTNULL
失业保险
Wfact
实发工资=基本工资+奖金+福利
—失业保险—住房公积金
Month
Int
月份
表4表KESHI中的数据
01
经理室
02
财务科
03
技术科
04
销售科
表5表WORKER中的数据
000001
罗宏波一
男
21
经理
000002
罗宏波二
女
22
副经理
000003
罗宏波三
23
工程师
000004
罗宏波四
24
销售员
000005
罗宏波五
25
000006
罗宏波六
26
会计师
000007
罗宏波七
27
000008
罗宏波八
28
000009
罗宏波九
29
000010
罗宏波十
表6表SALARY中的数据
month
3000
300
100
50
3300
1
2500
200
2700
逻辑结构设计图
(2)逻辑结构设计列表描述:
序号
表名
中文名
作用
KESHI
科室名称表
存储科室信息
WORKER
员工基本信息表
存储员工基本信息
3
SALARY
工资表
存储员工工资信息
数据库中各表的作用
五>
数据库实现
/*createdatabaseGONGZIGUANLI*/
/*createtableKESHI
(
Knochar
(2)notnull,
Knamevarchar(10)notnull,
primarykey(Kno)
);
*/
/*createtableWORKER
Wnochar(6)notnull,
Wnamevarchar(10)notnull,
Sexchar
(2)notnull,
Ageintnotnull,
Profvarchar(10)NOTnull,
primarykey(Wno),
foreignkey(Kno)referencesKESHI(Kno)
/*createtableSALARY
Wbasedec(6)notnull,
Wbonusdec(6)NOTNULL,
Wwelfaredec(6)NOTNULL,
WGdec(6)NOTNULL,
WLdec(6)NOTNULL,
Wfactas(Wbase+Wbonus+Wwelfare-WG-WL),
monthintnotnull,
foreignkey(Wno)referencesWORKER(Wno)
/*insertintoKESHI(Kno,Kname)values('
01'
'
经理室'
insertintoKESHI(Kno,Kname)values('
02'
财务科'
03'
技术科'
04'
销售科'
/*insertintoWORKER(Wno,Wname,Sex,Age,Prof,Kno)values('
000001'
罗宏波一'
男'
21'
经理'
insertintoWORKER(Wno,Wname,Sex,Age,Prof,Kno)values('
000002'
罗宏波二'
女'
22'
副经理'
000003'
罗宏波三'
23'
工程师'
000004'
罗宏波四'
24'
销售员'
000005'
罗宏波五'
25'
000006'
罗宏波六'
26'
会计师'
000007'
罗宏波七'
27'
000008'
罗宏波八'
28'
000009'
罗宏波九'
29'
000010'
罗宏波十'
/*
insertinto
SALARY(Wno,Wbase,Wbonus,Wwelfare,WG,WL,month)values('
3000'
300'
100'
50'
1'
2500'
200'
/*selectKno,count(Wno)
FROMWORKER
GroupbyKno;
/*selectKESHI.Kno,Kname,sum(Wfact)
FROMSALARY,KESHI,WORKER
WHEREKESHI.Kno=WORKER.KnoANDWORKER.Wno=SALARY.Wno
GroupbyKESHI.Kno,Kname;
/*selectProf,count(Wno)
GroupbyProf;
/*selectWORKER.Prof,sum(Wfact)
FROMKESHI,WORKER,SALARY
WHEREWORKER.Wno=SALARY.Wno
GroupbyWORKER.Prof;
/*deletefrom
SALARYwhereWno='
;
deletefrom
WORKERwhereWno='
/*selectWno,Wname,Sex,Age,Prof,KnofromWORKER;
/*selectdistinctproffromWORKER*/
/*selectWno,Wbase,Wbonus,Wfact,monthfromSALARY
whereWnobetween'
and'
orderbyWfactasc;
/*SELECT*
fromWORKER,SALARY
WHEREWORKER.Wno=SALARY.Wnoandmonth=1;
六>
运行结果
设计题目:
工资管理系统
1)某单位现有1000名员工,其中有管理人员、财务人员、技术人员和销售人员。
2)该单位下设4个科室,即经理室、财务科、技术科和销售科。
3)工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除。
4)工的基本资料有姓名、性别、年龄、单位和职业(如经理、工程师、销售员等)。
5)每月个人的最高工资不超过3000元。
工资按月发放,实际发放的工资金额为工资减去扣除。
6)实现按照科室录入个人的基本资料、工资和扣除金额的数据。
7)计算个人的实际发放工资。
8)按科室、职业分类统计人数和工资金额。
9)能够删除辞职人员的数据。
10)其它
七>
数据库设计经验教训总结
“数据库技术是近年来计算机科学技术中发展最快的领域之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。
”
“数据库是数据管理的最新技术,是计算机科学的重要分支。
今天,信息资源已成为各个部门的重要财富和资源。
建立一个满足各个部门信息处理要求的行之有效的信息系统也成为一个企业或组织的生存和发展的重要条件。
因此,作为信息系统的核心和基础的数据库技术得到越来越广泛的应用,从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理,从一般企业管理到计算机辅助设计与制造,计算机集成制造系统、电子政务、电子商务、地理信息系统等等,越来越多新的应用领域采用数据库技术来存储和处理信息资源。
对于一个国家来说,数据库的建设规模、数据库信息量的大小和使用频度已成为衡量这个国家信息化程度的重要标志。
因此,数据库课程不仅是计算机科学与技术专业、信息管理专业的重要课程,也是许多非计算机专业的选修课程。
选定题目:
工资管理系统。
根据数据库实验,完成此次数据库的设计。
首先,在实验室里熟悉SQL2000软件的操作环境,并完成数据库上机实验内容,在此基础上,设计“工资管理系统”就更容易啦,创建表,插入员工数据,更新数据,删除数据,只要熟悉操作环境,认真完成实验内容,设计的时候便得心应手;
掌握基本理论知识,搞清楚每一个操作的来龙去脉,原因及其结果,出现错误,学会用理论知识分析其原因,并加以改正,了解原因之后,有利于加深对数据库的理解,对设计步骤更加熟悉。
进行需求分析,概念设计,逻辑设计,物理设计,最终实现数据库的设计。
一个公司或企业需要进行员工的工作管理,工资管理系统能够有效地完成管理任务,大大提高了企业或公司的办公效率。
一个公司里必定有几个科室,我设计的工资管理系统,此公司下属四个科室,包括经理室、财务科、技术科、销售科,经理室有经理和副经理,财务科有财务人员,技术科有技术人员,销售科有销售人员,不同的科室,不同的人员有不同的职称,包括经理、副经理、工程师、会计师、销售员;
员工的资料包括工号、姓名、性别、年龄、职称、科室代码,科室包括科室代码、科室名,员工的工资包括基本工资、奖金、福利、住房公积金、失业保险、实发工资、月份。
在设计数据库的时候,先在SQL环境下输入源代码,创建“GONGZIGUANLI”数据库,插入表KEHSI、WORKER、SALARY,打开企业管理器,确认是否已插入三个表,下一步是插入科室的数据,员工的基本信息,员工的工资信息,执行完插入语句之后,打开企业管理器,确认是否完成插入,确认信息之后,继续操作下一步;
初步建好数据库之后,开始测试数据库的功能,按科室、职业分类统计人数和工资金额,能够删除辞职人员的数据,查询员工的信息,查询工资的发放情况。
完成这些基本操作之后,一个“工资管理系统”基本成型,就能完成一个公司或企业的工资管理。
再设计数据库的时候,难免会遇到一些问题,例如,插入员工的数据时候,数据插不进去;
删除员工的数据的时候,删除错误等等。
经过分析,出现这些错误的原因大多数是编写代码出错,插入语句或删除语句的编写错误。
解决这些出现的问题,必须充分理解数据库的设计理论知识,知道出错的原因,才能有效地解决问题,就像老师讲的“皮与毛”的关系,对加深对数据库的理解很有帮助,对解决删除时候出现的问题也很有帮助。
完成数据库的设计,总结经验教训,无论设计数据库还是设计其他东西,首先,必须充分理解设计内容理论知识,理论知识是基础;
其次,多进行实际操作,比如认真完成上机实验,只有多操作,才能发现问题,解决问题;
最后,多问问题,多思考,出现问题,多向老师请教,自己多思考,认真解决。
在老师和同学的帮助下,我最终完成了“工资管理系统”数据库的设计,在此,衷心感谢给予我帮助的同学和老师!