




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计本科毕业设计 题目 题目 商场零售管理系统商场零售管理系统 RetailRetail ManagementManagement SystemSystem ofof MarketMarket 院院 系系 信息科学与技术学院信息科学与技术学院 专专 业业 计算机科学与技术计算机科学与技术 学学 号号 学生姓名学生姓名 指导教师指导教师 职职 称称 商场零售管理系统 毕业论文 II 摘 要 随着信息产业的飞速发展 信息化管理已经引入并应用到各行业管理领域尤 其是对于零售业 企业若想在激烈的竞争中胜出就必须拥有一套完善的且合适自身特点的 信息化管理系统 商场零售管理系统开发的目标是实现企业零售管理的系统化 规范化和自动化 以实现企 业降低成本 及时反馈市场信息 完善服务质量 提高经济效益 分析市场需求 制定销 售计划和目标等管理目的 本系统中增加简单的财务报表 由于财务软件的特殊性 一般 不包括在零售管理系统中 本系统只做到为财务软件提供相应简单的财务数据 比如进销 存报表 本商场零售管理系统是针对一般零售商场的特点设计的软件 它包括系统功能 基本资料 客户管理 供应商管理 商品管理 订单管理 进货管理 销售管理 库存管理 财务报 表等九个模块 能够满足现代零售商场的发展需要 系统具有稳定性高 安全 易扩展 结构合理 界面友好 操作方便 实用而科学 性能 价格比高等特点 快速的查询 排序功能将大量复杂动态的数据直观化 简单化 关键字 关键字 商场零售 管理系统 数据库 商场零售管理系统 毕业论文 III Abstract With the development of information industry information based management has already leaded to go into and apply to each professional management field s especial retail The business enterprise must have fit it characteristics information based management system if they want to win in the competition The target of the system development is to carry out the business enterprise retail price to manage of systematize the norm turns and automates to help enterprise to decline low costs feedback market information in time perfect service quantity raise the economic performance analyze the market need and draw up the management purposes such as sale program It increase the simple financial report in this system because of the special of the finance software don t include generally in retail management system this system attains only to provide to correspond the simple finance data for the finance software entering to sell to save the statement for example The market retails to manage the software that the system is a characteristics design that aims at the general retail price market It includes the system function basic data customer management supplier management merchandise management order management and enters nine mold pieces The system has the stability high safety expand easily structure reasonable interface amity operation convenience practical but science the function price than high etc Various searching and statistics the function to keep a great deal of complications dynamic state of data the view turn and turn in brief Keywords Market retail Management system Database 商场零售管理系统 毕业论文 IV 目目 录录 前前 言言 1 第一章第一章 系统分析系统分析 2 1 1 管理信息系统概述及开发意义 2 1 2 需求分析 2 1 3 功能模块设计 3 第二章第二章 开发工具简介开发工具简介 4 2 1 开发工具简介 4 2 1 1 PowerBuilder 的对象 4 2 1 2 PowerBuilder 面向对象的特性 4 2 1 3 PowerBuilder 面向对象程序设计的过程 5 2 2 数据库的事务管理 5 2 2 1 PowerBuilder 中的事务管理 6 2 2 2 事务对象的 AutoCommit 属性 7 2 2 3 用数据库的事务管理指令实现完全控制 7 2 3 数据库设计 7 2 3 1 数据库模型 8 2 3 2 数据库平台的选择 9 第三章第三章 整体设计整体设计 10 3 1 系统结构图 10 3 2 业务流程图 10 3 3 数据库设计 11 3 3 1 数据库需求分析及 E R 图 11 3 3 2 数据表具体设计 13 3 4 关键设计 16 3 4 1 弹出菜单的设计 16 3 4 2 弹出菜单中的功能设计 16 第四章第四章 详细设计详细设计 18 4 1 系统登录窗口及菜单设计 18 4 1 1 系统登录窗口 18 4 1 2 主界面设计 19 4 1 3 功能菜单设计 19 4 2 基本资料管理 19 4 2 1 部门资料维护 20 4 2 2 员工基本信息维护 20 4 2 3 省份设置 21 4 2 4 单位设置 21 4 3 客户管理 21 商场零售管理系统 毕业论文 V 4 3 1 客户基本资料设置 22 4 3 2 客户查询 22 4 4 供应商管理 22 4 4 1 供应商基本资料维护 23 4 4 2 供应商特殊属性 23 4 4 3 供应商查询 23 4 5 商品管理 24 4 5 1 商品基本资料维护 24 4 5 2 商品特殊属性 25 4 5 3 商品查询 25 4 5 4 价格调整 25 4 6 订单管理 26 4 6 1 订单录入 26 4 6 2 订单审核 26 4 6 3 订单查询 27 4 7 进货管理 27 4 7 1 进货录入 27 4 7 2 进货审核 28 4 7 3 进货查询 28 4 8 销售管理 28 4 8 1 商品零售 29 4 8 2 销售明细 29 4 8 3 销售查询 29 4 8 4 销售排名 30 4 9 库存管理 30 4 9 1 商品入库 30 4 9 2 库存查询 30 4 9 3 库存盘点 31 4 10 财务报表 31 4 10 1 进货报表 31 4 10 2 销售报表 31 4 10 3 库存报表 32 4 11 帮助 32 4 11 1 软件说明 32 4 11 2 关于 32 第五章第五章 系统编译和发布系统编译和发布 33 5 1 创建工程对象 33 5 2 编译生成和测试 33 5 3 发布 34 第六章第六章 结论与展望结论与展望 35 6 1 结论 35 6 2 展望 35 商场零售管理系统 毕业论文 VI 致谢致谢 36 参考文献参考文献 37 附录附录 38 商场零售管理系统 毕业论文 7 前 言 随着信息产业的飞速发展 信息化管理已经引入并应用到各行业管理领域尤其是对于零售 业 放眼四周 各种形式的百货商场 大型仓储超市 便利店 连锁超市和专卖店等形式 的零售业鳞次节比 并不断改变 影响着我们的观念和生活方式 而企业若想在激烈的竞 争中胜出就必须拥有一套完善的且合适自身特点的信息化管理系统 以实现企业降低成本 及时反馈市场信息 完善服务质量 提高经济效益 分析市场需求 制定销售计划和目标 管理目的 因此 开发了一个能满足商家和客户需要的商场零售管理系统 该系统的目标 是实现零售管理的系统化 规范化和自动化 本系统具有系统功能 基本资料 客户管理 供应商管理 商品管理 订单管理 进货管理 销售管理 库存管理 财务报表等九个功 能 满足企业高效管理的需求 本论文第一章介绍了基本的系统分析 管理信息系统开发概述及开发意义 实现目标和需 求分析 第二章介绍了PowerBuilder数据库编程技术和数据库设计理论 第三章介绍了对 整个系统的总体设计 包括系统的结构图 业务流程图 以及数据库设计 包括了数据库 需求分析 数据流程分析 数据库的概念结构和逻辑结构设计 第四章是本系统的详细设 计 包括了主界面设计 菜单设计 系统登陆窗口的设计和九个主要功能模块设计 第五 章是系统的编译与发布 第六章是结论与展望 介绍了设计和编程体会 并指出了系统设 计中的不足和改进的方向 商场零售管理系统 毕业论文 8 第一章 系统分析 1 1 管理信息系统概述及开发意义管理信息系统概述及开发意义 管理信息系统的概念是 1961 年美国人 J D Gallagher 首先提出 它是一门新兴的 集管理 科学 信息科学 系统科学及计算机科学为一体的综合性学科 它是用于研究企事业中信 息管理活动的全过程 以便于更有效的管理信息 提供各类管理决策信息 辅肋企业进行 现代化管理 管理信息系统是企业的信息系统 它具备数据处理 计划 控制 预测 辅助决策功 能 具体作用如下 1 用一标准处理和提供信息 排除使用前后矛盾的不完整的数据 2 完整 及时提供在管理及决策中需要的数据 3 利用指定的数据关系式分析数据 客观预测末来 4 向各级管理机构提供不同详细程度的报告 缩短分析和解释时间 5 用最低的费用最短的时间提供尽可能精确 可靠的信息 以便决策者选择最佳的 实施方案 以提高企业的经济效益 自从有了计算机 人们就在想怎样让计算机来处理种类烦多的信息 由于信息的处理种类 多 数据量大 因此 传统的方法再也不能满足要求 随着信息产业的飞速发展以及日益 激烈的竞争 必须要有一个依靠计算机的信息管理系统软件的支持 1 2 需求分析需求分析 一个商场零售的管理系统不仅仅包括进货管理 销售管理 库存管理 还应包括商品管理 供应商管理和客户管理 有的企业甚至要求简单的人事管理 文档管理 信访管理以及多 媒体技术 由于财务软件的特殊性 一般是不包括在企业的进销存系统中 零售系统也只 要做到能为指定的财务软件软件提供相应的财务数据 比如进销存报表 商场提供给顾客的每一件商品都会有其对应的供应商 每一个供应商因为其提供给商场的 商品不同而会存在一个供应折扣不同的问题 供应商管理模块是企业和供货商联系的基础 它的信息直接影响企业和供货商的进货与付款结算 这里所指的供应商是对向购物中心提 供商品的厂家或经销商 主要是对供应商的基本资料 特殊属性进行维护 并提供供应商 查询功能 商场的经营活动主要是围绕着商品的购入 并在企业内转移 存贮 最终实现销售而展开 伴随着商品在企业内的流动 产生了相应的商品信息流 商品成为企业经营管理的主体 商品信息也就成了进销存系统软件处理的主体 商品进货管理 销售管理 调拨管理 库 存管理这一切都离不开对商品的操作 商品管理模块是整个系统的核心 它主要任务是处 理商品的基本信息 包括商品编码的实现 属性设置 价格调整等 商场进货一般首先是向供应商或厂家发出订单 供应商或厂家在收到订单之后根据订单上 的商品清单给企业发货 企业在收到商品之后根据实到的商品数量进行确认完成商品的入 库工作 因此 订单管理是商品开始流转前的第一步 订单管理实现的功能从业务角度来 说是企业要求供应商生成商品的订货单 它属于一种计划 从计算机角度来说可以看成是 对进货商品的预先录入 使得当真正的商品到来时仓库人员能够以最快的速度将实际到达 商场零售管理系统 毕业论文 9 商品的数量输入计算机 所以对订单的操作分成录入 审核和查询这三部分 进货管理和订单管理在操作形式上几乎是相同的 可以以进货单将进货分成录入 审核和 查询操作 进货录入负责将由供应商送来的商品进行登记生成进货单 同时允许对进货单 进行修改 删除和还原操作 进货审核是对进货单进行确认 进货查询是查询进货单据 查询条件是单据编号 企业根据市场的要求即时调整自己的商品结构对企业掌握经营的主动权 满足市场需求 提供自身的经济效益和竞争力显得十分重要 由于商场面向的是直接购物的顾客 因此对 于销售管理模块开说任何条件下都应保证其数据的正确性和及时性 在响应时间上对商品 信息数据的读取也应该保证在顾客可以接受的范围呢 本模块包括商品零售 销售明细和 销售查询三个部分 无论是商品的进货还是商品的销售都会影响到商品的库存 一个设计的再完善的系统 在 经过了一段时间运行之后 总会出现个别商品的系统库存与实际库存不相符 尤其象商场 这样一个流动性很大的企业 出现差错除了软件方面的原因还有人为的因素在里面 当出 现差错时则必须将正确的商品库存数量记录到库存表中 本模块共包括三个部分 商品入 库 库存查询 库存盘店 最常用的财务报表有商品进销存报表 月报表 月进货统计表 月销售统计表 月出入库 统计表和收银员销售日报 本系统只做了商品进销存报表 能动态反映商场每天的经营情 况 可以根据用户的需要按照部门将商场一天的进货 销售和库存情况进行统计 供财务 部门参考 1 3 功能模块设计功能模块设计 系统开发的目标是实现企业零售管理的系统化 规范化和自动化 以实现企业降低 成本 及时反馈市场信息 完善服务质量 提高经济效益 分析市场需求 制定销售计 划和目标等管理目的 该系统包括系统功能 基本资料 客户管理 供应商管理 商品 管理 订单管理 进货管理 销售管理 库存管理 财务报表等九个模块 系统主要功 能设计有 1 基本资料 部门资料 员工资料 省份设置 单位设置 2 客户管理 基本资料 客户查询 3 供应商管理 供应商基本资料 特殊属性 供应商查询 4 商品管理 商品基本资料 特殊属性 商品查询 价格调整 5 订单管理 订单录入 订单审核 订单查询 6 进货管理 进货录入 进货审核 进货查询 7 销售管理 销售登记 销售明细 销售查询 销售排名 8 库存管理 商品入库 库存查询 库存盘点 9 财务报表 进货报表 销售报表 库存报表 商场零售管理系统 毕业论文 10 第二章 开发工具简介 2 1 开发工具简介开发工具简介 在 PowerBuilder 的应用开发中 运用面向对象技术不是必须的 但是对一个大型复杂应用 系统的开发 如果采用了面向对象技术 则开发效率会大大提高 用 PowerBuilder 开发的好处是 即使您不懂得什么是面向对象技术 您也可能会下意识地 用到面向对象技术的一些特性 但是如果您对这一技术有了充分的了解 那对您所设计程 序的可重用性 可维护性和其他各方面的质量都会有大幅度提高 2 1 1 PowerBuilder 的对象的对象 PowerBuilder 对象有三个部分元素 属性 函数和事件 1 属性 也就是数据 包括系统属性和用户定义属性两类 描述该对象的各种特性 如在窗口对象中的系统属性包括标题 高度 宽度等 用户定义的属性可以是实例变量或 共享变量 对这种属性的访问同系统属性相同 只是在封装性上有所不同 2 事件 PowerBuilder 中的事件与 Windows 的事件存在着映射关系 当用户的操作 或系统本身产生 Windows 的标准事件 就转化成 PowerBuilder 中的事件 例如命令按钮 有一个叫 Clicked 事件 当用户按按钮时触发 操作系统首先检测到鼠标被点击 并把 Clicked 这一消息转给该按钮 PowerBuilder 运行时的工作引擎翻译了这一事件 并执行 适当 PowerScript 语句 PowerBuilder 中大部分的事件都是可以映射成由用户激发的 Windows 事件 另一类事件是用户定义事件 这种事件是用户声明并可以在任何时刻由用 户触发的 Power Builder 中保留了 75 个用户事件可由程序员使用 3 函数 用户通过函数来使对象完成某些操作 Pow erSoft 公司建议用户通过调用 对象事件和函数来修改对象而不要直接修改对象属性 以满足对象封装的要求 例如采用 Window hide 而不要用 Window visi ble false 来使窗口不可见 2 1 2 PowerBuilder 面向对象的特性面向对象的特性 提到一门语言的面向对象特性 它应当具有继承性 多态性和封装性 如缺少其中的一个 则只能称其为基于对象的系统 而不是面向对象的系统 而 PowerBuilder 则很好地具备了 全部三个特性 继承 PowerBuilder 中 窗口 菜单和用户对象是可以继承的 而其他对象则都不能 当您继承 了一个对象 那您得到的子类将具有父类的属性 实例变量 共享变量 控件 用户自定 义事件 对象级函数 事件和代码 script 也就是说当您继承了一个类 您几乎得到了 这个类的全部 不过有一点值得注意 您不能在子类中删除任何一个继承到的特性 在继承了祖先类后 您可以在子类中扩展或覆盖祖先的元素 例如代码 在 PowerBuilder 中缺省的是采用扩展方式 先执行继承到的祖先代码 后执行 子类的扩展代码 您也可以 选择菜单 Compiler OverrideAncestorScript 选项 只执行子类的代码 并可在代码中的 任何位置调动祖先代码如 CALLw l open 重载函数是面向对象程序设计的重要特性 即同一函数名却有着不同的 参数 和返回值 在运行时 系统自动寻找执行参数相匹配的那个函数 例如我们常用的 MessageBox 这个函数就有 12 个不同参数的重载函数 遗憾的是 对 Power Builder 我 们不能在同一个继承对象中定义 2 个不同参数的重载函数 只能在后继的类中定义重载函 数 这使我们对重载函数的定义带来了很大的不便 这不能不说是 PowerBuilder 的缺陷 不过在即将发布的 PowerBuilder5 0 中 正是支持了函数重载这一特性 商场零售管理系统 毕业论文 11 对于对象的继承 PowerBuilder 中所有对象都有其共同的基类 PowerObject 从这一个基 类下面分成继承类 Graph icObject 和 NonVisualObject 等 它们的继承关系和扩展函数 及属性如下表 多态性 在 PowerBuilder 中有大量的多态函数如 print TriggerEvent 等 在运行过程中 您 只需要指出对象和函数名即可 在有些函数中 即使不知道对象类 也可以用 ClassName 函 数得到对象类 或得到实例名 将对象名作为函数参数调用该函数 封装性 封装的目的是为了实现数据隐藏和数据保护 封装的目标是为对象提供一个对外操作的接 口 使其他对象通过函数来访问 而不允许直接操纵对象的属性 在 PowerBuilder 中有三 种访问类型 Public Protect Private 这三种访问控制类型可以用在对象的变量和函 数上 缺省的实例变量和对象函数都是 public 类型的 为了保护数据 应尽可能多地使用 private 和 protect 类型 前者只允许对象内部的元素来访问 后者可以接受对象内部和 继承类的元素访问 2 1 3 PowerBuilder 面向对象程序设计的过程面向对象程序设计的过程 事实上用户在运用 Power Builder 进行程序设计的一开始 就已经开始进行对象类的设计 例 如在建立窗口时可以用窗口画笔 painter 建立一个新窗口 命名为 w emp 建立的窗口 就是从 PowerBuilder 的窗口对象继承下来的 所以窗口会自动具备一些属性 例如 X 和 Y 的坐标 高度 宽度 窗口类型 标题等 当用窗口画笔建立窗口时 您给这些属性赋了 值 你还可以增加窗口的函数和事件 2 2 数据库的事务管理数据库的事务管理 在数据库中 所谓事务是指一组逻辑操作单元 使数据从一种状态变换到另一种状态 为 确保数据库中数据的一致性 数据的操纵应当是离散的成组的逻辑单元 当它全部完成时 数据的一致性可以保持 而当这个单元中的一部分操作失败 整个事务应全部视为错误 所 有从起始点以后的操作应全部回退到开始状态 对事务的操作是这样进行的 先定义开始一个事务 然后对数据作修改操作 这时如果提 交 COMMIT 这些修改就永久地保存下来 如果回退 ROLLBACK 数据库管理系统将放弃您 所作的所有修改而回到开始事务时的状态 此外有些数据库支持事务的 存储点 savepoint 这一概念 即在一个事务进程中任意一点您都可以进行当前状态的存储 回退 时只是回到你所设定的存储点 而不必退回全部的事务 如果您的事务可以分成几组对数 据库的修改 那就可以设置多个存储点 根据需要您可以回退到任意一个存储点 而不使所 有事务的修改数据全部丢失 正确地管理事务可以保证数据的完整性 当您所做的工作全部完成和得到确认之前 没有 任何数据物理地写进数据库 让我们来看这样一个实例 我们有这样一个银行应用系统 前台使用者作出将储户甲的一百元存款划归储户乙帐下的操作 在后台的数据库中 这两 个客户的记录分储在两张表中 当使用者在屏幕上作出如上操作时 在后台需要对两张表 进行修改 如果在数据库中对甲用户存款余款作减去一百元修改后 对乙用户加一百元的 操作修改却失败时 前一张表也必须回到修改前的状态 否则数据库的内容不统一 甲储户 白白损失一百元 信息必然是不正确的 因此进行事务管理是必须的 传统地 我们认为一个事务包括了对一个或多个表的修改 而随着分布式数据库和数据仓 库的发展 事务可能包括了对一个或多个数据库的修改 在上例中甲乙两用户就可能是异 地用户 信息分储在不同地域的不同数据库中 上述的一个事务就涉及到了对不同数据库 的操作 商场零售管理系统 毕业论文 12 2 2 1 PowerBuilder 中的事务管理中的事务管理 作为数据库的前台开发工具 Power Builder 支持事务管理的操作 在 Power Builder 中 有一种称作事务 transaction 的对象 这个对象是 PowerBuilder 应用与数据库的通讯区 域 PowerBuilder 在应用开始时建立一个全局的事务对象 SQLCA 由于大多数的应用只 用到一个数据库 所以一般开发者主要也只用 SQLCA 作为与唯一数据库连接的事务对象 PowerScrip 中常用的事务管理的语句有 4 个 COMMIT ROLLBACK CONNECT DISCONNECT 当您需要应用与数据库建立连接时使用 CONNECT 这一操作命令 取消连接时执行 DISCONNECT 这两个命令一般分别用在应用的开始和结束 也就是 Appli cation 的 Open 和 Close 事件中 当一个事务的数据库修改都成功地完成后 修改须提交给数据库 COM MIT 语句是一个旧 事务结束和一个新事务开始的界线 在修改被提交前 数据库的数据并没有被真正地修改 这 些修改被保留在某个工作区 只有作修改的用户才能看到这些被修改后的值 提交之后 则 所有的用户就都可以看到新值了 在事务的进程中发生某些错误 或者在操作中出于种种原因打算中止事务 须用 ROLLBACK 命令回退事务 如果已作的操作不用 ROLLBACK 命令取消 这些操作必将错误地作为下一个 事务的一部分而导致数据库的混乱 如果您使用的是多窗口的应用 却只用一个事务对象 就应格外注意 ROLL BACK 和 COMMIT 会影响事务的逻辑一致性 在某个窗口执行的这两个指令会使其他窗口应用中所进行到 一半的工作提交或回退 在多用户系统中 修改和提交的时间越接近 提交成功的可能性就越高 因为一个事务中 所有的 SQL 语句全部执行成功而提交却失败是完全可能发生的 例如在您的事务过程中 另一个用户修改了数据并提交 这很可能使您作出的修改无效 这时 COMMIT 将失败 您必 须回退这一事务的全部 2 2 2 事务对象的事务对象的 AutoCommit 属性属性 事务对象有一个 AutoCom mit 的属性可以使开发者简化对事务管理的操作 这一布尔型的 属性可以用 TRUE 或 FALSE 来对其赋值 当其为真时 PowerBuilder 不通过其他额外的交 互就将您的 SQL 语句传输给后台数据库 而且执行完毕自动提交 当然 您可以设置 AutoCommit 属性为假 缺省值 使用 COMMIT 或 ROLLBACK 这样的关键词 提交或回退事务 在大多数应用中 一部分的数据库操作是要成组提交的 而另一些则不 用 因此我们可以利用 AutoCommit 的特性来确定事务的起点 当我们把 AutoCommit 的属 性设为 False 时 系统设定此时为事务的起点 当 AutoCommit 设为真时 系统自动消取这 一事务 因此你可以先把 AutoCommit 设为真 当您需要开始一个事务时 将其置为 false 此 刻即为事务起始点 PowerBuilder 内部这种事务管理的最大优点是方便 您不去考虑整个事务 而只需把您 所作的修改提交或滚回即可 但是方便与可控性总是矛盾的 在 Power Builder 中没有存 储点和嵌套事务管理的机制 即使您所使用的数据库支持这些特性 在 PowerBuilder 中却 无法得以体现 不过在普通的应用中 存储点和嵌套事务管理并不是必须的 一般的事务 管理足以够用 2 2 3 用数据库的事务管理指令实现完全控制用数据库的事务管理指令实现完全控制 上述的事务管理方式尽管简单方便 但是在某些应用中 我们也的确需要利用所用的数据库 系统的嵌套事务和存储点的特性 而 PowerBuilder 内部的事务管理没有提供这样的功能 您 必须自己设计 自己进行事务管理的方式是直接使用数据库本身的事务指令 当您使用自己的管理方式时 商场零售管理系统 毕业论文 13 就应使 Power Builder 停止管理事务 即设置 Auto Commit 为 TRUE 系统内部就不会自动建 构事务处理的命令了 实现人工事务管理的方式是采用 EXECUTEIMMEDIATE 这条 PowerBuilder 指令来执行任意的数据库操作 你所需做的是将数据库指令编辑成一个字符 串 您可以执行任何的数据定义语句如建表 建主键 存储过程等 例如您可以用 EXECUTEIMMEDIATEBEGINTRANSACTIONtrans name 这样的指令开始一个事务 采用这种方法 只 要您所用的数据库支持嵌套事务和存储点等事务管理 我们通过 PowerBuilder 开发出的应 用也就同样可以实现 在 PowerBuilder 中提供的事务管理的方法是多种多样的 只要您灵活运用 就一定能设计出 优秀的数据库应用来 2 3 数据库设计数据库设计 数据库是一种存储数据并对数据进行操作的工具 数据库的作用在于组织和表达信息 简 而言之 数据库就是信息的集合 创建任何一个数据库的第一步是仔细的规划数据库 设 计必须是灵活的 有逻辑的 创建一个数据库结构的过程被认为是数据模型设计 实际上设计任何一种数据库应用系统 不论是层次的 网状的还是关系的 都会遇到如何构 造合适的数据模式即逻辑结构的问题 由于关系模型有严格的数学理论基础 并且可以向 别的数据模型转换 因此人们往往以关系模型为背景来讨论问题 形成了数据库逻辑设计 的一个有力工具 关系数据库规范化理论 关系数据库是以关系模型为基础的数据库 它利用关系描述现实世界 一个关系既可用来 描述一个实体及其属性 也可用来描述实体间的一种联系 关系模式是用来定义关系的 一个关系数据库包含一组关系 定义这组关系的关系模式的全体就构成了该数据库的模式 范式是符合某一种级别的关系模式的集合 关系数据库中的关系必须满足一定的要求 满 足不同程度要求的为不同范式 目前主要有六种范式 第一范式 第二范式 第三范式 BC范式 第四范式 第五范式 满足最低要求叫第一范式 数据库之间的关系指明两个库之间共享一个共同的关键字值 一个连接是指一种虚拟的表 这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的 关键字段用于在 相互连接的不同表中查找匹配的记录 一个更高级的连接形式称为自连接 这种连接是指 一个表被连接到它自己的一个字段 或在不同的纪录中由重复数据的组合字段 数据库中 有三种不同类型的关键字 主关键字 组合关键字和外关键字 在表中使用的关键字类型 用于描述库表示什么以及在数据库中如何与其它的库建立关系 2 3 1 数据库模型数据库模型 目前广泛作用的数据模型可分为两种类型 1 独立于计算机系统的模型 完全不涉及信息在系统中的表示 只是用来描述某个特定组 织所关心的信息结构 这类模型称为 概念数据模型 要领模型用于建立信息世界的数 据模型 强调其语义表达功能 应该概念简单 清晰 易于用户理解 它是现实世界的第 一层抽象 是用户和数据库设计人员之间进行交流的工具 这一其中著名的模型是 实体 联系模型 2 直接面向数据库的逻辑结构 它是现实世界的第二层抽象 这类模型涉及到计算机系统 和数据库管理系统 又称为 结构数据模型 例如 层次 网状 关系 面向对象等模 商场零售管理系统 毕业论文 14 型 这类模型有严格的形式化定义 1 层次模型 用树型结构表示实体类型及实体间联系的数据模型 树的结点是记录类型 每个非根结点有且只有一个父结点 上一层记录类型和下一层记录类型间联系是 1 N 联系 层次模型的特点是记录之间的联系通过指针实现 查询效率较高 但层次模型有两个缺点 一是只能表示 1 N 联系 虽然有多种辅助手段实现了 M N 联系 但都较复杂 二是由于树 型结构层次顺序的严格和复杂 引起数据的查询和更新操作也很复杂 因此 编写应用程 序也很复杂 2 网状模型 用有向图结构表示实体类型及实体间联系的数据模型 1969 年 DBTG 报告 提出的数据模型是网状模型的主要代表 有向图中的结点是记录类型 有向边表示从箭尾 一端的记录类型到箭头一端的记录类型间联系是 1 N 联系 网状模型的特点 记录之间联 系通过指针实现 M N 联系也容易实现 查询效率较高 网状模型的缺点是编写应用程序 比较复杂 程序员必须熟悉数据库的逻辑结构 由于层次系统和网状系统的应用程序编制 比较复杂 因此 从 20 世纪 80 年代中期起 其市场已被关系系统所取代 但是使用这两 种模型建立起的许多数据库仍然在正常运转 只是在外层加了个关系数据库语言的接口 3 关系模型 关系模型的主要是用二维表格结构表达实体集 用外键表示实体间联系 关 系模型是由若干个关系模式组成的集合 关系模式相当于前面提到的记录类型 它的实例 称为关系 每个关系实际上是一张二维表格 关系模型和层次 网状模型的最大判别是用 关键码而不是用指针导航数据 表格简单用户易懂 编程时并不涉及存储结构 访问技术 等细节 关系模型是数学化模型 SQL 语言是关系数据库的标准化语言 已得到了广泛的 应用 4 面向对象模型 目前 关系数据库的使用已相当普遍 但是 现实世界中仍然存在着 许多含有复杂数据结构的应用领域 例如 CAD 数据 图形数据等 而关系模型在这方面 的处理能力就显得力不从心 因此 人们需要更高级的数据库技术来表达这类信息 面向 对象的概念最早出现在程序设计语言中 随后迅速渗透到计算机领域的每一个分支 面向 对象数据库是面向对象概念与数据库技术相结合的产物 2 3 2 数据库平台的选择数据库平台的选择 数据库的发展经过好几个阶段 从最初的平面文件管理方式 多个平面文件管理 再到平 面文件数据库 大型关系型数据库的等几个阶段 1 Access 是微软推出的简单的一个数据库 它采用一个文件的方式 内部以基于表 窗体 报表等一系统的机制对外提供一个数据平台 它的特点是简单 实用 对于许多小型的数据可以能够很好地满足要求 它对于一般的平 面文件相比 它有着可以对实体之间进行关联 另外 它内含其开发工具 可以在其中进行窗体 报表等的创建 2 Oracle 是数据库中最为优秀的一种选择 它功能强大 支持多种平台 强大的开发平 台以及丰富的开发软件包 对于各级企业的数据库应用提供了完美的方案 不足之处是它太过于复杂 价格昂贵 使得一般的用户不易使用 它被定为了最高档的大型关系数据库系统 3 SQL Server 为微软的中间档次的数据库开发平台 由于其强有力的操作系统 以及微软 产品内部的良好连接性能 使得 SQL 的市场占有率急剧上升 再者由于它针对于中间档次 的用户 价格也适中 因此 它的使用非常广泛 本系统采用的是简单实用的 Access 作为数据库的开发后台 商场零售管理系统 毕业论文 15 第三章整体设计 3 1系统结构图系统结构图 本系统有 9 大模块 详细系统结构图如图 3 1 所示 商场零售管理系统 基 本 资 料 客 户 管 理 供 应 商 管 理 商 品 管 理 订 单 管 理 进 货 管 理 销 售 管 理 库 存 管 理 财 务 报 表 员 工 资 料 部 门 资 料 客 户 资 料 客 户 查 询 供 应 商 资 料 供 应 商 查 询 商 品 资 料 价 格 调 整 订 单 录 入 订 单 审 核 订 单 查 询 进 货 录 入 审 核 查 询 商 品 销 售 明 细 查 询 商 品 入 库 查 询 盘 点 进 销 存 报 表 图 3 1 商场零售管理系统结构图 3 2业务流程图业务流程图 订单录入出库 进货录入 审核审核 销售 价格调整 采购订单 订单 管理 进货 管理 库存 管理 销售 管理 客户 供应商 管理 销售报表库存报表进货报表 盘点 销售查询 订单查询 商品查询 供应商 商品 管理 商场零售管理系统 毕业论文 16 图 3 2 业务流程图 3 3数据库设计数据库设计 3 3 13 3 1 数据库需求分析数据库需求分析及及 E RE R 图图 根据以上的系统功能分析 可以得到数据库由以下几个部分组成 1 部门信息表 department 表 2 员工基本信息表 employee 表 3 商品基本信息表 goods 表 4 供应商基本信息表 supplier 表 5 客户基本信息表 customer 表 6 订单信息表 orders 表 7 商品进货信息表 purchase 表 8 商品销售表 sales 表 9 商品库存表 kc 表 部门和员工 E R 图 n1 部门员工组成 姓名性别员工编号 部门编号 图 3 3 部门和员工 E R 图 进货 E R 图 n m 商 品 商品名型号单位产地进价售价 供货 供应商 供应商编码供应商名地址电话 部门名称 商场零售管理系统 毕业论文 17 图 3 4 进货 E R 图 销售 E R 图 m n 客 户 客户编码客户名称公司名地址电话 订货 商 品 商品名型号单位产地进价售价 图 3 5 销售 E R 图 订单 E R 图 1 n 订 单 订单编号部门编号制单人制单日期供应商编号 审核 员工 员工编号性别姓名业绩 图 3 6 订单 E R 图 库存 E R 图 n1 库 存 商品名型号单位产地入库数操作员 入库 商品 入库日期 商场零售管理系统 毕业论文 18 图 3 7 库存 E R 图 财务报表 E R 图 1n 财务报表 进货报表销售报表库存报表 打印 员工 图 3 8 财务报表 E R 图 3 3 23 3 2 数据表具体设计数据表具体设计 1 部门信息表 department 表 表 3 1 department 表 2 员工基本信息表 employee 表 表 3 2 employee 表 3 商品基本信息表 goods 表 表 3 3 goods 表 4 供应商基本信息表 supplier 表 商场零售管理系统 毕业论文 19 表 3 4 supplier 表 5 客户基本信息表 customer 表 表 3 5 customer 表 6 订单信息表 orders 表 表 3 6 orders 表 7 商品进货信息表 purchase 表 表 3 7 purchase 表 商场零售管理系统 毕业论文 20 8 商品销售表 sales 表 表 3 8 sales 表 9 商品库存表 kc 表 表 3 9 kc 表 商场零售管理系统 毕业论文 21 3 4 关键关键设计设计 本系统采用弹出菜单的功能 将多个按键的功能集于一身 省去一个界面里有多个按 键 使得界面简洁直观 3 4 13 4 1 弹出菜单的设计弹出菜单的设计 当用户在数据窗口控件中单击鼠标右键的时候会在鼠标位置出现一个弹出菜单 但现 在在进行窗口设计的时候并没有将任何菜单和窗口关联 因此 首先必须创建菜单对象 再将菜单关联到窗口 创建菜单对象之前首先需要说明一个菜单变量 和任何变量说明一 样 说明菜单变量的语句如下 m dwpop lm dwpop 其中 m dwpop 是创建的弹出式菜单的菜单名字 有了菜单变量说明语句 接下来的问题 是把菜单变量说明语句放在什么位置 也就是弹出菜单的作用域是什么 调用菜单的地方 是在数据窗口控件中的单击鼠标右键的事件中发生 既然如此 菜单变量的说明完全可以 放在该事件中 在数据窗口的 RbuttonDown 事件中写上 m dwpop lm dwpop 有了菜单 变量声明之后就该创建菜单实例 创建菜单实例的代码如下 lm dwpop create m dwpop 一但菜单实例创建完毕就可以象窗口菜单那样使用 现在程序要做的是如何实现弹出菜单 弹出菜单的方式是通过菜单的 popmenu 函数 Popmenu 函数的作用是在指定位置显示弹 出菜单 在使用 popmenu 函数时 将菜单对象的 visible 属性设置为 true 否则用户不会 在窗口上看到弹出菜单 完整的菜单调用函数如下 m dwpop lm dwpop lm dwpop create m dwpop lm dwpop popmenu parent pointerx parent pointery 上述代码中 parent pointerx 和 parent pointery 表示确定鼠标指针离指定对象左边缘和上边 缘的距离 作为函数 popmenu 的参数就是在窗口鼠标指针显示的位置处弹出菜单 m dwpop 3 4 23 4 2 弹出菜单中的功能设计弹出菜单中的功能设计 若仅仅弹出一个菜单而不做任何事这显示是不行的 在弹出菜单中我们需要对数据窗口 实现新增 删除和存盘等一系列工作 在弹出式菜单中实现对数据窗口操作的一种通用方 法是在菜单中调用其父窗口的事件 在菜单对象的函数中有一个函数 postevent 该函 数将指定事件放置到指定对象或控件事件队列的尾部 异步触发事件 既然是调用父窗 口的事件 那么首先要得到父窗口对象或者说指向父窗口对象 在菜单对象属性中一个叫 parentwindow 的属性指定菜单对象的父窗口 现在先假设父窗口 w employee 有一个叫 ue dwnew 的事件 在菜单中调用它的语句应该是 parentwindow postevent ue dwnew 有了事件调用语句 接下来就该写事件代码时间菜单上所要求的功能 通过菜单应对数 据窗口需要实现新增 删除 存盘 上下移记录以及退出窗口等功能 显然 这些功能在一个事件中实现是不太容易的 也不太可能用窗口自带的事件 惟一解 决办法就是为窗口自定义事件 例如打开员工信息维护窗口 w employee 选择事件列表 在事件列表的空白处单击鼠标右键 选择 add 新增 命令 或者选择 powerbuilder 主菜单 insert event 命令 此时用户自定义事件窗口打开 现在 将为窗口上的数据窗口增加一个实现添加新记录功能的事件 ue dwnew 由于事件不需要任 商场零售管理系统 毕业论文 22 何输入参数和任何返回参数 因此 在事件名字 event name 录入栏中输入事件名字 ue dwnew 然后在代码框中输入能实现记录添加的代码 long ll row 0 ll row dw 1 insertrow 0 dw 1 setrow ll row dw 1 setcolumn empcode 类似其 他功能代码如下 刷新功能 dw 1 retrieve 用户事件 ue dwrefresh 删除功能 long ll row 0 用户事件 ue dwdel ll row dw 1 getrow if ll row 0 then dw 1 deleterow ll row 存盘功能 if dw 1 update 1 then commit 用户事件 ue dwsave Messagebox 信息提示 存盘成功 Else rollback Messagebox 出错提示 存盘失败 End if 首记录 dw 1 setrow 1 dw 1 setcolumn empcode 用户事件 ue dwfirst dw 1 selectrow 0 false dw 1 selectrow 1 true 尾记录 long ll row 0 ll row dw 1 rowcount 用户事件 ue dwlast dw 1 setrow ll row dw 1 setcolumn empcode dw 1 selectrow 0 false dw 1 selectrow ll row true 上一条 long ll row 0 ll row dw 1 getrow 用户事件 ue dwpre dw 1 selectrow 0 false if dw 1 setrow ll row 1 1 then dw 1 setrow ll row dw 1 selectrow ll r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业废水处理技术与方法
- 工业机器人技术与发展趋势
- 工业废水处理技术创新研究
- 工业污染防治与绿色技术创新
- 工业机器人动力学设计与应用
- 工业绿色化转型策略与方案
- 工业节能与新能源技术应用
- 工业燃气管网的智能化管理研究
- 工业节能减排的先进技术与方法
- 工作中的自我激励方法探讨
- 老年常见技术之热水袋使用护理课件
- 2024年真空泵行业技术趋势分析
- prp技术治疗骨关节疼痛
- 木材的声学与振动特性
- 医疗机构污水管理培训护理课件
- 4D厨房区域区间管理责任卡
- 2023年衡阳市中级人民法院聘用制书记员招聘考试试题及答案
- 区块链原理与实践全套教学课件
- 军事训练伤的防治
- 动物药理课件
- 国开《化工安全技术》形考任务1-4答案
评论
0/150
提交评论