2022年2022年进销存管理系统数据库设计 .pdf
-
资源ID:39718272
资源大小:792.05KB
全文页数:25页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年2022年进销存管理系统数据库设计 .pdf
目录1需求分析报告.31.1 系统目的.31.2 进销存系统的数据需求.31.3 组织结合结构图.31.4 功能模块图.31.5 业务流程图.41.6 数据流程图.41.6.1 数据流程图顶层图.41.6.2 数据流程图第一层.51.6.3 数据流程图第二层.51.7 数据字典.81.7.1.数据项定义.81.7.2、数据流定义.91.7.3、数据存储定义.101.7.4、处理逻辑定义.101.7.5、外部实体定义.112.概念结构设计.11 2.1 初步 E-R 图.11 2.1.1销售业务的局部E-R 图.112.1.2采购业务的局部E-R 图.122.1.3报损局部 E-R 图.142.2 全局 E-R 图.15 3 将各分 E-R 图合并成全局E-R 图所作的处理.17 3.1 进行相关实体类型的合并,以减少实体类型的个数.17 3.2 消除冗余 .17 4.逻辑结构设计.17 4.1 逻辑设计概述.17 4.2 转换规则.18 4.3 根据全局E-R 图设计出系统的数据模型:.18 4.4 初步优化:.18 4.4.1 部门与职工之间.184.4.2 商品与供货商之间形成一个供应过程.184.4.3 商品与客户之间形成一个购买过程.184.4.4 职工与商品之间有职工对商品产生销售管理,采购管理,报损管理等信息。所以形成一个管理过程.19名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 25 页 -4.4.5 将销售人员、采购员关系模式合并为:.194.4.6 将存储部、销售部和采购部关系模式合并为:.194.5 最终优化:.19 5.数据库完整性与安全性设计.20 5.1 数据库完整性.20 5.1.1 约束.205.1.2 默认.235.1.3 规则.235.1.4 存储过程.235.1.5 触发器.245.2 安全性设计.25 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 25 页 -1需求分析报告1.1 系统目的随着社会的进步和计算机的不断普及,各行各业的管理、控制都越来越离不开计算机的辅助。“某进销存管理系统”的开发就是为了辅助大多数企业的基本管理,实现信息管理的系统化、规范化和自动化简化人们日常工作中的大量机械重复的操作,使一些过程繁琐且数据量大的工作得已高效的进行,进销存管理系统还可以通过对数据的有效控制,实现对工作流层的控制、协调,从而提高企业的竞争力。1.2 进销存系统的数据需求(1)商品按类别和名称进行管理。(2)必须记录商品的基本信息,比如规格和生产企业等。(3)需要记录商品的供应信息。(4)供应商的联系方式非常重要。(5)在采购信息中需要记录采购的数量和单价等。(6)在采购信息中要包含登记商品销售数量,单价等信息。(7)商品销售信息要有报损原因。(8)所以单据必须记录相应的经手人和相应的时间。(9)采购,销售,报损信息都可以进行添加,删除,修改,查找,统计,等操作。(10)当进行进货,销售和报销操作后,能相应更改库存。(11)需要对进货,销售,库存,报损等操作生成相应的报表。1.3 组织结合结构图根据系统及公司实际情况绘出组织结构图如下.总经理副经理采购部销售部报损部维护部采购人员统计人员销售人员统计人员报损人员统计人员维护人员统计人员图表 1 组织结合结构图总经理:负责实施公司总体战略。副经理:协助总经理完成具体完成各项事物.采购部:负责缺货时向外采购商品及完成相应货物进货统计.完成进货信息的登记,修改,和删除等.销售部:向外出售商品及完成相应出售商品的统计.完成进货信息的登记,修改,和删除等.维护部:完成商品信息的登记,修改,和删除等.及各项商品信息的维护工作.1.4 功能模块图名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 25 页 -根据上述系统功能的需求分析,按照结构化程序设计的要求,得到如下所示的系统功能模块图,如图进销存管理系统销售管理采购管理信息维护统计查询更新库存商品销售信息打印报表统计查询更新库存采购信息打印报表更新库存商品报损信息打印报表统计查询报损管理商品记录供货商信息商品基本信息供应尚记录信息修改信息删除信息登记信息删除信息登记信息修改信息登记信息查询信息删除信息增加信息修改信息修改图表 2 功能模块图1.5 业务流程图顾客消费顾客销售公司供应商订货单订货单采购部销售部报损部订货通知无货报损通知付款通知收货检验发货通知有货收货通知车间入库单库存台帐到货通知报损报表出货检验图表 3 业务流程图1.6 数据流程图1.6.1 数据流程图顶层图分析:该图简单的包含两个外部实体分别为顾客和供应商,主要业务分为两个,销售和名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 25 页 -采购。顾客查询商品资料信息,订购后收到付款通知进行付款交易。销售部接收到定货单,然后进行库存查询是否有货。有货则向顾客发货,无货则向供应商下定货单.从下图可看出没有反映帐务,而且销售和采购没有分开表示,但是高度概括地反映了进销存业务,因此要进一步扩展出更详细的数据流程图。顾客订货单发货单业务处理配件库存供应商订货单发货单图 4 数据流程图DFD 1.6.2 数据流程图第一层分析:顾客先通过查看商品信息来获取自己想要的商品然后向公司下定单.销售部受到上级的定货单查看库存情况.有货就向仓库下提货单发货.仓库收到提货单反馈出货单给销售部,销售部下发货单给顾客。如果缺货则向供货商下班定货单采购。到货之后采购部发出到货通知反馈销售部。同时采购部发入库单货物入库。在货物入库与仓库货物出库过程中报损部进行检查。有物品损失的生成报损单。p1销售管理D1P2采购管理客户请购台帐D2D5D6D7D8P3库存管理管理中心到货通知出货单提货单库存台帐订单请购发货单到货通知到货通知入库单统计分析查询库存反馈库存提货单入库单P4报损管理D4D3报损记录报损记录图表 5 数据吧流程图第一层1.6.3 数据流程图第二层分析:客户发出订货单。根据订货单的订货数量发聩给仓库查询货物库存信息。判定是否缺货。如果缺货则显示出缺货数量并生成缺货订购单。在到货之后进行到货处理发将可发名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 25 页 -货单存档然后进行发货管理。发货单锅里过程中生成提货单,出货单,报损单和发货单台帐到货处理过程中生成报损记录生成报损单。最后向顾客发出发货单。客户P1.1确定订货数量D1D6P1.2发货管理D10D11D9D2P1.3生成缺货订购单D3D4P1.4缺货订购单到货处理D5库存台帐请购台帐缺货数量可发货订单存档提货单出库单发货单台帐到货通知缺货订购单P1.5报损管理D8报损记录D7报损记录D12报损报表图表 6 数据流程图第三层(1)第二层销售模块分析:客户发出订货单。根据订货单的订货数量发聩给仓库查询货物库存信息。判定是否缺货。在到货之后进行到货处理发将可发货单存档然后进行发货管理。发货单锅里过程中生成提货单,出货单,名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 25 页 -客户P1.1.1确定订货数量D1D6P1.1.2发货管理D10D11D9D2库存台帐缺货数量可发货订单存档提货单出库单发货单台帐(2)第二层采购模块分析:如果缺货生成请购台帐且显示出缺货数量并生成缺货订购单。向供货商发订购单供货商收到订购单处理后发出发货单。之后采购部进行到货处生成到货通知给仓库。D2P1.2.1生成缺货订购单D3D4P1.2.2缺货订购单到货处理D5请购台帐缺货数量到货通知缺货订购单供货商D5发货单仓库(3)第二层报损模块分析:仓库进货出货过程中检查过程中生成报损记录上报报损部另一方面顾客上报维修单生成报损记录再汇总到报损部。由报损部生成报损报表。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 25 页 -P1.3.1报损管理D8报损记录D12顾客仓库维修单1.7 数据字典1.7.1.数据项定义编号名称别名数据类型是否可空长度简述B1 商品名称商品名Char NULLull 5 某种商品的名字B2 商品编号商品编码Char NULL 20 某种商品的代码B3 商品数量商品个数INULLT NULL 20 某种商品的容量B4 商品单价商品价钱float NULL 20 某种商品进货单价B5 商品日期商品日期DateTime NULL 20 某商品的日期B6 供 应 商 名称供 应 商 名称Char NULL 20 某供应商的名字B7 供 应 商 地址供 应 商 地址Char NULL 50 某供应商的地址B8 顾客姓名顾客名称Char NULL 20 某顾客的姓名B9 顾客地址顾客地址Char NULL 50 某顾客的地址B10 部门名称部门名称Char NULL 40 公司某部门的名称B11 经理名称经理姓名Char NULL 20 公司部门经理名字B12 库存量商品库存INULLT NULL 20 商品的库存数量B13 员工名称员工名称Char NULL 20 公司员工的名称B14 顾 客 电 话号码电话号码INULLT NULL 20 某顾客的电话号码名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 25 页 -B15 订 货 单 编码订 货 单 编号Char NULL 20 某订货单的编号B16 发 货 单 编码发 货 单 编号Char NULL 20 某发货单的编号B17 到 货 通 知编码到 货 通 知编码Char NULL 20 某商品到货通知编号B18 报 损 表 编号商 品 报 损表编号Char NULL 20 某商品报损表编号B19 销 售 历 史表编号商 品 销 售表编号Char NULL 20 某商品销售表编号1.7.2、数据流定义编号名称简介数据流组成数据流来源数据流去向数据流量S1 订货单顾 客 开 出 的订货单B1+B2+B3+B15 顾客编 辑 订货 单 模块10 份/时S2 发货单已 确 定 的 发货货单B1+B2+B3+B4+B16 开 发 货单 修 改库 存 模块顾客100份/时S3 到货通知顾 客 收 到 商品到货通知B1+B2+B3+B4+B6+ID17 采购员对 照 暂存 定 货单模块10 份/天L1 订货单公 司 向 供 应商 采 购 订 货单B1+B2+B3+B4+B6 公 司 采购部门供应商100份/天L2 到货通知采 购 部 门 收到 商 品 到 货通知B1+B2+B3+B4+B6+B10 产 生 到货 通 知模块公 司 采购部门10 份/天C1 报损表顾 客 及 部 门商品报损表B1+B2+B3+B4+B6+B18 顾 客、销 售 采购部门售 后 服务 维 修部门100份/天名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 25 页 -1.7.3、数据存储定义1.7.4、处理逻辑定义编号名称简述输入数据流处理输出数据流处理频率P1-1 编 辑 订 货单编 辑 区 分订 单 的 合格与否S1 根据订单填写的要求,区分出订单的合格与否,以及顾客登记信息合格订单,不 合 格 订单,新顾客每 小 时 处理一次P1-2 确 定 顾 客订货根 据 订 单给 顾 客 订货合 格 的订货单根据合格的订货单,给顾客配齐商品可发订货每 小 时 处理一次P1-3 开 发 货 单修改库存开 发 货 单并 修 改 库存合 格 的订货单根据订货单给顾客开发货单并修改库存S2 每 小 时 处理一次P2-1 核 对 发 货单 并 产 生到货通知供 应 商 发给 采 购 部门 到 货 通知,并核对L1 根据订货单跟实际收到的商品进行核对到货通知每 小 时 处理一次P2-2 修 改 库 存并 待 订 货量根 据 发 货单 修 改 库存,待订货正 确 的发货单根据正确的发货单修改库存和带订货量修 改 后 库存每 小 时 处理一次编号编号名称简述数据存储组成关键字相关处理F1-1 商品库存存 放 商 品 库存量B1+B2+B3+B3+B12 商 品 编号P1-1、P1-2 F1-2 新顾客名单新 顾 客 登 记名单B8+B9+B14 顾 客 姓名P1-1 F1-3 销售历史已 销 售 的 商品记录B1+B2+B3+B4+B18 销 售 表编号P1-3 F2-1 暂存订货单已存订货单B1+B2+B3+B4+B6 公 司 采购部门P2-2 F2-2 到货通知采 购 部 门 收到 商 品 到 货通知B1+B2+B3+B4+B6+B10 产 生 到货 通 知模块P2-1 F3-1 报损表顾 客 及 部 门商品报损表B1+B2+B3+B4+B6+B18 顾 客、销 售 采购部门P3-1 名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 25 页 -P3-1 统 计 报 损表统 计 所 有报 损 表 并归类C1 统计所有的报损表并归类后,再提交给维修部门商品库存每 小 时 处理一次1.7.5、外部实体定义编号名称简述输入数据流输出数据流S1-1 顾客购 置 商 品 的用户S1 S2 S1-2 员工包括采购员、销售员、会计等S3、S2 S2 S1-3 供应商向 顾 客 和 公司 提 供 商 品的单位L1 L2 S1-4 经理公 司 管 理 人员,查看报表C1 2.概念结构设计2.1 初步 E-R图2.1.1销售业务的局部E-R 图客户商品销售员销售仓库管理员提货信息mmnnn1m工号姓名性别生产规格生产企业商品名称商品类别单价数量编号性别联系方式联系地址姓名订单号数量日期销售员单价商品名称订购订货单下达订单M1订购m工号姓名性别名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 25 页 -相关属性列表:实体属性销售部部门号销售员工号、姓名、性别。商品商品名称,编号,生产规格,数量,单价,商品类别,生产企业客户姓名、性别、联系方式、客户编号、联系地址。仓库管理员工号、姓名、性别。订货单商品名称、订单号、数量、单价、日期、销售员联系属性销售下达订单商品编号,销售员,销售员编号,出货日期,开单日期提货信息商品编号、商品名称、规格、数量、销售员、订货日期、开单日期、订单号关系描述分析:(1)一名客户可以生成多分订购单,一份订购单对应一个客户。所以是以对多关系。(2)一名销售员可以销售多种商品,每种商品可以由多名导购员销售,因此销售员与商品之间是多对多的联系,该联系取名为销售。(3)一名客户可以向多个销售员订购商品,一个销售员可以接受多位客户的订购,因此销售员与客户的关系是一对多的关系,该联系取名为订购。(4)一份订购单可以对应多种商品。一种商品可以产生多份订购单。该联系取名为订购。(5)一个仓库管理员可以处理多份订单。一份订单对应一个仓库管理员。该联系取名为提货信息。2.1.2采购业务的局部E-R 图名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 25 页 -供货商商品购买下达订单货物不足通知采购员仓库管理员订货单订购提供性别姓名工号采购员商品编号进货日期商品名称下单时间姓名性别性别工号商品类别单价数量编号生产规格生产企业商品名称地址姓名联系方式nmnmmnm111相关属性列表:实体属性仓库管理员工号、姓名、性别商品商品名称,编号,生产规格,数量,单价,商品类别,生产企业采购员工号、姓名、性别。订货单采购员、商品编号、进货日期、商品名称、下单日期供货商姓名、性别、地址、联系方式、供货商编号联系属性出货信息商品编号,销售员,销售员编号,出货日期,开单日期货物不足通知订购商品编号,商品数量提供名称,地址,联系方式名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 25 页 -下达订单商品编号,销售员,销售员编号,出货日期,开单日期购买商品编号,客户,生产企业,商品数量,商品单价,商品名称,商品别名,商品规格关系描述分析:(1)一个仓库管理员向采购员发出商品数量不足的通知,一个采购员向以名采购员发送需要采购商品的通知,所以仓库管理员与采购员的关系为一对一的关系。(2)一名采购员可以订购多种商品,每种商品也可以由多名采购员订购,因此采购员与商品之间是多对多的联系,该联系取名为订购。(3)一个供应商可以供应多种商品,每种商品也可以由多个供应商供应,因此供应商与商品之间是多对多的联系,该联系取名为供应。(4)一名采购员可下达多份订购单。一份订购单只能由一个采购员下达。所以是一对多关系。该联系取名为下达订单。(5)一份订单可以采购多种商品。一种商品可以有多份订单。所以为多对多关系。该联系取名为购买。2.1.3报损局部E-R 图仓库管理员报损员报损单顾客上报损坏制定报损单汇总上报损坏退货单m11mm1m1姓名性别工号联系地址联系方式性别姓名姓名性别工号开单日期商品编号商品名称报损员开单日期商品编号商品名称开单员报损原因退货原因报损数量名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 25 页 -相关属性列表:实体属性仓库管理员工号、姓名、性别退货单商品名称,商品编号,开单日期、退货原因、开单员报损员工号、姓名、性别。报损单报损员、商品编号、报损原因、商品名称、商品编号供货商姓名、性别、地址、供货商编号、联系方式联系属性上报损坏商品编号,开单员,开单员编号,开单日期,损坏原因汇总退货单数量制定报损单报损员、商品编号、商品名称、开单日期、报损原因、报损数量关系描述分析:(1)一名开单员可以向一个存储部交报损单,一个存储部可以接受多位开单员的报损单,因此存储部与开单员之间是一对多的联系,该联系取名为发现损坏。(2)一个顾客可以上报多份退货单,一份退货单只能对应一个客户。所以为一对多关系。该联系取名为上报损坏。(3)一个仓库管理员可以向一个报损员上报损坏情况。一个报损员可以接受对应多个仓库管理员的上报情况。所以该关系为一对多。该联系取名为上报损坏。(4)一份退货单只能对应交给一个报损员。一个报损员可以接受多份退货单。所以该关系为一对多关系,该联系取名为汇总。(5)一个报损员对应制定多份报损单。一份报损单由一个报损员制定。所以该联系为一对多。该联系取名为制定报损单。2.2 全局 E-R图名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 25 页 -职工商品客户nmnm供货商nm部门mnnmn1相关属性列表:实体属性商品商品名称,编号,生产规格,数量,单价,商品类别,生产企业部门部门名称,部门号供货商姓名、性别、地址、供货商编号、联系方式职工姓名,工号,部门号,性别客户姓名,性别,客户编号,联系地址,联系方式联系属性管理名称,编号,规格,数量,单价,供应商,生产企业,开单时间,处理结果,处理时间从属姓名,编号,部门号库存不足编号,数量,供应商供应名称,地址,联系方式处理信息商品编号,职工编号,开单时间,处理结果,处理时间订购商品编号,商品数量购买商品编号,客户,生产企业,商品数量,商品单价,商品名称,商品别名,商品规格名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 25 页 -关系描述分析:(1)一名客户可以生成多分订购单,一份订购单对应一个客户。所以是以对多关系。(2)一名销售员可以销售多种商品,每种商品可以由多名导购员销售,因此销售员与商品之间是多对多的联系,该联系取名为销售。(3)一名客户可以向多个销售员订购商品,一个销售员可以接受多位客户的订购,因此销售员与客户的关系是一对多的关系,该联系取名为订购。(4)一份订购单可以对应多种商品。一种商品可以产生多份订购单。该联系取名为订购。(5)一个仓库管理员可以处理多份订单。一份订单对应一个仓库管理员。该联系取名为提货信息。(6)一个仓库管理员向采购员发出商品数量不足的通知,一个采购员向以名采购员发送需要采购商品的通知,所以仓库管理员与采购员的关系为一对一的关系。(7)一名采购员可以订购多种商品,每种商品也可以由多名采购员订购,因此采购员与商品之间是多对多的联系,该联系取名为订购。(8)一个供应商可以供应多种商品,每种商品也可以由多个供应商供应,因此供应商与商品之间是多对多的联系,该联系取名为供应。(9)一名采购员可下达多份订购单。一份订购单只能由一个采购员下达。所以是一对多关系。该联系取名为下达订单。(10)一份订单可以采购多种商品。一种商品可以有多份订单。所以为多对多关系。该联系取名为购买。(11)一名开单员可以向一个存储部交报损单,一个存储部可以接受多位开单员的报损单,因此存储部与开单员之间是一对多的联系,该联系取名为发现损坏。(12)一个顾客可以上报多份退货单,一份退货单只能对应一个客户。所以为一对多关系。该联系取名为上报损坏。(13)一个仓库管理员可以向一个报损员上报损坏情况。一个报损员可以接受对应多个仓库管理员的上报情况。所以该关系为一对多。该联系取名为上报损坏。(14)一份退货单只能对应交给一个报损员。一个报损员可以接受多份退货单。所以该关系为一对多关系,该联系取名为汇总。(15)一个报损员对应制定多份报损单。一份报损单由一个报损员制定。所以该联系为一对多。该联系取名为制定报损单。3 将各分 E-R图合并成全局 E-R图所作的处理3.1 进行相关实体类型的合并,以减少实体类型的个数将采购和销售业务中的商品进行合并。3.2 消除冗余(1)将采购和销售业务中的采购员、销售员统一用职工表示。(2)将采购部和销售部,存储部统一用部门表示。(3)将出货信息,提货信息,报损信息统一用处理信息来表示。4.逻辑结构设计4.1 逻辑设计概述由于目前使用的数据库基本上都是关系数据库,因此首先需要将E-R 图转换为关系模型,然后根据具体DBMS 的特点和限制转换为特定的DBMS 支持下的数据模型,然后进行优化。名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 25 页 -4.2 转换规则(1)一个实体型转换为一个关系模型,实体的属性就是关系的属性,实体的码就是关系的码。(2)一个 1:1 联系可以转换为一个独立的关系模型,也可以与任何一端对应的关系式合并。(3)一个 1:n 联系可以转换为一个独立的关系模型,也可以与n 端对应的关系式合并。4.3 根据全局 E-R 图设计出系统的数据模型:1.商品(商品名称,编号,生产规格,数量,单价,商品类别,生产企业)2.部门(部门名称,部门号)3.供货商(姓名、性别、地址、联系方式、供货商编号)4.职工(姓名,工号,部门号,性别)5.客户(姓名,性别,联系地址,客户编号,联系方式)6.管理(名称,编号,规格,数量,单价,供应商,生产企业,开单时间,处理结果,处理时间)7.从属(姓名,编号,部门号)8.库存不足(编号,数量,供应商)9.供应(名称,地址,联系方式)10.处理信息(商品编号,职工编号,开单时间,处理结果,处理时间)11.订购(商品编号,商品数量,商品名称,12.购买(商品编号,客户,生产企业,商品数量,商品单价,商品名称,商品别名,商品规格)4.4 初步优化:4.4.1 部门与职工之间将采购信息,报损信息,出货信息关系模式合并为:处理信息(商品数量,处理单编号,商品编号,开单日期,工号,类别)4.4.2 商品与供货商之间形成一个供应过程供应商与商品的实体关系1)供应商与商品作为关系模式。供应商(姓名,地址,性别,联系方式)商品(商品名称,商品单价,商品规格,商品数量,商品编号,生产企业)供应(采购单编号,商品名称,商品单价,商品规格,商品数量,商品编号)2)与供应商端合并供应商(姓名,地址,性别,联系方式,采购单编号)商品(商品名称,商品单价,商品规格,商品数量,商品编号,生产企业)关系模式合并为:供应信息:(采购单编号,商品名称,商品编号,姓名,地址,性别,联系方式)4.4.3 商品与客户之间形成一个购买过程名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 25 页 -客户与商品的实体关系1)客户与商品作为关系模式。客户(姓名,地址,性别,联系方式)商品(商品名称,商品单价,商品规格,商品数量,商品编号,生产企业)购买(订单编号,商品编号,商品数量)2)与客户端合并客户(销售单编号,姓名,地址,性别,联系方式)商品(商品名称,商品单价,商品规格,商品数量,商品编号)关系模式合并为:购买信息:(采购单编号,商品名称,商品编号,联系方式)4.4.4 职工与商品之间有职工对商品产生销售管理,采购管理,报损管理等信息。所以形成一个管理过程销售员与商品的实体关系:1)销售员与商品作为关系模式。销售员(工号,姓名,性别)商品(商品名称,商品单价,商品规格,商品数量,商品编号,生产企业)销售(出货单编号,商品编号,商品数量)2)与销售员端合并销售员(出货单编号,工号,姓名,性别)商品(商品名称,商品单价,商品规格,商品数量,商品编号,生产企业)采购员与商品的实体关系:1)采购员与商品作为关系模式。采购员(工号,姓名,性别)商品(商品名称,商品单价,商品规格,商品数量,商品编号,生产企业)采购(采购单编号,商品名称,商品单价,商品规格,商品数量,商品编号)2)与采购员端合并采购员(采购单编号,工号,姓名,性别)商品(商品名称,商品单价,商品规格,商品数量,商品编号,生产企业)存储部与报损员的实体关系:1)存储部与报损员作为关系模式。报损员(工号,姓名,性别)商品(商品名称,商品单价,商品规格,商品数量,商品编号,生产企业)报损(报损单编号,商品编号,报损员,报损员工号,开单日期,损坏原因)2)与报损员端合并报损员(报损单编号,工号,姓名,性别)商品(商品名称,商品单价,商品规格,商品数量,商品编号,生产企业)管理信息:(商品编号,出货单编号,采购单编号,报损单编号,商品名称,)4.4.5 将销售人员、采购员关系模式合并为:员工(工号,姓名,部门号,职称)4.4.6 将存储部、销售部和采购部关系模式合并为:部门(部门编号,部门名称)4.5 最终优化:职工:(工号,姓名,部门号,职称)部门:(部门编号,部门名称)名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 25 页 -处理信息:(商品数量,处理单编号,商品编号,开单日期,工号,类别)供应信息:(采购单编号,商品名称,商品编号,联系方式)购买信息:(销售单编号,商品名称,联系方式,订购单编号)管理信息:(商品编号,出货单编号,采购单编号,报损单编号,开单日期,商品名称,联系方式)分析:1、销售员、采购员、仓库管理员、都属于公司职工。公司职工都以职工工号为主关键字,所以进行优化合并。公司职员按照部门来分类。部门编号为部门的主关键字。2、采购、销售、报损因包含的主体不一样,都各自独立制表。3、部门与职工之间细分有库存信息处理,到、发货信息处理、报损信息处理,从属,信息处理,信息都要经过信息处理。总体这三种都属于处理信息,信息处理都已处理单编号为主键,所以进行优化合并。4、职工对商品的采购、销售、报损。属于职工对商品的管理。销售、采购、报损因所包含的主键不一样所以要各自为表。5、顾客提交订购单时以商品编号为外键。购买时以商品编号为外键。处理信息时以商品编号为外键。5.数据库完整性与安全性设计5.1 数据库完整性数据库的完整性维护数据库输入数据的正确性、有效性和相容性。所谓正确性是指数据的合法性。有效性是指数据是否属于所定义的有效范围。相容性是指表示同一事实的两个数据应相同,不一致就是不相容。数据库是否具备完整性关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的。5.1.1 约束约束是 Microsoft SQL Server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。1)六种约束:空值约束、主键约束、惟一性约束、外键约束和参照约束、缺省值约束和检查约束。(1)空值约束(2)主键约束(3)惟一性约束(4)外键约束和参照约束(5)缺省值约束(6)检查约束2)约束的作用:保持数据的完整性3)进销存系统的约束ZG 职工列名类型可为空缺省值检查键/索引工号Nvarchar(50)否主键姓名Nvarchar(50)否性别Nvarchar(50)否 男 or 女部门编号Nvarchar(50)否职称Nvarchar(50)否名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 25 页 -alter table dbo.ZG add constraint PK_gh primary key clustered(工号)/*主键约束*/alter table dbo.ZG add constraint def_性别 default 男 for 性别/*默认约束*/alter table dbo.ZG add constraint def_xb check(性别=男or 性别=女)/*默认约束*/BM 部门列名类型可为空缺省值检查键/索引部门编号nvarchar(50)否主键部门名称nvarchar(50)否alter table dbo.BM add constraint PK_bmbh primary key clustered(部门编号)/*主键约束*/CLXX 处理信息列名类型可为空缺省值检查键/索引处理单编号varchar(50)否主键商品编号varchar(50)否商品名称varchar(50)否开单日期datetime(50)否工号varchar(50)否类别varchar(50)否alter table dbo.CLXX add constraint PK_cldbh primary key clustered(处理单编号)/*主键约束*/GYXX 供应信息列名类型可为空缺省值检查键/索引采购单编号Nvarchar(50)否主键商品数量Nvarchar(50)否0 商品编号Nvarchar(50)否联系方式Nvarchar(50)否alter table dbo.GYXX add constraint PK_cgdbh primary key clustered(采购单编号)/*主键约束*/alter table dbo.GYXX add constraint def_spsl default 0 for 商品数量/*默认约束*/GMXX 购买信息列名类型可为空缺省值检查键/索引销售单编号Nvarchar(50)否主键商品数量Nvarchar(50)否0 商品编号Nvarchar(50)否联系方式Nvarchar(50)否名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 25 页 -alter table dbo.GMXX add constraint PK_xsdbh primary key clustered(销售单编号)/*主键约束*/alter table dbo.GMXX add constraint def_spsl default 0 for 商品数量/*默认约束*/CHD 出货单列名类型可为空缺省值检查键/索引出货单编号Nvarchar(50)否主键商品数量Nvarchar(50)否0 商品编号Nvarchar(50)否开单日期datetime(50)否联系方式Nvarchar(50)否alter table dbo.CHD add constraint PK_chdbh primary key clustered(出货单编号)/*主键约束*/alter table dbo.CHD add constraint def_spsl default 0 for 商品数量/*默认约束*/CGD 采购单列名类型可为空缺省值检查键/索引采购单编号Nvarchar(50)否主键商品数量Nvarchar(50)否0 商品编号Nvarchar(50)否开单日期datetime(8)否联系方式Nvarchar(50)否alter table dbo.CGD add constraint PK_cgdbh primary key clustered(采购单编号)/*主键约束*/ALTER alter table dbo.CGD add constraint def_1 default 0 for 选择题个数/*默认约束*/BSD 报损单列名类型可为空缺省值检查键/索引报损单编号Nvarchar(50)否主键商品数量Nvarchar(50)否0 商品编号Nvarchar(50)否开单日期datetime(50)否联系方式Nvarchar(50)否alter table dbo.BSD add constraint PK_bsdbh primary key clustered(报损单编号)/*主键约束*/alter table dbo.BSD add constraint def_spsl default 0 for 商品数量/*默认约束*/名师资料总结-精品资料欢迎下载-名师精心整理-第 22 页,共 25 页 -5.1.2 默认默认是数据库的对象之一,它指定在向数据库中的表插入数据时,如果用户没有明确给出某列的值,系统自动为该列输入。创建默认的语句格式:CREATE DEFAULTowner default_name AS constant_expression 绑定:sp_bindefault_name,object_name,futureonly 5.1.3 规则规则是数据库的对象之一。它指定当向表的某列插入或更新数据时,限制输入新值的取值范围。作用:规则是实现域完整性的方法之一。规则用来验证一个数据库的数据是否处于一个指定的值域范围内,是否与特定的格式相匹配。当数据库中数据值被修改或被插入时,就要检查新值是否遵循规则,如果不符合规则就拒绝执行修改或插入的操作。创建规则的语句:CREATE RULE rule_name AS condition_expression 绑定规则的语句:sp_bindrule rule_name,object_name,futreonly 将 ZG 表中的性别的值默认为”男”,代码如下:create default df_sex AS 男 sp_bindefault df_sex,ZG.性别 sp_unbindefault ZG.性别 drop default df_sex 要求:用 CREATE RULE 语句创建规则,然后用sp_bindrule 把它绑定至一列或用户定义的数据类型中。规则可以绑定到一列、多列或数据库中具有给定的用户定义的数据类型的所有列。在一个列上至多有一个规则起作用,如果有多哥规则与一列相绑定,那么只有最后绑定到该列的规则是有效的。(1)在 ZG 中,创建规则sex_rule CREATE RULE check_sex AS 性别=男 or 性别=女sp_bindrule check_sex,dbo.ZG.性别(2)在 GYXX 中,创建规则amount_rule CREATE RULE amount_rule AS amount=100 and amount=100 and amount=100 and amount=100 and amount=1000 sp_bindrule amount_rule,CGD.商品数量 5.1.4 存储过程存储过程是一种数据库对象为了实现某个特定任务,将一组预编译好的SQL 语句以名师资料总结-精品资料欢迎下载-名师精心整理-第 23 页,共 25 页 -一个存储单元的形式存储在服务器上。作用:(1)使用存储过程可以减少网络流量。(2)增强代码的重要性和共享性。(3)使用存储过程可以加快系统的运行速度。(4)使用存储过程保证安全性。作用:通过工号查询职工的姓名和部门编号Create procedure up_get_姓名 _部门编号AS Select 姓名,部门编号 From ZG Order by 工号 ASC 执行:EXEC up_get_姓名 _部门编号作用:根据采购单编号查询商品编号。Create procedure up_get_商品编号AS Select 商品编号 From GMXX Order by 采购单编号 ASC执行:EXEC up_get_商品编号作用:通过采购单编号查询商