销售管理子系统_第1页
销售管理子系统_第2页
销售管理子系统_第3页
销售管理子系统_第4页
销售管理子系统_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科学生综合性实验报告课程名称:数据库系统原理数据库设计姓名 学 号 姓名 学 号 班级 项目名称 指导教师 开课学期 至 学年 第一 学期完成时间 年 月 日目录1 需求分析31.1系统目标31.2功能需求及数据需求分析31.3 业务规则分析72 概念设计82.1 命名规范82.2 实体集及属性82.3 联系集及属性132.4 系统总ER图133 逻辑设计153.1 数据字典设计153.2 基本数据设计163.3 业务数据设计173.4 视图设计213.5 触发器设计213.6 存储过程设计224 模式求精234.1 存在的问题234.2 解决方案235 物理设计245.1 设计目标245.2 数据分布245.3 索引实现246 安全设计256.1 设计目标256.2 用户设计256.3 权限设计261 需求分析现今中国市场经济不断发展、销售企业的不断壮大,对于一个对大多数的销售企业都适用的销售管理系统,其需求量越来越大,全面及安全方面的要求也越来越严格!本次设计正是基于这种需求开发一个适用于大多数销售企业,且安全性能高的销售管理子系统!销售管理系统是处于生产层和供应层之后的管理系统,主要负责产品销售和供应协调,是企业管理的一个重要管理环节,它的特点是信息量大,要求信息反馈迅速,对企业经济效益能够产生直接的影响。同时,它与他的其他管理环节如库存管理销售账务管理等关系十分密切1.1系统目标由于传统的手工管理模式,其工作效率、管理质量和管理水平已不能满足当今经营管理发展的要求。只有采用先进的计算机管理技术,把一些科学管理的技术及管理方式融入到企业销售管理中,才能提高工作效率和企业的管理水平。鉴于这种需求,根据企业实际运营情况,设计出合理的解决方案,在业务与管理之间、产品与客户之间建立很好的信息共享渠道,提高企业运营效率;还有专门针对销售企业的日常事务管理,集合了进、销、存和退位一体的管理。本系统主要用于存储客户、销售产品信息以及销售记录,以便能够实时地进行订单跟踪、销售结算、库存管理,最大限度的实现产品销售管理的科学化、系统化和自动化。1.2 功能需求及数据需求分析产品销售管理系统总的系统功能模块如图1-1所示:销售管理子系统基础货料用户权限管理采购业务信息统计报表及业务分析查询业务综合信息查询货品库存查询报表生成及业务分析财务结算收款单管理退货单管理销售单管理付款单管理退货单管理采购单管理仓库管理货品信息管理来往客户信息管理职员信息管理销售业务图 1-1销售管理系统功能模块1基础资料管理(1)职员信息:提供职员(该系统中职员包括:销售员,采购员,制单员、库管理员)基本信息录入、维护与查询功能。包括: 职员信息基本信息的录入; 职员基本信息的更新、增加和删除; 支持模糊查询,可由职员所司职业查询该职业上的全部员工; 所有有权限用户根据职员编号查询特定职员基本信息;(2)来往客户信息:提供来往客户(包括供货客户单位和销售客户单位)基本息息录入、维护与查询功能。包括: 来往客户信息基本信息的录入; 来往客户基本信息的更新、增加和删除; 支持模糊查询,可由来往客户所在地分类查询该该类全部客户资料; 所有有权限用户根据来往客户编号查询特定来往客户基本信息;(3)货品信息:提供货品基本信息录入、维护与查询功能。包括: 货品信息基本信息的录入; 货品基本信息的更新、增加和删除; 支持模糊查询,可由货品所在分类查询该该类全部货品信息; 所有有权限用户根据货品编号查询特定货品基本信息;(4) 仓库信息:提供公司仓库信息录入、维护与查询功能。包括: 公司新增仓库基本信息的录入; 所有有权限用户根据仓库分类或仓库编号、名称查询仓库基本信息;2采购业务管理:(1)采购进货单信息管理:提供进货单基本信息录入、维护与查询功能。包括: 进货单信息基本信息的录入; 进货单基本信息的更新、增加和删除; 所有有权限用户可根据进货单单号查询特定进货单基本信息,或根据货单的其他属性查询一类进货单的信息;(2) 采购退货单信息管理:提供退货单基本信息录入、维护与查询功能。包括: 采购退货单信息基本信息的录入; 采购退货单基本信息的更新、增加和删除; 所有有权限用户可根据采购退货单单号查询特定退货单基本信息,或根据采购货单的其他属性查询一类退货单的信息;(3)付款管理:提供付款单基本信息录入、维护与查询功能。包括: 付款单信息基本信息的录入; 付款单基本信息的更新、增加和删除; 所有有权限用户可根据付款单单号查询特定付款单信息,也可根据采进货单单号查询该单的付款信息;3.销售业务管理(1)销售发货单信息管理:提供销售发货单基本信息录入、维护与查询功能。包括: 销售发货单信息基本信息的录入; 销售发货单基本信息的更新、增加和删除; 所有有权限用户可根据销售发货单单号查询特定进销售发货单基本新息,或根据销售发货单的其他属性查询一类销售发货单的信息;(2) 销售退货单信息管理:提供销售退货单基本信息录入、维护与查询功能。包括: 销售退货单信息基本信息的录入; 销售退货单基本信息的更新、增加和删除; 所有有权限用户可根据销售退货单单号查询特定销售退货单基本信息,或根据销售退货单的其他属性查询一类销售退货单的信息;(3)收款管理:提供收款单基本信息录入、维护与查询功能。包括: 收款单信息基本信息的录入; 收款单基本信息的更新、增加和删除; 所有有权限用户可根据收款单单号查询特定收款单信息,也可根据销售进货单单号查询该单的收款信息;4 统计报表及业务分析: 查询某段时间内货品的采购、销售汇总、明细; 查询某段时间内来往客户销售汇总、明细; 查询某段时间内收账、付账汇总、明细; 业务分析,及下一步销售计划!5.查询业务:货品库存容量查询:根据仓库编号或名称查询当前库存中的货品及货品的库存容量;综合信息查询:支持模糊查询,根据选填的关键字查询与该关键字有关的所有业务信息;6.用户权限管理:提供用户管理、权限分配、登录及权限验证等功能。包括: 系统管理员增加、删除用户; 用户登录及权限验证; 系统管理员对用户角色及权限进行分配; 系统管理员更改用户密码。1.3数据需求及业务规则分析数据库的数据需求是根据与用户交流和自己对企业的业务规则分析得到。业务规则分析主要是分析数据之间的约束以及数据库约束。产品销售信息系统业务规则:1.所有客户均可以查询和浏览产品的信息。2.只有超级管理员可以修改、更新、删除数据,普通用户都有指定的用户权限超级用户及普通用户都可以有多个;3.职员注册时,职员的员工号是通过计算机自动生成的,是职员的唯一标识。职员的员工号是职工表的唯一标识。员工号由系统按时间顺序生成,后生成的具有更大的员工号。职员编号编码规则为:职员标志+5位数字。如:XS-00000(注:XS表示职员所司职务的缩写)。4.来往客户单位注册时,客户单位的账号是通过计算机自动生成的,一个客户单位可以注册多个账号。客户单位的账号是用户表的唯一标识。用户账号由系统按时间顺序生成,后生成的具有更大的用户编号,客户单位标志+5位数字。如:C00000 (注:C表示销售客户标志)。5.其他实体的编号命名也遵循以上原则,用特定的标志+特定的位数数字表示;6.登陆系统时,职员通过员工号和设定的密码登陆系统,来往客户单位通过单位编号和密码登陆系统。7.订单编号是订单表的唯一标识。订单编号由系统按时间顺序生成,后生成的订单具有更大的订单号。8.具有编号的各个实体,编号均为该表的唯一标识,由系统按时间顺序生成,后生成的编号具有更大的编号。9.每张收款单都有唯一税收编号,编号是由税务局同意制定的。10.一种产品只能由一个供货单位,一个供货单位可以提供多种产品。11.一个职员能受理多个订单,但一个订单只能被一个职员受理。12.订单生成、收付款、发票生成、财务结算、货品入出库这五个过程是有先后顺序的。只有收付款完成或达到收付款的预定比例是才能生成收、付款单,以及之后的货品出入库及出入库单的生成;13.销售客户单位可以凭会员卡享受一定的优惠。用户注册最初是普通客户,不能享受任何优惠;当历史购买的总金额超过1000元,会员等级变为一级VIP会员,可享受9.5折优惠;当历史购买的总金额超过5000元,会员等级变为二级VIP会员,可享受9折优惠;当历史购买的总金额超过10000元,会员等级编程三级VIP会员,可享受8.5折优惠。会员等级最高为三级。14.销售、采购订单生成后,用户不能再对订单进行添加、修改或删除。只有在退单之后重新选择新的订单;15.只有在某个客户选定的产品都添加到了订单中,才能最后生成一张订单。16.当库存的某种产品的数量少于某个阀值时,系统会自发出提示或者警报来提示数据库管理者提醒采购员进行补货。17.当客户选定的产品的数量超过该库存产品的数量时,系统提示该信息,并禁止客户选择该产品。18.来往客户单位、职员、货品及仓库都有各自的类别编号和所属类别名,便于在查询时可以支持分类查询和模糊查询;2 概念设计2.1 命名规范概念设计中涉及到联系集和实体集。将实体集的名称定义为与该实体集意义相关的名词,将联系集的名称定义为与该实体集意义相关的动词。将实体集或者联系集中包含的属性定义为与该属性意义相关的名词。2.2 实体集及属性根据以上命名规范的原则,各实体集的定义、属性和E-R图分别设计如下:(1) 职员实体集。其属性有:职员编号、姓名、性别、生日、住址、联系电话、雇佣时间、所属部门、所司职务(本系统中包含销售员、采购员、制单员仓库管理员)等。职员实体集的E-R图如图2-1所示:职员住址联系电话姓名所属部门生日性别所司职务编号雇佣时间 图 2-1 职员实体集的E-R图(2) 货品实体集。其属性有:货品编号、货品名称、货品类别、条形码、货品规格、销售价格、入库价、备注等。货品分类实体:类别号、类别名称;货品实体集的E-R图如图2-3所示:货品货品类别备注入库价名称规格条形码货品编号销售价货品分类类别名称类别号 图 2-2 货品实体集E-R图(3) 来往客户单位实体集。其属性有:来往客户编号、名称、客户等级、地址、联系人、联系电话、备注等。来往客户单位分类实体集:类别号、类别地来往客户实体集的E-R图如图2-4所示:来往客户单位类别名地址联系电话名称来往单位编号编号联系人备注客户等级2-3 来往客户实体集E-R图(4) 仓库实体集。其属性有:仓库编号、仓库名称、仓库容量等。仓库实体集的E-R图如图2-4所示:仓库仓库名称仓库编号仓库容量 图 2-4 仓库实体集E-R图(5) 销售单实体集。其属性有:销售单编号、客户编号、职员编号、货品编号、销售日期、销售单金额。销售单实体集的E-R图如图2-5所示:销售单订单金额销售日期职员编号名称原始单号货品编号 图 2-5销售单实体集E-R图(6) 销售退单实体集。其属性有:销售退单编号、所属订单编号、销售退单日期、职员编号、备注等。 退单实体集的E-R图如图2-6所示:销售退单所属单号退单编号退单日期备注制单员号 图 2-6 销售退单实体集E-R图(7) 收款单实体集。其属性有:收款号、所属单号、收款日期、应收金额、实收金额、发票编号、备注等。 收款单实体集的E-R图如图2-7所示:收款单所属单号收款单号应收金额实收金额制单员号收款日期发票编号 图 2-7 收款单实体集E-R图(8) 采购单实体集。其属性有:采购单号、客户编号、职员编号、货品编号、采购日期、采购单金额。采购单实体集的E-R图如图2-8所示:采购单订单金额采购日期职员编号名称原始单号货品编号 图 2-8销售单实体集E-R图(9) 采购退单实体集。其属性有:采购退单编号、所属采购单编号、采购退单日期、职员编号、备注等。 退单实体集的E-R图如图2-9所示:采购退单所属单号退单编号退单日期备注制单员号 图 2-9 采购退单实体集E-R图(10) 付款单实体集。其属性有:付款号、所属单号、付款日期、应付金额、实付金额、备注等。 付款单实体集的E-R图如图2-10所示:付款单所属单号付款单号应付金额实付金额制单员号付款日期发票编号 图 2-10 付款单实体集E-R图2.3 联系集及其属性根据上面设计得到的实体集,可确定如下联系集:(1)销售、采购单”包含” 货品,这是多对多联系;(2)销售客户单位在销售员的推销下”选择”销售单,客户单位与销售单是一对多关系;”选择”联系集派生出销售单明细表,其属性包括:货品规格、数量、成交单价、折扣、备注;(3)销售单在客户单位”退货”后成为退货单; (4)销售单”客户付款”后成为付款单,付款单参与财务结算;(5)供货单位为采购员”供应”货品形成采购单;”供应”联系集派生出采购明细表,其属性包括:货品规格、数量、成交单价、折扣、备注;(6)采购单在供货单位”收款”后成为公司的付款单;(7)采购单在公司”退货”后成为采购退货单;(8)货品”存储”在仓库中;”存储”派生的存储明细表:货品规格、当前货品库存容量;(9)由销售单、货品和销售客户单位聚合成的实体与仓库和仓管聚合成的实体之间存在“出仓”联系;由采购单、货品和供货单位聚合成的实体与仓库和仓管聚合成的实体之间存在“进仓”联系;派生出进仓、出仓明细表,属性值有:货品规格、数量、入库均价、日期、数量。2.4 系统总ER图根据以上对实体集和联系集的设计得到了最终的完整的产品销售管理的E-R图如图2-8所示:退货采购员提供供货公司采购单退货付款单包含货 品包含销售单付款收款单选择销售员业务客户单位属于入库仓库存储出库退货单退货退货单3 逻辑设计3.1 数据字典设计数据库的重要部分是数据字典(Data dictionary)。它存放数据库所用的有关信息,对用户来说是一组只读的表。本系统主要从以下几点来设计数据字典:(1) 性别字典(DCSex)。其数据字典描述如图3-1所示: 属性名称属性类型是否允许为空默认值性别编号char(1)否性别名称varchar(4)是是否有效char(1)是0 图 3-1 性别字典(2) 所在部门字典(DCDpartment)。其数据字典描述如图3-2所示: 属性名称属性类型是否允许为空默认值部门编号char(2)否部门名称varchar(8)是是否有效char(1)是0 图 3-2 所在部门字典(3) 所任职务(DCHeadship)。其数据字典描述如图3-3所示: 属性名称属性类型是否允许为空默认值职务编号char(2)否职务名称varchar(8)是是否有效char(1)是0 图 3-3 所任职务数据字典(4) 操作类型(DCClass)。其数据字典描述如图3-5所示:属性名称属性类型是否允许为空默认值类型编号char(2)否类型名称char(10)是是否有效char(1)是0 图 3-4 操作类型数据字典3.2 基本数据设计由上述的E-R图,通过逻辑设计ER模型转化为关系模型法,得到了销售管理子系统的基本数据,包括:职员表、货品表、来往客户单位表、仓库表。(1)职员表:由职员强实体集转化而来,如图3-5所示:属性名称数据类型是否为空职员编号char(9)否职员姓名varchar(12)否性别char(4)否生日datetime是住址varchar(30)否联系电话char(12)否雇佣时间datetime否所在部门varchar(10)否所司职务varchar(10)否 图 3-5职员表 (2)来往客户单位表:由来往客户单位强实体集转化而来,如图3-6所示:属性名称数据类型是否为空来往单位编号char(9)否单位名称varchar(20)否单位类别varchar(12)否单位等级varchar(12)是单位地址char(20)否联系人varchar(12)否联系电话char(12)否备注varchar(50)是 图 3-6来往客户单位(3)货品表:由货品实体集转化而来,如图3-7所示:属性名称数据类型是否为空货品编号char(9)否货品名称varchar(20)否货品类别varchar(12)否规格varchar(12)是条形码char(20)否备注varchar(50)是销售价格numeric(7,2)否入库价numeric(7,2)否 图 3-7 货品主表(4)仓库表:由货品明细强实体集转化而来,如图3-8所示:属性名称数据类型是否为空仓库编号char(9)否仓库名称varchar(12)否仓库容量int否 图 3-8 仓库表 3.3 业务数据设计通过上述的E-R图设计,得到了货品销售系统的业务数据,包括:货品分类表、来往客户分类表、销售单主表、销售明细表、销售退单表、收款表、采购单主表、采购明细表、采购退单表、付款表、入库明细表、出库表明细表。(1)来往单位分类表:由单位分类实体转化而来属性名称数据类型是否为空单位分类编号char(9)否分类名称varchar(20)否(2)货品分类表:由货品分类实体转化而来属性名称数据类型是否为空货品分类编号char(9)否分类名称varchar(20)否(3) 销售单主表:由销售单实体集转化而来,如同所示:属性名称数据类型是否为空销售单编号char(9)否销售员编号char(9)否客户单位编号char(9)否销售总金额double否销售时间datetime否(4)销售明细表:由销售单主表与货品和客户单位之间的联系转换而来属性名称数据类型是否为空销售单编号char(9)否货品编号char(9)否货品规格varchar(12)否销售均价numeric(7,2)否采购数量int否折扣float否(5) 销售退货主表:由销售退货实体集转化而来,如同所示:属性名称数据类型是否为空销售退单号char(9)否制单员号char(9)否所属单号char(9)否备注varchar(50)否退单日期datetime否(6) 收款单主表:由收款单实体集转化而来,如同所示:属性名称数据类型是否为空收款单号char(9)否制单员号char(9)否所属单号char(9)否发票编号char(9)否收款日期datetime否应收金额numeric(7,2)否实收金额numeric(7,2)否(7) 采购单主表:由销售单实体集转化而来,如同所示:属性名称数据类型是否为空采购单编号char(9)否采购员员编号char(9)否供货单位编号char(9)否采购总金额double否采购时间datetime否(8)采购明细表:由销售单主表与货品和客户单位之间的联系转换而来,如图所示:属性名称数据类型是否为空采购单编号char(9)否货品编号char(9)否货品规格varchar(12)否成本价格numeric(7,2)否采购数量int否折扣float否(9)采购退货主表:由销售退货实体集转化而来,如同所示:属性名称数据类型是否为空采购退单号char(9)否制单员号char(9)否所属单号char(9)否备注varchar(50)否退单日期datetime否(10) 付款单主表:由收款单实体集转化而来,如同所示:属性名称数据类型是否为空付款单号char(9)否制单员号char(9)否所属单号char(9)否发票编号char(9)否付款日期datetime否应收金额numeric(7,2)否实收金额numeric(7,2)否(11)入库明细表:由仓库与采购单的联系转化而来,如图所示:属性名称数据类型是否为空入库单编号char(9)否仓库编号char(9)否货品编号char(9)否货品规格 varchar(12)否货品数量int否入库时间datetime否入库均价numeric(7,2)否仓库员编号char(9)否(12)出库明细表:由仓库与销售订单的联系转化而来,如图所示:属性名称数据类型是否为空出库单编号char(9)否仓库编号char(9)否货品编号char(9)否货品规格 varchar(12)否货品数量int否出库时间datetime否出库均价numeric(7,2)否仓库员编号char(9)否3.4 视图设计视图是虚表,是从一个或几个基本表中导出的表。数据库的视图设计可以在一定层次上提高数据库的安全性,来达到业务的透明性,也可以降低脚本设计的复杂度。安全性主要涉及到货品的入库、订单生成、退单处理等业务,同时用户没有访问涉及到业务关系到的基本表的权限,所以建立各种视图来处理各种业务,这样既不破坏数据库的安全性设计,又达到了预期的效果;降低脚本设计的复杂度主要是对一些统计数据如销售人员的销售量、财务结算等进行视图设计,来减少涉及到该操作的表的数量。以下是一些本系统涉及的视图:视图一VisitorView:统计货品相关的基本信息。视图二CustomerView:统计各用户的购买货品金额。视图三SupplierView:统计各供货商提供的货品的总金额。3.5 触发器设计数据库的触发器设计主要是在数据的插入、删除和更新操作场合下来进行更为复杂的检查和操作,一次来保证数据库的正确性和一致性。本系统涉及到货品的入库、货品的出库、货品的更新等操作,对应于不同的操作建立不同的触发器来限定各种操作的范围。为此设计了如下触发器:(1)触发器一trgInsert:在入库明细表中规定每次只能一次插入一条货品记录。(2) 触发器二trgUpdate:在货品信息更新时货品的销售价格大于成本价格。(3) 触发器三trgChange: 在订单表中保证该用户在达到一定消费金额时改变会员用户的等级。(4) 触发器四trgWarnWrong:在订单中货品订购数量大于库存数时进行报错。(5) 触发器五trgWarnLack:在货品库存低于某一阀值时,在货品的综合信息中显示”货品紧缺”。3.6 存储过程设计数据库的存储过程设计主要是为了完成特定功能汇集而成的一组SQL语句集合,该集合编译后存放在数据库中。由于存储过程可以直接运行,也可以远程运行,所以存储过程拥有对业务操作封装、便于事务管理和一定程度上的安全性保护的优点。由于本系统主要是面向广大用户的系统,所以数据库的访问量肯定比较大。为解决能及时的响应用户的各种操作,本系统将创建各种存储过程来增加对用户的响应操作。如:当用户需要查询某种货品时,向服务器发出查询请求,服务器接受到请求直接调用存储过程来处理用户的请求,提高了查询效率。为此设计了如下存储过程:(1) 存储过程二proSupplierMsg:根据输入的供货商类别、编号、名称(或者其中的关键字组合)来查找该供货商的历史成交信息。(2) 存储过程四proGoodsName:根据输入的货品类别、编号、名称(或者其中的关键字组合)来查询符合该条件的各货品品的信息。(3) 存储过程三proEmployeeMsg:根据输入的销售人员编号来查找该销售人员的历史销售业绩。(4) 存储过程一proOrderMsg:根据输入的订单号号来查找该订单的信息。(5) 存储过程二proStorageMsg:根据输入的仓库名称、仓库编号、货品编号、货品名称(或者其中的关键字组合)来查找该货品的库存信息。(6) 存储过程五proProfit:根据输入的货品编号来查询该货品的销售信息和盈利信息。(7) 存储过程五proMultipleMsg:根据输入的订单编号来查询与该货品的所所有信息,包括:来往单位、所含货品、货品所在仓库、出/入库、是否付款/退货等。4 模式求精4.1 存在的问题至此基本上给出了一个比较完整的货品销售管理系统的需求分析、概念设计(E-R模型)和逻辑设计的全过程。在每一步设计中都反复的修改,讨论还有什么不足的情况。但万事不能尽善尽美,在本实例系统中,只考虑到货品的入库、货品的存储、用户的订购、货品的出库、用户退单、订单追踪等业务,而在某些方面还是不能考虑的周全。1)通过关系数据理论和模式求精知识,结合本系统的逻辑设计,本系统的关系模式是属于第一范式(1NF)。因为本系统只保证了此关系模式的每一个属性对应的阈值都是不可分的,而在库存货品表和订单明细表中都存在销售价格,而订单明细表中的销售价格可以由订单明细表和库存货品表做自然连接而得到,所以订单明细表中的销售价格冗余了。不过这种冗余对于本系统是必要的。因为本系统要经常统计货品销售情况,包括销售总量、销售总金额、利润结算等,如果要订单明细表中添加销售价格属性,将更方便的做统计工作。2)通过进一步的思考,还有以下问题:(1)对职员是否能胜任他所在的职位没有一个明确的评判标准;(2)公司的决策仅根据货品销售的业绩来决定,没有对历史数据的分析和市场的变化;(3)在客户的注册过程中,对顾客的信誉度没有一定的要求。4.2 解决方案通过分析以上产生的问题,再结合上述的数据库设计,对每个问题提供了大体的解决方案。(1)在货品销售管理中还要对职员进行基本的培训和考核措施;(2)对历史数据的分析来更好的决策;(3)在供货商的信誉上没有做太多的思考,而是比较笼统的一概而论。但可以增加一些供货的门槛来限定一些供货商提供货品;(4)在客户的注册过程中,对顾客的信誉度没什么具体的要求,但可以根据用户的信誉度提供不同程度的优惠策略,从而提高用户的购买力。5 物理设计5.1 设计目标一个货品销售管理系统,其数据库的物理设计是至关重要的,他涉及到各方面的利益:客户的利益、销售商的利益、供货商的利益等等。所以怎么为数据库选取一个最合适应用环境的物理结构成为了本系统的一个重要的方面。本系统数据库物理设计的目标为:(1)提高数据库的性能,以满足应用的性能需求;(2)有效利用存储空间;(3)在性能和代价之间做出最优平衡。5.2 数据分布本系统数据库中要存储的数据主要包括:关系表、数据字典、索引、日志和备份等。为了提高系统性能,因此,对于数据备份和日志文件的备份,由于他们只是在故障恢复时才使用,而且数据量很大,因此存放在三级存储介质上;对于计算机中有多个磁盘,可以考虑将表和索引分别存放在不统的磁盘上,在查询时,由于多个磁盘驱动器分别在工作,因此可以保证物理读写速度比较快,不过也可以将比较大的表分拆存放在多个磁盘中,以加快存取速度;对于数据字典,由于其访问量很大,可以单独的为其开辟一块存储空间,以保证快速相应用户的需求。本系统将数据字典中的数据放在了主逻辑设备DictionaryDB.mdf上,将基础数据放在了从逻辑设备一BasicDB.mdf上,将业务数据放在了从逻辑设备二BusinessDB.mdf上,将其他数据放在了从逻辑设备三OtherDB.mdf上,将日志及备份的数据放在了逻辑设备SaleDBLog.ldf上。5.3 索引实现如果只是从数据分布那方面来提高数据库的性能,那是远远不够的,因为最终的数据存取还是要对数据进行搜索、遍历。所以,能提高对数据的搜索和遍历的一个常用的技术就是建立索引。但如果对某一存储的数据建立过多的索引反而会导致数据性能的降低,反之则会降低数据的搜索速度。因此如何对各种存储的数据建立合适的索引成了提高数据库性能的一大问题。本系统就索引的实现提供了一些具体的方法,如:根据用户查询的习惯来对特定的属性或者属性集合建立辅助索引;对数据量比较多的表中采用多级索引或者B+树索引来提高数据顺序扫描的速度;采用B+树索引技术来有效地支持范围索引等等。以下是本系统所建立的一些索引:(1) 为货品表中的货品名称属性建立辅助索引goodsNameIdx。(2) 为货品表中的销售价格属性建立辅助索引goodsPriceIdx。(3) 为供货商的供货商编号属性建立B+树索引supplierNoIdx。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论