1、 企业生产管理系统设计与分析 74 2020年6月23日 资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。 业生产管理系统分析与设计 摘要 本文经过分析客户端/服务器结构的特点并结合企业生产管理的实际情况, 提出了基于C/S结构中小型企业生产管理系统的基本设计思想, 简要介绍了系统各功能模块及数据库的设计, 并给出了部分实现代码。经过该系统, 能够方便地在企业内部进行企业生产管理。该C/S结构的系统在Windows 7系统平台下开发完成, 采用VC技术并用SQL Server 作为后台数据库。该数据库系统在安全性、 准确性、 运行
2、速度方面均有绝正确优势, 而且能够对容量较大的数据库进行处理, 效率高。系统有较高的安全性和较好的性能。 本文中除了有对程序的系统分析、 系统设计、 系统数据库设计、 系统需求分析等主体部分外, 在这之前还介绍了与企业管理系统相关的信息。 关键词: 企业生产管理, C/S, 分析与设计 The Analysis and Design of Production Management system Abstract This paper analyzes the client / serv
3、er architecture combined with the characteristics of the actual situation of production management is proposed based on C / S structure of small and medium enterprise production management system and the basic design, a brief introduction of the system of the functional modules and database design,
4、and gives some implementation code. Through this system, you can easily carry out in-house production management. The C / S structure of the system in the Windows 7 system platform developed using VC technology and use SQL Server as the back-end database. The database system security, accuracy, ru
5、nning speed has absolute advantage, be able to handle databases larger capacity and high efficiency. System has a high safety and better performance. This paper includes a program of system analysis, system design, database design, such as the main part of the outer function realization, before
6、 this also introduces and enterprise management system related information. Keywords: The production management , C/S, The Analysis and Design 目录 第 1 章 绪论 1 1.1 企业生产管理概念 1 1.2 企业生产管理系统的背景 1 1.3 企业生产管理系统的设计目标 2 第 2 章 可行性分析 3 2.1 可行性分析目的 3 2.2 经济可行性分析 3 2.3 技术可行性分析 3
7、 2.4 可行性分析小结 3 第 3 章 系统需求分析 4 3.1 需求分析概念 4 3.2 业务流程分析 4 3.3 数据流程分析 7 3.4 数据字典 9 3.4.1 数据项 9 3.4.2 数据流 12 3.4.3 数据存储 12 3.4.4 外部实体定义 13 第 4 章 系统总体设计 14 4.1 系统功能设计 14 4.2 系统模块设计 15 第 5 章 数据库设计与开发 17 5.1 数据库的设计思想 17 5.1.1 数据库的主要特点 17 5.1.2 数据库的种类 18 5.2 数据库的模型设计 19 5
8、2.1 概念数据模型设计 19 5.2.2 逻辑数据模型设计 23 5.3 后台数据库配置 26 第 6 章 系统详细设计 27 6.1 数据库的链接 27 6.2 系统主窗体设计 33 6.2.1 主窗体的建立 33 6.2.2 主菜单界面的设计 33 6.3 实现系统代码及其运行界面 34 6.3.1 产品入库管理模块的设计与实现 41 6.3.2 物料基本信息模块 42 6.3.3 设备管理模块的设计和实现 44 6.3.4 生产领料模块的设计与实现 47 第 7 章 总结 48 致谢 49 参考文献 50
9、 第 1 章 绪论 1.1 企业生产管理概念 传统的手工的企业生产管理, 完全靠人的能力来完成。可是, 当企业的规模扩大到一定的程度的时候, 人的力量就不足以胜任如此大规模的管理任务。企业生产管理( Production Management) 是企业生产系统的设置和运行的各项管理工作的总称。企业生产管理的目标是高效、 低耗、 灵活、 准时地生产合格的高质量产品, 为用户提供满意的服务。具体来说, 生产管理师根据企业的经营目标和经营计划, 从产品品种、 质量、 数量、 成本、 交货期等要求出发, 采取有效的方法和手段对企业的人力、
10、 材料、 设备、 资金等资源进行计划、 组织、 指挥、 协调和控制, 生产出国家、 顾客和用户需要的产品等一系列活动的总称。 生产管理的含义有广义和狭义之分。 1 广义的生产管理是指对企业生产系统的管理, 即把输入转换为输出的过程 它的内涵和外延大大扩展了, 将凡是有投入、 转换、 产出的组织的活动都纳入其中, 不但包括工业制造企业, 而且包括服务业; 它不再局限于生产过程的计划、 组织与控制, 还涉及生产系统包括输入、 生产转换过程、 输出、 信息反馈四个环节, 生产系统的组成及其相互的关系。 2 狭义的生产管理一般别致生产过程的管理, 即根据企业生产类型进行生产过程的计划、 组
11、织、 指挥和协调的活动。所谓生产过程, 是指从投料开始, 物料经过若干加工步骤而成为产品的全部过程。生产过程管理的目标是是企业的生产要素和生产过程的不同阶段、 环节和工序在时间上、 空间上平衡衔接, 以达到在行程上、 时间上和耗费上的最优组合, 确保生产过程处于受控制状态, 最终生产出合格的高质量产品。 1.2 企业生产管理系统的背景 随着全球经济一体化和科学技术的不断发展, 中国的生产企业特别是生产型企业发展十分迅速, 特别是 中国加入WTO后, 中国已成为全球最有活力的生产制造基地。企业生产的管理一直是影响中国企业发展的难点, 发达国家经过40年的努力, 已经在生产制造管理的理论和实践
12、中取得了卓越的成就。中国制造业要迎接国际企业所带来的竞争和合作时, 生产制造管理就变成了严重制约中国制造企业发展的一个滞后的环节, 制造企业最迫切需要的是建立一套适用于中国制造业企业的先进生产管理系统。 同时, 随着中国改革开放的不断深入, 企业发展已经从面向区域市场转向面向国内外广阔的市场, 过去长期的长期手工管理方式已经无法对经营中的多层次、 多品种、 多批量的生产计划进行管理, 也无法对任何一种产品生产全过程的动态信息进行管理。各部门所收集的信息不流畅, 而且大量冗余, 决策者常常得不到她们所要的准确信息, 结果造成了生产过程中库存、 资金严重积压, 原材料时常短缺。 企业生产管理在
13、未采用计算机管理时, 生产企业向各个部门分配工作任务是采用人工作业, 人工录入时, 既费时又费力、 工作量又大、 业务繁忙易造成错误; 查询、 统计速度既慢又不准确。这些问题都不但影响了生产效率, 而且浪费企业资源。采用计算机管理可使人们从繁重的劳动解脱出来, 仅使用简单的操作便可及时、 准确地获得需要的信息, 提高了劳动生产效率, 同时也减少企业资源的浪费。 1.3 企业生产管理系统的设计目标 以提高企业生产管理的工作效率已经提高企业的市场竞争力为原则, 使企业能够面对发展中的各种各样的挑战, 本系统实施以后将达到如下目标: (1) 使企业提高生产管理的效率; (2) 方便地输入
14、数据, 支持表格功能; (3) 交互界面友好, 易于操作; (4) 对于用户输入的数据, 系统进行严格的数据检验; (5) 系统运行安全可靠; 第 2 章 可行性分析 2.1 可行性分析目的 根据系统功能、 性能及实现系统的各项约束条件, 了解系统中提出的技术是否符合; 弄清系统是否具有实用性, 确保能提高工作效率, 实现监控; 确定其具有可操作性与可实施性。 2.2 经济可行性分析 企业已配备有计算机、 局域网、 网站, 因此不必再硬件上做太大投资。需要将企业的生产管理模式清楚的讲给软件公司。所用费用不高, 能够实现。 2.3 技
15、术可行性分析 系统采用成熟SQL SERVER 数据库和VC++技术。 2.4 可行性分析小结 从问题分析层面上说明当前企业生产管理的不足及其需要改进。从经济层面上说明企业生产管理是有经济效益。从技术层面上说明企业生产管理系统是能够实现的。 第 3 章 系统需求分析 3.1 需求分析概念 需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、 范围、 定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中, 系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后她们才能够分
16、析和寻求新系统的解决方法。需求分析阶段的任务是确定软件系统功能。 3.2 业务流程分析 在对企业生产管理系统上的功能总体把握, 能够经过信息资源规划建立起个企业生产管理系统的功能模型。生产管理的业务流程可利用业务流程图来描述。业务流程图( Transaction Flow Diagram, TFD) 是运用一定的符号及连线来表示某个具体业务处理过程。业务流程图描述的是完整的业务流程, 是业务处理过程位中心, 一般没有数据的概念。它是以一种描述系统内各单位、 人员之间业务关系、 作业顺序和管理信息流向的图标, 利用它能够帮助分析人员找出业务流程中的不合理流向。业务流程图的绘制是按照业务的实际
17、处理顺序和过程进行的。 图3.1 企业生产管理系统业务流程图 生产过程信息 2生产过程计划 生产技术信息 需求 订货信息 5生产控制 生产结果信息 4生产实施 3生产作业计划 生产计划信息 1生产总计划 作业计划信息 生产控制信息 图3.2 生产管理的主要内容 销售计划 生产计划 制定生产计划 审定 审批 项目技术设计方案 审批生产计划 原材料外
18、协 作业计划 质量部检验 安排制造 生产过程管理 生产过程运营 调度 组装 产品入库 产品检验单 审批 汇总分析系统报表 审批 客户服务部 生产总结报告 图3.3 企业生产过程关系业务流程图 图3.4 原料采购业务流程图 3.3 数据流程分析 数据流图( DFD) 是一种便于用户理解、 分析系统数据流的图形工具。它摆脱了系统的物理内容, 精确地在逻辑上描述系统的功能、 输入、 输出和数据存储等。 数据流图有四种基本符号: 矩形代表外部实体; 圆
19、形代表加工; 箭头代表数据流, 即特定数据的流动方向; 开口矩形代表数据存储。其形状如图: 数据流处理 或 数据流 或 数据存储 或 外部项 外部实体: 外部实体是指存在于软件系统之外的人员或组织。它指出系统所需数据的发源地和系统所产生的数据的归宿地。 加工: 加工描述了输入数据流到输出数据流之间的变换, 也就是输入数据流经过什么处理后变成了输出数据流。 数据流: 数据流由一组固定成分的数据组成, 表示数据的流向。 数据存储: 数据存储用来表示暂时存储的数据, 每个数据存储都有一个名字。 企业生产管理系统顶层
20、数据流图如图3.5所示。 企业生产管理系统 客户 订货单 客户信息 提货单 操作员 查询入库、 销售及库存情况 入库、 销售及库存情况表 供应商 采购单 供应商信息 提货单 图3.5 企业生产管理系统顶层数据流图 订货单 处理要求 客户资料 处理业务 提货单 处理要求 企业资源 库存情况 统计表 订货单 处理要求 供应商资料 处理业务 提货单 处理要求 企业资源 库存情况
21、 统计表 图 3.6 企业生产管理系统数据流程一级细化示意图 3.4 数据字典 数据流图将数据处理和彼此之间的数据联系进行了说明, 为进一步明确数据的详细内容和数据处理过程, 下面便将最底层数据流图中的全部数据流、 数据存储、 数据项、 处理逻辑( 加工) 、 外部项经过数据字典描述清楚, 以便后面系统设计的进行。 数据字典主要是对数据流程图中的数据项、 数据结构、 数据流、 处理逻辑、 数据存储、 外部实体共六个元素具体的定义。 3.4.1 数据项 数据项又称为数据元素, 是组成数据流的基本成分。具体内容见下表: 表3.1 产品信息数据项表 数据项编号 数
22、据项名称 别名 简述 类型及宽度 D1 编号 产品编号 产品代码 字符型 8位 D2 名称 产品名称 产品名称 字符型20位 D3 型号 产品型号 产品型号 字符型8位 D4 日期 出厂日期 出厂日期 字符型20位 D5 检验员 检验员编号 检验员编号 字符型8位 D6 审核标志 审核标志 产品审核标志 字符型2位 D7 车间 产品车间 产品生产车间 字符型4位 表3.2 生产设备信息数据项表 数据项编号 数据项名称 别名 简述 类型及宽度 A1 编号 设备编号 设备代码 字符型8位 A
23、2 名称 设备名称 生产设备名称 字符型20位 A3 型号 设备型号 生产设备型号 字符8位 A4 日期 购入日期 购入生产设备日期 字符型20位 A5 验收员 验收员编号 验收合格人员的编号 字符8位 A6 使用年限 设备使用年限 设备使用寿命 字符4位 表3.3 车间工人信息数据项表 数据项编号 数据项名称 别名 简述 类型及宽度 E1 编号 工人编号 工人代号 字符型8位 E2 姓名 工人姓名 工人名称 字符型20位 E3 性别 性别 工人性别 字符型1位 E4 年龄 年龄 工人年龄
24、字符型8位 E5 入职日期 入职日期 工人入职日期 字符型 20位 E6 住宿 住宿 宿舍编号 字符型8位 E7 离职日期 离职日期 工人离开公司时间 字符型20位 E8 车间 车间编号 工人所在车间编号 字符型8位 E9 部门 部门编号 工人所在部门编号 字符型8位 表3.4 物料信息数据项表 数据项编号 数据项名称 别名 简述 类型及宽度 M1 编号 物料编号 物料代码 字符型8位 M2 计量 计量单位 物料计量单位 字符型8位 M3 名称 物料名称 物料名称 字符型20位 M4 规
25、格 物料规格 物料规格 字符型8位 M5 供应商 供应商编号 供应商代码 字符型20位 M6 验收员 验收员编号 验收员代码 字符型8位 M7 备注 备注信息 材料备注信息 字符型20位 表3.5 供应商信息数据项表 数据项编号 数据项名称 别名 简述 类型及宽度 P1 编号 供应商编号 供应商代码 字符型8位 P2 名称 供应商名称 供应商名称 字符型20位 P3 关系 关系级别 与供应商关系级别 字符型4位 P4 数量 原料数量 原料数量 字符型8位 P5 等级 信誉等级 信誉等级 字符型
26、2位 P6 产品编号 产品编号 供应商提供产品编号 字符型8位 表3.6 物料需求计划 数据项编号 数据项名称 别名 简述 类型及宽度 C1 物料需求编号 物料需求代码 物料需求的类型 字符型 8位 C2 产品计划单 产品计划单 计划生产的产品 字符型20位 C3 产品编号 产品代码 计划生产产品 字符型8位 C4 产品的单位 产品计量单位 产品计量单位 字符型2位 C5 产品数量 产品计量 产品的数量 字符型20位 C6 物料规格 物料型号 物料的样式 字符型10位 C7 物料计量 物料数量 物料数
27、量 字符型20位 C8 备注 其它 其它信息 字符型50位 表3.7 生产设备档案 数据项编号 数据项名称 别名 简述 类型及宽度 P1 生产设备编号 生产设备代号 生产设备的编号 字符型4位 P2 设备名称 设备的名字 生产设备的名称 字符型20位 P3 使用部门名字 部门名字 使用该设备的部门名称 字符型20位 P4 设备类型 设备类型 设备的类型 字符型20位 P5 设备状态 设备状态 设备使用状态 字符型8位 P6 启用日期 设备启用日期 设备什么时候启用的 字符型20位 P7 价值 设备购买
28、价值 购买设备投入 字符型20位 P8 摊销时间 使用寿命 设备使用年限 字符型8位 3.4.2 数据流 数据流是由一个或一组固定的数据项组成。 表3.8 数据流 数据流编号 数据流名称 简述 数据流来源 数据流去向 数据流组成 F102 产品信息 产品的信息 产品设计人员 产品信息管理加工 产品编号+产品名称+工人编号 F103 工人信息 工人的基本信息 职工入职时, 职工填写职工表 职工信息管理 工人编号+车间编号+部门编号 F104 供应商信息 供应商信息 采购员采购信息表 供应商信用管理 采购员编号+供应商编号
29、F105 原材料 供应商提供的原材料 入库员登记的信息 原材料质量管理 原材料编号+库管员编号 F106 生产设备 生产设备信息 采购员登记的生产设备信息 设备管理 设备编号+设备名称+采购员编号 3.4.3 数据存储 数据存储在数据字典中指描述数据的逻辑存储结构, 而不涉及它的物理组织。 图3.9 数据存储表 数据存储编号 数据存储别名 简述 相关联的处理 关键字 数据存储组成 I1 产品基本信息 描述产品的基本信息 P1, P2 产品的数量和型号 产品编号+产品型号 I2 设备基本信息 描述生产设备的基本信息 P1, P2
30、 设备的型号和提供的厂商 设备编号+设备型号+供应商编号 I3 职工基本信息 描述职工的基本信息 P1, P3 职工的入职登记表 职工编号+部门编号 I4 入库信息 描述产品的入库信息 P1, P2,P3 库房号和生产车间及原料 库房编号+产品编号+检验员编号 I5 原材料信息 描述采购的原材料的信息 P1,P3 检验员的编号及供应商的编号和采购员的编号 检验员编号+供应商编号+采购员编号 I6 供应商信息 供应商的基本信息 P1 供应商的基本信息 供应商的标号+供应商的信用等级 I7 车间基本信息 描述生产车间的基本信息 P3 车
31、间的一些基本情况 车间编号 I8 库存信息 库存信息 P1,P2 库存原材料及产品信息 仓库编号+仓库名称+产品编号 3.4.4 外部实体定义 外部实体定义包括: 外部实体编号、 名称、 简述及有关数据流的输入和输出。 表3.10 外部实体表 外部实体编号 外部实体名称 简述 输入的数据 输出的数据 M101 物料 生产用的物料 入库物料单 领料单 M102 设备 生产设备 购买设备单 设备需求单 M104 管理员 系统使用和维护者 使用要求 按要求处理的数据 M105 供应商 给公司提供原料 采购单 提货单 M106
32、 客户 购买公司产品对象 提货单 产品出库单 第 4 章 系统总体设计 4.1 系统功能设计 生产管理是对生产运行系统的设计、 运行与维护过程的挂历, 包括对生产运作活动进行计划、 组织和控制。生产管理系统作为企业管理系统的基本组成部分, 包含许多具体的管理工作, 其管理职能主要有以下五个方面: 1) 生产运作战略。 在20世纪80年代, 越来越多的公司认识到生产运作战略的重要性, 它是企业战略下的职能战略, 经过对企业运作系统进行全局性和长远性的谋划, 以构造不断创新的高效益、 高效率的、 可持续的运作模式。 2) 生产运作准备与生产运作组织
33、 它是指生产运作系统的物质准备工作、 技术准备工作和组织工作, 包括生产能力确定、 设备选址、 部门及设备布置、 产品开发与设计、 运作过程组织、 物料管理、 设备管理等功能。 3) 生产运作计划。 它是组织和控制企业生产运作活动的依据, 是企业对生产产品和提供服务的预先安排与负荷分配, 包括生产计划、 生产作业计划、 生产能力计划、 物料需求计划、 人员需求计划和负荷分配计划等功能。 4)生产运作控制。 它是企业围绕完成计划所进行的生产检查、 信息反馈、 调整优化等过程性管理工作, 包括生产进度控制、 物料库存管理、 设备检修与更新、 产品质量控制、 工序质量、 生产成本控
34、制及企业标准化工作。 经过对企业以及企业生产行业进行详细的调查研究, 熟悉并掌握企业的运行管理机制, 明确企业对企业生产管理系统的要求, 在此基础上初步确定该管理系统所要实现的功能。 系统把涉及复杂操作的不同功能独立出来, 作为一个模块来设计, 在需要用到特定功能的程序中, 仅仅做出调用即可。这样做不但避免了程序代码中一些不必要的重复, 更重要的是使整个系统层次结构更为清晰, 大大方便了以后系统功能的增加, 在一定程度上也缩减了开发成本。系统主体架构采用”界面—中间件—数据库”这样的经典三层结构, 使系统业务逻辑和数据库基础操作与用户应用界面分开, 能够使业务逻辑程序员更专注于程序的开发,
35、 而界面设计者专注于用户界面的开发, 在一定程度上明确了系统开发的分工。 系统前台的应用程序用VC语言进行开发, 后台利用SQL Server 进行建立, Visual C++提供了可视化的开发环境, 使用者能够像搭积木一样构建出程序的界面, 而且Visual C++提供了丰富的控件组, 省去了自己编写代码实现这些效果的麻烦。VC的数据访问特性允许对包括 SQL Server 数据库和其它企业数据库在内的大多数数据库格式建立数据库和前端应用程序, 以及可调整的服务器端部件。 4.2 系统模块设计 经过功能分析, 将本系统划分为: 基础信息管理模块、 计划信息管理模块、 生产设备管理模
36、块、 产品库存管理模块、 供应商管理模块等。 基础信息管理 物料基本信息 设备状态 设备类型 设备摊销时间 车间部门 产品基础信息 计划信息管理 生产计划 物料需求计划 物料需求查询 生产设备管理 生产设备报废 生产设备档案 生产设备维修 产品库存管理 产品完工入库 物料入库管理 生产领料管理 物料库存信息 生产管理系统 供应商管理 供应商信用等级 供应商 信息设置 供应商联系者管理 图4.1 企业生产管理系统功能模块图 各个功能模块的介绍:
37、 (1) 基本信息管理模块 该模块主要完成基础信息的管理, 包括对产品、 物料、 设备、 车间等基础信息的管理。该管理模块包括: 产品进出信息、 物料基础信息、 设备状态设置、 设备类型设置、 设备摊销时间设置、 车间部门设置。 (2) 计划信息管理模块 该模块主要完成企业生产计划等信息的管理。该管理模块包括: 生产计划单管理、 物料需求计划、 物料需求查询。 (3) 生产设备管理模块 该模块主要完成对企业生产设备的管理。生产设备管理模块包括: 生产设备档案管理、 生产设备报废管理、 生产设备维修管理。 (4) 产品库存管理模块 该模块主要完成对企业产品库存的管理。产品库存管理包
38、括: 产品完工入库管理、 物料入库管理、 生产领料管理、 物料库存信息查询。 ( 5) 供应商管理模块 该模块主要完成对企业供应商的管理。供应商管理包括: 供应商基本信息的设置、 供应商信用等级、 供应商联系者管理。 第 5 章 数据库设计与开发 5.1 数据库的设计思想 5.1.1 数据库的主要特点 1) 数据共享性高、 冗余度底、 易于扩充。数据共享包含所有用户可同时存取数据库中的数据, 也包括用户能够用各种方式经过接口使用数据库, 并提供数据共享。数据库系统从整体角度和描述数据, 数据不在面向特定的程序, 而是面向整个系统。数据能够
39、被多个用户、 多个应用程序共享。数据共享能够减少数据冗余, 节约存储空间。数据共享还能避免数据之间不容性和不一致。 2) 减少数据的冗余度。同文件系统相比, 由于数据库实现了数据共享, 从而避免了用户各自建立应用文件。减少了大量重复数据, 减少了数据冗余, 维护了数据的一致性。 3) 数据结构化。在文件系统中, 尽管其记录内部已有了某些结构, 但记录之间没有联系。而数据库系统则实现了整体数据的结构化, 这是数据库的主要特征之一, 也是数据库与文件系统的本质区别。 4) 数据的独立性。数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立, 也包括数据物理结构的变化不影响数据的逻
40、辑结构。 5) 数据实现集中控制。文件管理方式中, 数据处于一种分散的状态, 不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理, 并经过数据模型表示各种数据的组织以及数据间的联系。 6) 数据一致性和可维护性, 以确保数据的安全性和可靠性。主要包括: ①安全性控制: 以防止数据丢失、 错误更新和越权使用; ②完整性控制: 保证数据的正确性、 有效性和相容性; ③并发控制: 使在同一时间周期内, 允许对数据实现多路存取, 又能防止用户之间的不正常交互作用; ④故障的发现和恢复: 由数据库管理系统提供一套方法, 可及时发现故障和修复故障
41、 从而防止数据被破坏 7) 故障恢复。由数据库管理系统提供一套方法, 可及时发现故障和修复故障, 从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障, 可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。 图5.1 数据库管理阶段应用程序与数据之间的对应关系 5.1.2 数据库的种类 数据库一般分为层次式数据库、 网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。 ( 1) 数据结构模型 1) 数据结构。所谓数据结构是指数据的组织形式或数据之间的联系。如果用D表示数据, 用R表示数据对象之间存在的关系
42、集合, 则将DS=(D, R)称为数据结构。例如, 设有一个电话号码簿, 它记录了n个人的名字和相应的电话号码。为了方便地查找某人的电话号码, 将人名和号码按字典顺序排列, 并在名字的后面跟随着对应的电话号码。这样, 若要查找某人的电话号码(假定她的名字的第一个字母是Y), 那么只须查找以Y开头的那些名字就能够了。该例中, 数据的集合D就是人名和电话号码, 它们之间的联系R就是按字典顺序的排列, 其相应的数据结构就是DS=(D, R), 即一个数组。 2) 数据结构种类。数据结构又分为数据的逻辑结构和数据的物理结构。数据的逻辑结构是从逻辑的角度(即数据间的联系和组织方式)来观察数据,
43、分析数据, 与数据的存储位置无关。数据的物理结构是指数据在计算机中存放的结构, 即数据的逻辑结构在计算机中的实现形式, 因此物理结构也被称为存储结构。这里只研究数据的逻辑结构, 并将反映和实现数据联系的方法称为数据模型。 ( 2) 层次、 网状和关系数据库系统 1) 层次结构模型。层次结构模型实质上是一种有根结点的定向有序树(在数学中"树"被定义为一个无回的连通图)。下图是一个高等学校的组织结构图。这个组织结构图像一棵树, 校部就是树根(称为根结点), 各系、 专业、 教师、 学生等为支点(称为结点), 树枝之间的联系称为边, 树根与边之比为1:N, 即树根只有一个, n树枝。
44、 2) 网状结构模型。按照网状数据结构建立的数据库系统称为网状数据库系统, 其典型代表是DBTG(Data Base Task Group)。用数学方法可将网状数据结构转化为层次数据结构。 3) 关系结构模型。关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。例如某单位的职工关系就是一个二元关系。由关系数据结构组成的数据库系统被称为关系数据库系统。 5.2 数据库的模型设计 5.2.1 概念数据模型设计 实体联系模型( Entity Relationship Model, 简称ER模型) 是直接从现实世界中抽象出实体类型及实体间联系, 然后用实体联系图( E
45、R图) 表示数据模型。ER模型是数据库概念设计的典型模型, 是用户和数据库设计人员之间进行交流的工具, 在设计数据数据库之前, 需要使用ER图将现实世界中的实体和实体之间的联系转换为概念模型。 ER图是直接表示概念模型的有力工具, 在ER图中有下面几个基本成分: (1) 矩形框, 表示实体类型( 问题的对象) 。 (2) 菱形框, 表示联系类型( 实体间联系) 。 (3) 椭圆形框, 表示实体类型和联系类型的属性。相应的命名均记入各种框中, 对于键的属性, 在属性名下面画一条横线。 (4) 连线, 实体与属性之间, 联系与属性时间用直线连接; 联系类型和其涉及的实体类型之间也能够直
46、线连接, 用来表示之间的联系, 并在直线端部标注联系类型( 1: 1, 1: N或M: N) 。 ER模型的基本元素是: 实体、 属性和联系。 实体( entity) 是一个数据对象, 指能够区别客观存在的事物, 同一类实体所有实例就构成该对象的实体集( entity classes) 。也就是说, 实体集是实体的集合, 是该集合中实体的结构形式表示, 而实例则是实体集中某一个特例。一般实体集中有多个实体实例。 属性是用来描述实体的特征, ER模型中假定实体集的所有实例具有相同的属性, 同时, 依据系统的要求, 每个属性都有它的数据类型及特性。 标识符是用以指定和区分不同的实体实例,
47、它是逻辑上的概念, 是用来标识实体的一个或多个属性, 而且标识符既能够唯一, 也可不唯一。 实体之间似乎经过关联进行联系的。ER模型中包括了关联集和关联实例的概念, 关联集放映出实体集见的关联, 而关联实例则是用来关联实体实例的。关联的度是指所关联的实体数目。大多数的关系都是二元的, 有三种二元关联: 1:1、 1:N、 N:M 分别用来表示实体间一对一、 一对多、 多对多关系。 (1) 一对一关联表示某种实体实例仅和另一个类型的实体实例相关联。 (2) 一对多关联表示多种实体实例能够和多个其它类型的实体实例相关联。在一对多关联中, 1和N对应的位置是不能够任意调换的。 (3) 多对多
48、联系: 两个实体类之间多对多联系组成的E-R模型向关系模型转换时, 将两个实体和一个联系分别转换成关系, 实体类的属性分别转换成对应关系的属性, 其标识属性为其关键字, 由联系转换得到的关系的属性由两个实体类的标识属性和联系本身的属性组成, 其关键字是由两个联系的实体类的标识属性组成的。例如: 本系统中供应商与进货单属于多对多的这种关系。 ER模型有两个明显的优点: 一是简单, 容易理解, 真实地反映用户的需求; 二是与计算机无关, 用户易接受。 可是ER模型只能说明实体间语义的联系, 还不能进一步说明详细的数据结构。在数据库设计时, 遇到实际问题总是先设计一个ER模型, 然后再把ER模型
49、转换成计算机能够实现的数据模型。 在模型设计中, 首先根据分析阶段收集到的材料, 利用分类、 聚集、 概括等方法抽象出实体, 并一一命名, 再根据实体的展性描述其间的各种联系。 本系统的E-R如图5.2所示: 客户账单 客户 结账 提供 销售信息 出库 库存 存储 入库 供应商 产品信息 M N M N N N N M M M 图5.2 企业生产管理系统实体E-R图 各个实体的E-R如下所示: (1)产品实体联系图如图5.3所示。
50、 产品 产品规格 产品编号 产品名称 计量单位 图5.3 产品信息实体E-R图 (2) 设备实体属性图如图5.4所示。 设备 使用部门 设备类型 设备状态 摊销时间 设备编号 设备名 购买价值 启用时间 图5.4 产品信息实体E-R图 (3) 物料实体属性图如图5.5所示。 物料 物料编号 计量单位 物料规格 物料名称 图5.5 物料信息实体E-R图 ( 4) 车间工人实体






