数据库进销存管理系统设计Word格式文档下载.docx
- 文档编号:5331295
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:29
- 大小:331.51KB
数据库进销存管理系统设计Word格式文档下载.docx
《数据库进销存管理系统设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库进销存管理系统设计Word格式文档下载.docx(29页珍藏版)》请在冰点文库上搜索。
可以按照商品的类别和名称查询商品
商品记录的统计
商品记录的打印
客户信息管理
用户修改,删除,新增或查询客户数据(其中包括对客户的联系人的修改,删除,新增与查询以及对客户交易记录的查询),系统根据用户的操作,对商品资料进行更新或显示。
员工信息管理
员工修改,删除,新增或查询员工数据,系统根据用户的操作,对员工资料进行更新或显示。
供应商信息管理
用户修改,删除,新增或查询供应商数据(其中包括对供应商的联系人的修改,删除,新增与查询以及对供应商交易记录的查询),系统根据用户的操作,对供应商资料进行更新或显示。
采购管理
采购入库
用户通过录入采购入库单增加采购的货物,并可对采购入库单及其单据中的货物明细进行修改、删除与查询。
进货管理
商品进货信息的登记:
记录商品的进货数量、单价、供货商等
商品进货信息的修改、删除等
更新库存
采购信息的变动也使商品库存改变,及时更新库存的信息
打印报表
对全部采购记录或满足条件的采购记录列表以报表的形式进行打印
销售管理
商品销售信息的登记:
记录商品的销售数量、单价、销售日期等
商品销售信息的修改、删除等
统计查询
根据商品的类别、名称、供货商等来查询统计商品的销售情况
销售信息的变动也使商品库存改变,及时更新库存的信息
对全部销售记录或满足条件的销售记录列表以报表的形式进行打印输出
库存管理
用户通过组合不同条件,对库存进行查询、盘点。
各种有关报表的打印
报损管理
商品报损信息的登记:
记录商品的报损信息,包括商品报损数量、报损原因等
商品报损信息的修改、删除等
根据商品的类别、名称、供货商等来查询统计商品的报损情况
报损信息的变动也使商品库存改变,及时更新库存的信息
对全部销售记录或满足条件的报损记录列表以报表的形式进行打印输出
第二章概念结构设计
2.1分E-R图及文字描述
⏹商品的实体与属性如图3所示,商品的属性主要包括商品编号,商品名称,商品规格,商品价格,计量单位。
图3“商品”实体E-R图
⏹供货商的实体与属性如图4所示,供货商的属性主要包括供货商编号,供货商名称,联系人,联系方式,地址。
图4“供货商”实体E-R图
⏹客户的实体与属性如图5所示,客户的属性主要包括客户编号,客户名,联系方式,地址。
图5“客户”实体E-R图
⏹员工的实体与属性如图6所示,员工的属性主要包括员工编号,员工姓名,性别,联系方式,部门
图6“员工”实体E-R图
⏹仓库的实体与属性如图7所示,仓库的属性主要包括仓库编号,仓库名称,库存数量,员工编号。
图7“仓库”实体E-R图
2.2各实体之间的联系图
⏹员工、商品、客户三者的实体联系如图8所示,它们之间由销售这个关系构成的是多对多的联系。
图8“员工—商品--客户”实体联系图
⏹商品、仓库三者的实体联系如图9所示,它们之间是由出库和入库这两个关系分别构成的是多对多的联系。
图9“商品--仓库”联系图
⏹员工、商品、供货商三者的实体联系如图10所示,它们之间由采购构成的是多对多的联系。
图10“员工—商品--供货商”联系图
⏹员工、商品实体联系如图11所示,它们之间由报损这个关系构成的是多对多的联系。
图11“员工--商品”联系
2.3全局E-R图,并加以文字描述
根据需求分析,设计出来的实体有客户实体,商品实体,供货商实体,员工实体,仓库实体。
根据实体之间的联系,构建了进销存管理系统的E-R图,如下图12所示。
图12“进销存管理系统”全局E-R图
第三章逻辑结构设计
3.1逻辑结构及描述
逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。
从E-R图向关系模式转化数据库的逻辑设计主要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。
Ø
实体转换为关系模式
商品(商品编号,商品名称,商品规格,商品价格,计量单位)
供货商(供货商编号,供货商名称,联系人,联系方式,地址)
客户(客户编号,客户名,联系方式,地址)
员工(员工编号,员工姓名,性别,部门,联系方式)
仓库(仓库编号,仓库名称,仓库容量)
联系转换为关系模式
采购(采购编号,进货单价,进货数量,进货日期,商品编号,供货商编号,员工编号)
销售(销售编号,销售日期,商品编号,销售数量,销售单价,员工编号,客户编号)
报损(报损编号,报损数量,报损日期,报损原因,商品编号,员工编号)
出库(出库编号,仓库编号,出库日期,出库数量,商品编号)
入库(入库编号,仓库编号,入库日期,入库数量,商品编号)
第四章物理结构设计
4.1创建表
1.商品
CREATETABLEsp
(商品编号Char(4)Notnullprimarykey,
商品名称Varchar(20)Notnull,
商品规格varchar(20),
商品价格Char(20),
计量单位Varchar(4))
列名
数据类型
长度
Null
说明
商品编号
Char
4
Notnull
主键
商品名称
Varchar
20
商品规格
商品价格
计量单位
2.员工
CREATETABLEyg
(员工编号Char(4)Notnullprimarykey,
员工姓名Varchar(20)Notnull,
性别Varchar(4),
部门varchar(20),
联系方式Char(20))
员工编号
Int
员工姓名
varchar
性别
部门
联系方式
3.供货商
CREATETABLEghs
(供货商编号Char(4)Notnullprimarykey,
供货商名称Varchar(50)Notnull,
联系人Varchar(20),
地址varchar(50),
供货商编号
供货商名称
联系人
地址
50
4.客户
CREATETABLEkh
(客户编号Char(4)Notnullprimarykey,
客户名Varchar(50)Notnull,
客户编号
客户名
Char
5.仓库
CREATETABLEck
(仓库编号Char(4)Notnullprimarykey,
仓库名称Varchar(50)Notnull,
仓库容量char(50))
仓库编号
仓库名称
仓库容量
200
6.采购
CREATETABLEcg
(采购编号Char(4)Notnullprimarykey,
进货单价Char(20),
进货数量Char(20),
进货日期Smalldatetime,
商品编号Char(4)Notnull,
供货商编号Char(4)Notnull,
员工编号Char(4)Notnull)
采购编号
进货单价
进货数量
进货日期
Smalldatetime
外键
7.销售
CREATETABLExs
(销售编号Char(4)Notnullprimarykey,
销售单价Char(20),
销售数量Char(20),
销售日期Smalldatetime,
客户编号Char(4)Notnull,
销售编号
销售单价
销售数量
销售日期
8.报损
CREATETABLEbs
(报损编号Char(4)Notnullprimarykey,
报损数量Char(20),
报损日期Smalldatetime,
报损原因varchar(200),
员工编号Char(4)Notnull)
列名
报损编号
报损数量
报损日期
报损原因
9.出库
CREATETABLEchuk
(出库编号Char(4)Notnullprimarykey,
出库数量Char(20),
出库日期Smalldatetime,
仓库编号Char(4)Notnull)
出库编号
出库数量
出库日期
10.入库
CREATETABLErk
(入库编号Char(4)Notnullprimarykey,
入库数量Char(20),
入库日期Smalldatetime,
入库编号
入库数量
入库日期
4.2索引及其作用
1.索引的作用:
第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
2.索引名:
商品价格
建这个索引的作用:
在进销存管理系统中,因为经常会根据商品的价格进行商品的查询的,因此可以在商品表上基于“商品价格”字段建立以升序排列的索引,这样进行数据检索时,同样可以显著减少查询中的时间。
代码如下:
USEjxc
GO
CREATEINDEX商品价格ONdbo.sp(商品价格)
3.索引名:
部门
✧建这个索引的作用
在进销存管理系统中,因为经常会根据员工的部门进行相关信息的查询,因此可以在员工表上基于“部门”字段建立以升序排列的索引,这样进行数据检索时,同样可以显著减少查询中的时间。
✧创建索引的代码
CREATEINDEX部门ONdbo.yg(部门)
第五章数据库完整性、安全性设计
一、数据库完整性
5.1约束
1.约束名:
Sex
✧约束的类型
CHECK约束
✧创建约束的作用
对性别列中的值进行限制,使其值只能接受“男”或“女”,以强制执行域的完整性
✧创建约束的代码
altertableYG
addconstraintSexcheck(性别between'
男'
and'
女'
)
2.约束名:
Con_GoodsNo1
FOREIGNKEY约束
把销售表中的“商品编号”列和商品表中的“商品编号”关联起来
altertableXS
addconstraintCon_GoodsNo1foreignkey(商品编号)references商品(商品编号)
3.约束名:
Sname
约束的类型
UNIQUE约束
创建约束的作用
把员工表中的“员工姓名”设为唯一键约束
创建约束的代码
altertableYGaddunique(sname)
5.2默认
1.默认名:
Default_Unit
✧默认的绑定对象
商品表中的计量单位列
✧创建默认的作用
在插入数据行时,为没有指定数据的计量单位列提供事先定义的默认值。
✧创建和绑定默认的代码
●创建一个默认值为'
个'
的默认值
createdefaultDefault_Unitas'
●将创建的Default_Unit默认值绑定到商品表的计量单位列上
execsp_bindefault'
Default_Unit'
'
SP.计量单位'
2.默认名:
Default_sex
员工表中的性别列
在插入数据行时,为没有指定数据的性别列提供事先定义的默认值。
createdefaultDefault_sexas'
●将创建的Default_sex默认值绑定到商品表的计量单位列上
Default_sex'
YG.sex'
3.默认名:
Default_dz
客户表中的地址列
在插入数据行时,为没有指定数据的地址列提供事先定义的默认值。
杭州'
createdefaultDefault_DZas'
Default_DZ'
KH.dz'
4.默认名:
Default_ck
仓库表中的仓库编号列
在插入数据行时,为没有指定数据的仓库列提供事先定义的默认值。
0001'
createdefaultDefault_ckbhas'
Default_ckbh'
ck.ckbh'
5.3规则
1.规则名:
rule_Spec
✧规则的绑定对象
员工表中的部门列
✧创建规则的作用
在插入数据行时,指定接受的数据值的范围
✧创建和绑定规则的要求
●定义一个规则rule_Spec,这个规则限制员工中的部门列只能取以下的值:
采购部、销售部、办公室、仓储部,财务部。
createrulerule_Spec
as
@listin('
采购部'
'
销售部'
仓储部'
财务部'
办公室'
●将上题创建的rule_Spec规则绑定到员工表的部门列上
execsp_bindrule'
rule_Spec'
YG.部门'
2.规则名:
rule_age
客户表中的年龄列
定义一个规则rule_age,这个规则限制员工中的部门列只能取以下的:
1970-2001
createrulerule_age
@age>
25and@年龄<
35
rule_Age'
yg.年龄'
5.4存储过程
1.存储过程名:
proc1
✧创建存储过程的作用
根据商品编号,查询该商品的进货情况,其中包括该商品的商品编号,商品名称,商品规格,进货单价,进货数量,进货日期,供货商名称。
✧创建存储过程的代码
createprocedureproc1
@商品编号char(4)
selectxp.商品编号,商品名称,商品规格,采购.进货单价,进货数量,进货日期,ghs.供货商名称
fromxp,cg,ghs
wherexp.商品编号=cg.商品编号andcg.供货商编号=ghs.供货商编号andxp.商品编号=@商品编号
5.5触发器
1.触发器名:
trigger1
✧创建触发器的作用
当表中的一行被插入、修改或删除时,触发器被执行。
实现当修改员工表中的数据时,显示提示信息“员工表被修改了”
✧创建触发器的代码
createtriggertrigger1
onYG
forupdate
print'
员工表被修改了'
2.触发器名:
trigger2
实现当修改客户表中的数据时,显示提示信息“客户表被修改了”
onKH
客户表被修改了'
3.触发器名:
trigger3
实现当修改供货商表中的数据时,显示提示信息“供货商被修改了”
createtriggertrigger3
onGHS
供货商表被修改了'
4.触发器名:
trigger4
实现当修改仓库表中的数据时,显示提示信息“仓库表被修改了”
createtriggertrigger5
onck
仓库表被修改了'
二、数据库安全性设计
5.2.1用户登录设计
创建登录账号loginA,口令分别为123
sp_addlogin'
loginA'
123'
5.2.2数据库用户设计
创建进销存管理系统数据库的userA用户账号
sp_grantdbaccess'
userA'
添加进销存管理系统数据库的角色userB
sp_addrole'
roleB'
为角色roleB添加用户userA
sp_addrolemember'
5.2.3各个登录的权限设计
以账号sa登录
将进销存管理系统数据库中的商品表的Select许可授予角色roleB
UseJXC
Go
GrantSelectOnSPtoroleB
5.2.4各个数据库用户的权限设计
授予或拒绝用户userA在员工表上的Insert,Update,Delete权限
GrantInsert,Update,DeleteOnYGTouserA
denyInsert,Update,DeleteOnYGTouserA
三、这样设计的目的:
创建登录账号和口令
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 进销存 管理 系统 设计