数据库课程设计--办公用品管理系统.docx
《数据库课程设计--办公用品管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计--办公用品管理系统.docx(15页珍藏版)》请在冰点文库上搜索。
数据库课程设计--办公用品管理系统
数据库原理及应用课程设计
《办公用品管理系统》
学生姓名:
学生学号:
学生班级:
指导老师:
目录
第一章系统概述3
第二章需求分析3
2.1系统需求分析3
2.2系统功能模块4
2.3数据流图4
2.4数据字典5
第三章概念设计6
3.1实体图6
3.2E-R图7
3.1.1局部E-R图7
3.2.2全局E-R图8
第四章逻辑结构9
4.1根据E-R生成关系模式9
4.2关系模式修改完善9
第五章物理阶段设计9
5.1数据库模式定义10
5.2相关程序代码11
5.2.1建表代码11
5.2.2数据录入13
5.3建立视图18
5.4建立索引19
5.5创建备份19
结束语19第一章系统概述
《办公用品管理系统》主要是针对企业办公用品、低值易耗品开发的一套管理软件。
完成企业对办公用品、低值易耗品日常业务的采购入库、领用出库、报表统计等管理工作。
全面反映办公用品、易耗品的采购情况、领用情况以及人员和部门的领用情况。
同时借助功能强大的查询及报表功能使管理人员能及时、准确地了解所需信息,为企业的决策提供了正确、便捷的支持平台。
帮助企业更有效、更全面的管理办公用品、低值易耗品。
第二章需求分析
2.1系统需求分析
1,基本信息的添加、修改、删除和查询,基本信息包括分类、部门和供应商等内容,为办公用品管理和数据统计模块提供依据。
2,办公用品信息的添加、修改、删除和查询,办公用品信息包括领用信息、入库信息和库存信息。
3,数据统计模块包括库存短缺统计、入库统计和领用统计等功能。
4,系统用户管理包括权限管理、密码修改等功能。
2.2系统功能模块
2.3数据流图
2.4数据字典
数据项
数据项名含义说明别名类型
员工编号唯一识别每个员工员工号、用户名Char8部门编号唯一识别每个部门部门Char4进货清单编号唯一识别每个进货清单无Char12权限每个员工能对数据库进行的操作无Char6商品编号唯一识别每种商品商品Char10类型标识商品是试用型还是使用型无Char8数据结构
数据结构名:
经办人
含义说明:
办理采购和验收
数据结构组成:
员工编号+进货清单编号+采购日期+到货日期数据结构名:
员工
含义说明:
对公司员工信息的采集数据结构组成:
员工编号+姓名+性别+家庭住址+联系方式+所属部门+权限数据结构名:
部门
含义说明:
对各个部门具体的描述数据结构组成:
部门编号+部门名称++负责人+员工数据流
数据流名:
库存报警
说明:
当库存不足系统所设定的最小数额时,系统会按照设定的采购方案自动生成进货单
流出过程:
更新库存信息
流入过程:
处理进货
组成:
商品编号+库存数量+进货数量数据存储
数据存储名:
库存清单表
说明:
经过入库或借还操作后修改库存清单表,以保证数据一致输入数据流:
入库或借还填报的表输出数据流:
库存清单表
组成:
商品编号+库存数量+修改日期处理过程
处理过程名:
处理进货
说明:
对库存报警的商品拟写进货单输入(数据流):
库存信息
输出(数据流):
进货清单
处理:
库存报警后由专门的经办人进行核对并拟定进货单第三章概念设计
3.1实体图
员工实体图:
用户实体图:
库存商品实体图:
部门实体图:
供应商实体图
3.2E-R图
3.1.1局部E-R图
员工、用户E-R图
员工、部门E-R图
员工、商品E-R图
供应商、库存E-R图
3.2.2全局E-R图
第四章逻辑结构
4.1根据E-R生成关系模式
1)供应商(供应商编号、供应商名称、地址、负责人、联系方式、供应商品、单价)1NF:
存在多值依赖、传递依赖、部分函数依赖2部门(部门编号、部门名称、联系方式、负责人编号、员工编号、岗位编号、岗位名称)2NF:
存在传递依赖、多值依赖3)员工(员工编号、姓名、性别、家庭地址、联系方式、岗位) 3NF:
无传递依赖,无部分函数依赖,主键是员工编号,外键是岗位4)库存商品(商品编号、商品名称、供应商、数量、类别) 3NF:
无传递依赖,无部分函数依赖,主键是商品编号5)用户(用户名称、密码、权限) 3NF:
无传递依赖,无部分函数依赖,主键是用户名,外键也是用户名6)采购(供应商编号、商品编号、数量) 3NF:
无传递依赖,无部分函数依赖,主键是供应商编号和商品编号7)领用(商品编号、员工编号、数量、类别) 3NF:
无传递依赖,无部分函数依赖,主键是商品编号和员工编号4.2关系模式修改完善
1)供应商(供应商编号、供应商名称、地址、负责人、联系方式) 2)商品供应(供应商编号、供应商品、单价) 3)部门(部门编号、部门名称、联系方式、负责人编号) 4)部门岗位(部门编号、岗位编号、岗位名称) 5)员工(员工编号、姓名、性别、家庭地址、联系方式、岗位) 6)库存商品(商品编号、商品名称、数量、类别) 7)用户(用户名称、密码、权限) 8)采购(供应商编号、商品编号、数量) 9)领用(商品编号、员工编号、数量、类别) 第五章物理阶段设计
物理设计是直属局库在存储设备上的实现。
在确定的SQL Server下,一切由系统去完成,此阶段需要做的是确定文件记录的组织方式,确定文件的类型及存放路径以及确定文件的多半管理准则。
5.1数据库模式定义
员工信息表:
staff字段名数据类型约束控制字段含义说明St_no char10Primary key员工编号
St_name char8Not null姓名
St_sex char2“男”或“女“性别
St_ad Varchar30Not null家庭地址
St_phone char11Not null联系方式
St_title char4Foreign key(post.P_name)岗位供应商信息表:
supply
字段名数据类型约束控制字段含义说明S_no Char(11) Primary key供应商编号S_name Varchar(20) Not null供应商名称S_ad Varchar(30) Not null地址
S_p Varchar(8)负责人
S_phone Char(11) Not null联系方式
部门信息表:
branch
字段名数据类型约束控制字段含义说明B_no Char8Primary key部门编号
B_name Varchar12Not null部门名称
B_phone Char11Not null联系方式
B_p Char10Foreign key(staff.st_no)负责人编号库存商品信息表:
goods
字段名数据类型约束控制字段含义说明G_no Char(12) Primary key商品编号
G_name Varchar(30) Not null商品名称
G_nu Int Not null数量
G_sort Char(4)“使用”,“试用”类别用户信息表:
used字段名数据类型约束控制字段含义说明
U_name Char(10) Primary key,
foreign key staff.st_no)用户名
U_limits Char(4)“初级”,“中级”,“高级”权限U_code Char(7) Not null密码
商品供应信息表:
wares
字段名数据类型约束控制字段含义说明W_no Char11Primary key供应商编号
W_name Varchar20供应商品
W_price Int Not null单价
部门岗位信息表:
post
字段名数据类型约束控制字段含义说明P_no Char8Primary key部门编号
P_na Char8岗位编号
P_name Char10Unique岗位名称
采购信息表:
procure
字段名数据类型约束控制字段含义说明Pr_no Char(11) Primary key供应商编号Pr_na Char(12)商品编号
Pr_nuInt Not null数量
领用信息表:
getting
字段名数据类型约束控制字段含义说明Ge_no Char12Foreign key(goods.G_no)商品编号Ge_name Char10Foreign key(stee。
St_no)员工编号Ge_nu Int Not null数量
Ge_sort Char4“使用”,“试用”类别5.2相关程序代码
5.2.1建表代码
建立数据库
create database bangongyongping
on
namebangongyongping_data,
filename'f:
\bangongyongpingdata.mdf',
size10mb,
size50mb,
filegrowth5mb
log on
namebangongyongping_log,
filename'f:
\bangongyongpingdata.ldf',
size5mb,
size25mb,
filegrowth5mb
员工信息表:
staffcreate table staff st_no char10primary key,
st_name char8not null,
st_sex char2checkst_sex in '男','女',
st_ad varchar30not null,
st_phone char11not null,
st_tile char10constraint st_fore foreign key references postp_name 供应商信息表:
supply
create table supply
s_no char11primary key,
s_name varchar20not null,
s_ad varchar30not null,
s_p varchar8,
s_phone char11not null
部门信息表:
branch
create table branch
b_no char8primary key,
b_name char10not null
b_phone char11not null,
b_p char10foreign key references staffst_no 库存商品信息表:
goods
create table goods
g_no char12primary key,
g_name varchar30null,
g_nu int not null,
g_sort char4check g_sort in '使用','试用' 用户信息表:
used
create table used
u_name char10foreign key references staffst_no,u_limits char4check u_limits in'初级','中级','高级',u_code char7not null,
primary keyu_name
商品供应信息表:
wares
create table wares
w_no char11not null,
w_name varchar20not null,
w_price int not null,
primary keyw_no,w_name
部门岗位信息表:
post
create table post
p_no char8not null,
p_na char8not null,
p_name char10unique,
primary keyp_no,p_na
采购信息表:
procure
create table procure
pr_no char11not null,
pr_na char12not null,
pr_nu int not null,
primary keypr_no,pr_na
领用信息表:
getting
create table getting
ge_no char12foreign key references goodsg_no,ge_name char10foreign key references staffst_no,ge_nu int not null,
go_sort char4checkgo_sort in'试用','使用',primary keyge_no,ge_name
5.2.2数据录入
部门岗位信息表:
post
insert into postp_no,p_na,p_name
values'082','01','08201'
insert into postp_no,p_na,p_name
values'083','01','08301'
insert into postp_no,p_na,p_name
values'084','01','08401'
insert into postp_no,p_na,p_name
values'085','01','08501'
insert into postp_no,p_na,p_name
values'086','02','08602'
录入员工表信息:
staff
insert into staffst_no,st_name,st_sex,st_ad,st_phone,st_tile values'1012345671','李娟','女','云南丽江','','08201' insert into staffst_no,st_name,st_sex,st_ad,st_phone,st_tile values'1012345672','张勇','男','广西桂林','','08301' insert into staffst_no,st_name,st_sex,st_ad,st_phone,st_tile values'1012345673','古浩','男','平顶山鲁山','','08201' insert into staffst_no,st_name,st_sex,st_ad,st_phone,st_tile values'1012345674','王冠','男','河南周口','','08501' insert into staffst_no,st_name,st_sex,st_ad,st_phone,st_tile values'1012345675','高丽','女','河北石家庄','','08601' 录入供应商表信息:
supply
insert into supplys_no,s_name,s_ad,s_p,s_phone values'','江南第一家','湖南毛利古城','李颖文','' insert into supplys_no,s_name,s_ad,s_p,s_phone values'','晨光','河北石家庄','赵志正','' insert into supplys_no,s_name,s_ad,s_p,s_phone values'','南极人','湖南凤凰古城','蒋健','' insert into supplys_no,s_name,s_ad,s_p,s_phone values'','欧贝尔','重庆垫江','戴峰','' insert into supplys_no,s_name,s_ad,s_p,s_phone values'','天正','四川成都','曹毅','' 录入部门表信息:
branch
insert into branchb_no,b_name,b_phone,b_p values'082','后勤部','','1012345671' insert into branchb_no,b_name,b_phone,b_p values'083','人事部','','1012345672' insert into branchb_no,b_name,b_phone,b_p values'084','外联部','','1012345673' insert into branchb_no,b_name,b_phone,b_p values'085','信息部','','1012345674' insert into branchb_no,b_name,b_phone,b_p values'086','团支部','','1012345675' 录入库存商品表信息:
goods
insert into goodsg_no,g_name,g_nu,g_sort values'0','钢笔','20','使用'
insert into goodsg_no,g_name,g_nu,g_sort values'1','圆规','13','试用'
insert into goodsg_no,g_name,g_nu,g_sort values'2','打印机','2','试用'
insert into goodsg_no,g_name,g_nu,g_sort values'3','便签','45','使用'
insert into goodsg_no,g_name,g_nu,g_sort values'4','文件夹','10','使用'
录入用户表信息:
used
insert into usedu_name,u_limits,u_code
values'1012345671','高级','1234567'
insert into usedu_name,u_limits,u_code
values'1012345672','初级','1234568'
insert into usedu_name,u_limits,u_code
values'1012345673','中级','1234569'
insert into usedu_name,u_limits,u_code
values'1012345674','初级','1234560'
insert into usedu_name,u_limits,u_code
values'1012345675','中级','1234561'
录入商品供应表信息:
wares
insert into waresw_no,w_name,w_price
values'江南第一家','便签','2'
insert into waresw_no,w_name,w_price
values'晨光','文件夹','13'
insert into waresw_no,w_name,w_price
values'晨光','订书机','15'
insert into waresw_no,w_name,w_price
values'欧贝尔','钢笔','32'
insert into waresw_no,w_name,w_price
values'南极人','记事本','12'
录入采购表信息:
procure
insert into procurepr_no,pr_na,pr_nu
values'江南第一家','3','21'
insert into procurepr_no,pr_na,pr_nu
values'晨光','0','15'
insert into procurepr_no,pr_na,pr_nu
values'晨光','3','20'
insert into procurepr_no,pr_na,pr_nu
values'欧贝尔','2','4'
insert into procurepr_no,pr_na,pr_nu
values'南极人','4','20'
录入领用表信息:
getting
insert into gettingge_no,ge_name,ge_nu,go_sort values'1','1012345671','1','试用'
insert into gettingge_no,ge_name,ge_nu,go_sort values'3','1012345671','2','使用'
insert into gettingge_no,ge_name,ge_nu,go_sort values'4','1012345674','5','使用'
insert into gettingge_no,ge_name,ge_nu,go_sort values'2','1012345673','1','试用'
insert into gettingge_no,ge_name,ge_nu,go_sort values'3','1012345672','3','使用'
5.3建立视图
常用采购:
supply_p
create view supply_p供应商编号,供应商名称,商品编号,商品名称,单价,库存数量
as select
supply.s_no,supply.s_name,goods.g_no,goods.g_name,wares.w_price,goods.g_nu from goods,supply,wares where supply.s_namewares.w_no and wares.w_namegoods.g_name
经常领用商品的员工:
staff_getting create view staff_getting员工编号,员工姓名,领用商品as select staff.st_no,staff.st_name,goods.g_name from staff,goods,getting where staff.st_nogetting.ge_name and goods.g_nogetting.ge_no
5.4建立索引
建立索引
create unique index stafff on staffst_no 查看索引
exec sp_helpindex staff
5.5创建备份
exec sp_addumpdevice 'disk','pubss','f:
\backdev\backdevpubss.bak' backup database bangongyongping to disk'f:
\backup\backdevpubss.bak' 结束语
数据库大作业即数据库课程设计已经做完,最大的感受是一句话"纸上得来终觉浅,绝知此事要躬行”,想着不难做起来真不容易在这次作业过程中,学到总结出了很多实际操作过程中非常有用的东西。
首先对Server2005,操作变得比以前熟练多了,以后工作效率会更高。
其次,对管理信息系统认识有了进一步提高。
再次,对办公用品管理现在比较熟了,了解了它的很多工作流程;而优化办公用品管理能够更好地完成企业对办公用品、低值易耗品日常业务的采购入库、领用出库、报表统计等管理工作。
以及借助功能强大的查询及报表功能使管理人员能及时、准确地了解所需信息,为企业的决策提供了正确、便捷的支持平台。
通过这次作业的实践,我们再次回顾了以前的所学的知识,锻炼了在即发现问题、解决问题的能力。
还加深了对数据库系统这门课程的认识。