ERP数据库设计方法、规范、技巧.

合集下载

erp知识点和技巧

erp知识点和技巧

erp知识点和技巧
ERP是企业资源计划(Enterprise Resource Planning)的缩写,是一种集成管理软件,它可以帮助企业集成和管理企业的各项资源,包括人员、财务、物流、采购、销售等方面。

以下是一些ERP知识点和技巧:
模块化设计:ERP系统包含多个模块,例如财务、采购、销售等等。

在使用ERP系统时,可以根据公司的需求选择需要的模块,也可以根据公司业务的扩张需要逐步增加模块。

数据管理:ERP系统可以帮助企业对数据进行管理,包括数据的录入、存储、查询、分析等等。

在使用ERP系统时,需要注意数据的完整性、准确性和保密性。

流程管理:ERP系统可以帮助企业进行流程管理,例如采购流程、销售流程等等。

在使用ERP 系统时,需要注意流程的合理性、高效性和透明度。

报表分析:ERP系统可以生成各种报表,例如财务报表、销售报表等等。

在使用ERP系统时,可以利用这些报表进行数据分析,帮助企业进行决策。

安全管理:ERP系统包含大量企业的敏感信息,例如财务信息、客户信息等等。

在使用ERP 系统时,需要注意安全管理,保护企业的信息不被泄露。

培训和技术支持:ERP系统对企业来说是一个复杂的软件,需要专门的培训和技术支持。

在使用ERP系统时,需要注意持续的培训和技术支持,以保证系统的稳定性和高效性。

适应企业需求:ERP系统是根据企业需求开发的,因此在使用ERP系统时,需要注意根据企业的实际需求进行定制和调整,以提高系统的适应性和灵活性。

ERP系统数据库设计

ERP系统数据库设计

ERP系统数据库设计摘要:ERP企业资源计划系统是建立在信息技术基础上,以系统化的管理思想为企业决策层及员工提供决策运行手段的管理平台。

如今国际化市场错综复杂的环境和企业对管理需求的提升,作为信息系统核心和基础的数据库技术得到广泛的应用。

本文对ERP系统中的数据库设计予以了介绍,为ERP的系统设计提供了参考。

关键词:ERP 数据数据库设计数据处理技术是管理信息系统的基础,只有把数据处理技术与管理结合起来,才能真正发挥ERP系统的作用。

按照标准的设计方法,考虑数据库及ERP系统开发全过程,将数据库设计分为五个阶段:需示分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施及数据库运行和维护。

1 需求分析阶段需求分析的结果是否能准确地反映用户的实际需求,将直接决定ERP系统设计结果的合理性和实用性。

调查用户需求的步骤:(1)调查组织机构情况。

包括了解该组织的部门组成情况、各部门的职责等,为分析信息流程做准备。

(2)了解各部门的业务流程。

包括了解各个部门所需数据,如何处理这些数据,输出结果的格式是什么。

(3)在熟悉了业务活动的基础上,协助用户明确对ERP系统的各种要求,包括信息要求、处理要求、完全性与完整性要求。

(4)确定ERP系统的边界。

对前面调查的结果进行初步分析,对实现功能的主体进行划分,确定哪些功能由计算机完成,哪些活动由人工完成。

由计算机完成的功能就是ERP系统实现的功能。

2 概念结构设计阶段数据库概念结构设计的任务是根据用户的需求设计数据库的数据模型。

它是整个ERP系统的信息结构。

概念结构设计的方法包括:自顶向下、自底向上、逐步扩张和混合策略。

建立综合性的E-R图概念模型独立于具体的数据库管理系统,这一阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的关系,可用E-R图来表示。

建立综合性的E-R图,能够化解冲突并产生一个能够被所有用户共同理解和接受的概念模型。

如ERP系统中的工资管理子系统在设计规划中涉及的实体有部门、人事、工资、操作员。

掌握数据库设计的原则与技巧

掌握数据库设计的原则与技巧

掌握数据库设计的原则与技巧在当今数字化的时代,数据已经成为企业和组织运营的核心资产之一。

而数据库作为存储和管理数据的关键工具,其设计的合理性和有效性直接影响着系统的性能、可扩展性和数据的完整性。

因此,掌握数据库设计的原则与技巧对于开发高质量的应用程序和确保数据的高效管理至关重要。

数据库设计的原则1、数据完整性数据完整性是指确保数据库中的数据准确、一致和可靠。

这包括实体完整性(确保表中的每行都有唯一的标识符)、参照完整性(确保表之间的关系正确)和域完整性(确保数据的值在预定义的范围内)。

例如,在一个学生成绩管理系统中,学生表中的学号必须是唯一的,课程表中的课程编号也必须是唯一的。

同时,成绩表中的成绩必须在 0 到 100 之间。

2、数据一致性数据一致性是指在数据库的不同部分和不同操作中,数据保持相同的含义和格式。

为了实现数据一致性,需要在设计时定义明确的数据规则和约束条件。

比如,在一个库存管理系统中,如果一个商品被出库,那么库存数量应该相应地减少,而且在任何查询库存的操作中,都应该得到相同的准确数量。

3、最小冗余冗余数据是指在数据库中多次重复存储相同的信息。

过多的冗余会导致数据不一致、存储空间浪费和更新操作的复杂性增加。

然而,在某些情况下,适当的冗余可以提高查询性能。

例如,在一个订单管理系统中,可以在订单详情表中存储商品的名称和价格,而不是每次查询都从商品表中获取,这样可以减少表连接的操作,但需要确保在商品信息发生变化时能够及时更新。

4、可扩展性设计的数据库应该能够轻松适应未来数据量的增长和业务需求的变化。

这意味着在设计时要考虑到可能的扩展方向,例如添加新的表、字段或关系。

例如,如果一个电商平台预计未来会增加新的商品类别,那么在设计数据库时应该预留足够的灵活性,以便能够方便地添加相关的表和字段。

5、性能优化数据库的性能是设计时需要重点考虑的因素之一。

这包括合理选择数据类型、创建合适的索引、优化查询语句等。

解析大型.NET ERP系统 20条数据库设计规范

解析大型.NET ERP系统 20条数据库设计规范

解析大型.NET ERP系统 20条数据库设计规范数据库设计规范是个技术含量相对低的话题,只需要对标准和规范的坚持即可做到。

当系统越来越庞大,严格控制数据库的设计人员,并且有一份规范书供执行参考。

在程序框架中,也有一份强制性的约定,当不遵守规范时报错误。

以下20个条款是我从一个超过1000个数据库表的大型ERP系统中提炼出来的设计约定,供参考。

1 所有的表的第一个字段是记录编号Recnum,用于数据维护[Recnum] [decimal] (8, 0) NOT NULL IDENTITY(1, 1)在进行数据维护的时候,我们可以直接这样写:UPDATE Company SET Code='FLEX' WHERE Recnum=232 每个表增加4个必备字段,用于记录该笔数据的创建时间,创建人,最后修改人,最后修改时间[CreatedDate] [datetime] NULL,[CreatedBy] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [RevisedDate] [datetime] NULL,[RevisedBy] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL框架程序中会强制读取这几个字段,默认写入值。

3 主从表的主外键设计主表用参考编号RefNo作为主键,从表用RefNo,EntryNo作为主键。

RefNo是字符串类型,可用于单据编码功能中自动填写单据流水号,从表的EntryNo是行号,LineNo是SQL Server 的关键字,所以用EntryNo作为行号。

如果是三层表,则第三层表的主键依次是RefNo,EntryNo,DetailEntryNo,第三个主键用于自动增长行号。

4 设计单据状态字段字段含义Posted 过帐,已确认Closed 已完成Cancelled 已取消Approved 已批核Issued 已发料Finished 已完成Suspended 已取消5 字段含义相近,把相同的单词调成前缀。

erp数据库的设计方法

erp数据库的设计方法

erp数据库的设计方法ERP数据库的设计方法随着企业信息化程度的提高,越来越多的企业开始采用ERP系统来管理自身的业务流程。

而作为ERP系统的核心部分,数据库的设计显得尤为重要。

本文将介绍一些常用的ERP数据库设计方法,以帮助企业更好地构建高效、稳定、安全的ERP系统。

一、需求分析在进行数据库设计之前,首先需要进行详细的需求分析。

通过与业务部门的沟通和了解,了解企业的业务流程、数据关系等方面的需求。

在需求分析的基础上,明确数据库的功能和性能要求,为后续的数据库设计提供指导。

二、实体关系建模实体关系建模是数据库设计的重要步骤之一。

在这个阶段,需要将企业的业务实体抽象成数据库中的表,并确定它们之间的关系。

常用的实体关系建模方法有E-R图和UML图。

通过这些图形化工具,可以清晰地表示表之间的关系,帮助设计师更好地理解和把握业务逻辑。

三、规范化设计规范化是数据库设计中必不可少的一环。

通过规范化设计,可以消除冗余数据、提高数据存储效率,并确保数据的一致性和完整性。

常用的规范化范式有第一范式、第二范式和第三范式。

在进行规范化设计时,需要对数据库中的每个表进行逐一分析,将其拆分成更小的表,以提高数据的组织结构和查询效率。

四、索引设计索引是提高数据库查询性能的重要手段之一。

在数据库设计过程中,需要合理地选择索引的字段和类型,并进行索引的建立。

一般来说,索引的字段应该是经常用于查询和连接的字段,同时需要注意索引的数量和大小,避免过多或过大的索引对数据库性能造成负面影响。

五、安全性设计在ERP系统中,数据的安全性至关重要。

为了保障数据的安全,需要在数据库设计中考虑一些安全性措施。

比如,设置合适的用户权限和角色,限制用户对敏感数据的访问;加密存储重要数据,防止数据泄露;备份和恢复策略的设计,确保数据的可靠性和可恢复性等。

六、性能调优ERP系统的性能直接影响着企业的运营效率。

为了提高ERP系统的性能,需要在数据库设计中进行一些性能调优的工作。

ERP数据库详细设计说明书

ERP数据库详细设计说明书

ERP数据库设计说明书项目代号:CX-2010-04-XXXXXXXXX技术有限公司2011-04-28目录1、数据库设计 ................................... 错误!未定义书签。

1.1、命名规则 (3)1.2、共用表 (10)1.3、基础数据 (3)1.4、库存子系统 (13)1.5、销售子系统 (20)1.6、采购子系统 (34)1、命名规则见数据库表名与字段名命名规范2、基础数据见erp项目数据库脚本.sql文件2.1、物料类别<Materieltype>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】2.2、仓库表<Storage>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】2.3、物料主文件<Materiel>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】2.4、客户主文件<client>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】2.5、客户类别表<clienttype>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】2.6、人员表<employee>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】2.7、供应商类型表<providetype>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】2.8、供应商主文件表<provideInfo>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】2.9、部门表<depttab>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】3、共用表3.1、库存总账表<generalledger>(设计人:黄健)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】3.2、库存进出明细表<minusandadddetail>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】3.3、采购账款明细表<AccountMoneyDetail>(XXX)【表说明】记录每个仓库每次数量和金额的改变量【主键说明】流水号【外键说明】单据类别【索引说明】时间字段加索引【字段补充说明】4、库存子系统4.1、盘点主表<checked>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】4.2、盘点明细表<Checkdetail>(设计人:XXX)【表说明】【主键说明】Alter table checkdetailAdd constraint checkdetail_PK_1 primary key(cheid, chelineid);【外键说明】alter table checkdetailadd constraint checkdetail_FK_1 foreign key(cheid) reference check(cheid)【索引说明】【字段补充说明】按数量和金额4.3、其它出库主表 <otheroutmain> (设计人:刘XXX)【主键说明】【外键说明】【索引说明】【字段补充说明】4.4、其它出库明细表<otheroutdetail> (设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】4.5、其它入库主表<othercome> (设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】4.6、其它入库明细表<othercomedetail> (设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】4.7、调价主表<MovePrice>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】4.8、调价明细表<MovePriceDetail>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】4.9、调拨单主表<movestorage>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】4.10、调拨单明细表<movedetails>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】5、销售子系统5.1、销售报价主表<sellquote>(设计人:XXX)【表说明】销售报价主表【主键说明】【外键说明】【索引说明】【字段补充说明】Safetyone与safetytwo是一个保留字段Enable是一个标识是否删除,默认1不删除,0:删除5.2、销售报价明细表<quotedetails>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】5.3、销售订单主表<sellOrder>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】5.4、销售订单明细表<orderDetails>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】5.5、销售出库主表<sellissueorder>(设计人:XXX)【表说明】销售报价主表【主键说明】【外键说明】【索引说明】【字段补充说明】Safetyone与safetytwo是一个保留字段Enable是一个标识是否删除,默认1不删除,0:删除5.6、销售出库明细表<sellissueorderdetails>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】5.7、销售退货主表<sellcancel>(设计人:XXX)【表说明】销售退货主表【主键说明】【外键说明】【索引说明】【字段补充说明】Safetyone与safetytwo是一个保留字段Enable是一个标识是否删除,默认1不删除,0:删除5.8、销售退货明细表<sellcanceldetails>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】5.9、账款明细表<shouldgatheringdetails>(设计人:XXX)5.10、预收款主表<Advancegather>(设计人:XXX)【表说明】预收账款主表【主键说明】【外键说明】【索引说明】【字段补充说明】Safetyone与safetytwo是一个保留字段Enable是一个标识是否删除,默认1不删除,0:删除5.11、预收款明细表<Advancegatherdetails>(设计人:XXX)5.12、收款冲款主表<clashfund>(设计人:XXX)5.13、冲款款明细表1<clashfundDetailsOne>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】5.14、冲款款明细表2<clashfundDetailsTwo>(设计人:XXX)【表说明】【主键说明】【外键说明】【索引说明】【字段补充说明】5.15、5.16、5.17、5.18、6、采购子系统6.1、采购请购主表<stockapply>(设计人:XXX)【主键说明】当前日期+流水账号(201104270001【外键说明】引用采购请购单主键【索引说明】【字段补充说明】apptype:商品请购、商品加急请购、原材料请购、原材料加急请购、用品请购;enable:默认1不删除,0:删除;6.2、采购请购明细表<stockapplydetails>(设计人:XXX)【主键说明】请购单编号和行号组成联合主键【外键说明】引用采购请购单主键【索引说明】【字段补充说明】enable:默认1不删除,0:删除;apddemanddate:不能小于当前日期;apdstockdate:需求日期-采购提前期;6.3、采购请购类型表<stockapplytype>(设计人:XXX)【主键说明】【外键说明】【索引说明】【字段补充说明】enable:默认1不删除,0:删除;6.4、采购询价主表<stockinquire>(设计人:杨为)当前日期+流水账号(201104270001)【外键说明】【索引说明】【字段补充说明】enable:默认1不删除,0:删除;6.5、采购询价明细表<stockinquiredetails>(设计人:XXX)【主键说明】询价单编号和行号组成联合主键【外键说明】引用采购询价单主表主键stoid【索引说明】【字段补充说明】enable:默认1不删除,0:删除;6.6、采购订单主表<stockorder>(设计人:XXX)【表说明】采购订单主表:【主键说明】PK(stoid)【外键说明】【索引说明】【字段补充说明】6.7、采购订单明细表<stockorderdetails>(设计人:XXX)【表说明】采购订单明细表【主键说明】PK(sodid, sodlineid)【外键说明】【索引说明】【字段补充说明】6.8、采购入库主表<stockstoragetable>(设计人:XXX)【主键说明】【外键说明】【索引说明】【字段补充说明】6.9、采购入库明细表(stockstoragedetails--XXX)6.10、采购退货主表<stockrecede>(设计人:XXX)【主键说明】recid(采购退货表主键) 采购退货的依据,【外键说明】供应商编号(peoid) 没建外键,但做外键查询供应商的详细信息.仓库编号(stoid) 同上.做外键查询仓库的详细信息【索引说明】【字段补充说明】.【供应商】:不可空白。

企业资源规划系统(ERP)规范(doc 93页)

企业资源规划系统(ERP)规范(doc 93页)

前言目前《企业信息化技术规范》系列标准由以下6个部分组成:第1部分:企业资源规划系统(ERP)规范;第2部分:办公自动化规范;第3部分:电子交易规范;第4部分:呼叫中心规范;第5部分:CRM规范;第6部分:SCM规范。

本部分由信息产业部电子工业标准化研究所归口。

本部分起草单位:中国生产力促进中心协会、中国电子技术标准化研究所。

本部分主要起草人:企业信息化技术规范第1部分:企业资源规划系统(ERP)规范1 范围本规范给出了企业资源规划系统(以下简称ERP)的相关软件功能、开发管理、实施管理的基本要求和方法、适用于企业ERP产品与服务选型工作。

2 规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。

凡是注日期的引用不着文件,其随后所有修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准确达成协成协议的各方研究是否使用这些文件的最新版本。

凡是不注日期的引用文件,其最新版本适用于本标准。

GB/T 8566-2001 中华人民共和国国家标准信息技术软件生存周期过程GB/T18491-2001 中华人民共和国国家标准信息技术软件测量功能规模测量第1部分:概念定义GB/T 18492-2001 中华人民共和国国家标准信息技术系统及软件完整性级别GB/T 18493-2001 中华人民共和国国家标准化指导性技术文件信息技术软件生存周期过程指南SJ 20778-2000 中华人民共和国电子行业军用标准软件开发与文档编制企业会计制度财会(2000)25号3 定义本标准采用下列定义3.1 验收acceptance需方授权代表一项活动,通过该活动,需方接受履行合同的部分或全部的软件产品的所有权。

3.2 需方acquirer为自已或为另一个组织采购软件产品的组织。

3.3 批准approval需方的授权代表对开发方的项目计划、设计或其他方面表示满意并可能作为一阶段工作基础而签署的书面文件。

尝试分析用友ERP-U8数据库结构和设计思路。

尝试分析用友ERP-U8数据库结构和设计思路。

尝试分析用友ERP-U8数据库结构和设计思路。

尝试分析用友 ERP- U8数据库结构和设计思路。

这一阶段主要是定义概念、功能与特性,包括概念模型、数据字典、关系模式图等。

设计的重点在于确定软件中应该实现哪些业务逻辑,对每个模块的处理方法进行说明,包括语言及其组成、函数调用的规则、类型及操作过程等。

其次,还需要建立起有效地可复用程序接口。

同时为了满足对将来变化做出灵活响应的需求,要完善详细设计文档,如用户手册、测试计划、测试用例、测试数据、各种报表、调试信息、出错信息等内容。

然后根据详细设计文档开始编码,编写测试代码,最终完成源程序的编制。

测试合格之后便可交付使用。

所以说用友 ERP- U8这款产品研发周期较长,前期需要投入大量人力物力财力,整体研发成本比较高昂。

在研发初期更加需要投资者具备专业的技术背景知识和多年的行业经验,而不仅仅只是简单学习产品需求文档或者使用开源项目,否则很难达到预期的目标。

目前国内 IT 技术水平正在快速提升,企业可借鉴国外的经验,采取模块化的解决方案。

但考虑到国情差异和消费观念不同,企业在进行选择时仍需谨慎,并且注意国际软件的转换问题。

我们可以看到,国内某些领域的公司也已经认识到了 ERP 产品的商机。

例如上海某 ERP 厂家就已经通过参股的形式获得了世界著名的 ERP 公司 SAP 的少部分股权。

由此可见,软件公司凭借自身的优势,以合资合作的形式为自己寻找更广阔的市场空间,对于推动国内企业应用先进管理工具至关重要。

总之,无论是本土化软件还是国外引进软件,都应当以用户为中心,通过充分的沟通,从用户角度考虑他们的真正需求,逐步向着规范化和成熟化的软件迈进,进而赢得用户青睐。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、数据库设计过程数据库技术是信息资源管理最有效的手段。

数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。

数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求,在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型,用E-R图来描述。

在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。

然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW形成数据的外模式。

在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。

1.需求分析阶段需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求。

需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。

需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。

常用的调查方法有:跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。

分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。

自顶向下的结构化分析方法(Structured Analysis,简称SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。

数据流图表达了数据和处理过程的关系。

系统中的数据则借助数据字典(Data Dictionary,简称DD来描述。

数据字典是各类数据描述的集合,它是关于数据库中数据的描述,即元数据,而不是数据本身。

数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键。

数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}2.概念结构设计阶段通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。

概念模型用于信息世界的建模。

概念模型不依赖于某一个DBMS支持的数据模型。

概念模型可以转换为计算机上某一DBMS支持的特定数据模型。

概念模型特点:(1具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。

(2应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。

概念模型设计的一种常用方法为IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型。

使用IDEF1X方法创建E-R模型的步骤如下所示:2.1第零步——初始化工程这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模队伍,收集源材料,制定约束和规范。

收集源材料是这阶段的重点。

通过调查和观察结果,业务流程,原有系统的输入输出,各种报表,收集原始数据,形成了基本数据资料表。

2.2第一步——定义实体实体集成员都有一个共同的特征和属性集,可以从收集的源材料——基本数据资料表中直接或间接标识出大部分实体。

根据源材料名字表中表示物的术语以及具有“代码”结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标识出来,从而初步找出潜在的实体,形成初步实体表。

2.3第二步——定义联系IDEF1X模型中只允许二元联系,n元联系必须定义为n个二元联系。

根据实际的业务需求和规则,使用实体联系矩阵来标识实体间的二元关系,然后根据实际情况确定出连接关系的势、关系名和说明,确定关系类型,是标识关系、非标识关系(强制的或可选的还是非确定关系、分类关系。

如果子实体的每个实例都需要通过和父实体的关系来标识,则为标识关系,否则为非标识关系。

非标识关系中,如果每个子实体的实例都与而且只与一个父实体关联,则为强制的,否则为非强制的。

如果父实体与子实体代表的是同一现实对象,那么它们为分类关系。

2.4第三步——定义码通过引入交叉实体除去上一阶段产生的非确定关系,然后从非交叉实体和独立实体开始标识侯选码属性,以便唯一识别每个实体的实例,再从侯选码中确定主码。

为了确定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体实例的一个属性不能是空值,也不能在同一个时刻有一个以上的值。

找出误认的确定关系,将实体进一步分解,最后构造出IDEF1X模型的键基视图(KB图。

2.5第四步——定义属性从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。

定义非主码属性,检查属性的非空及非多值规则。

此外,还要检查完全依赖函数规则和非传递依赖规则,保证一个非主码属性必须依赖于主码、整个主码、仅仅是主码。

以此得到了至少符合关系理论第三范式的改进的IDEF1X模型的全属性视图。

2.6第五步——定义其他对象和规则定义属性的数据类型、长度、精度、非空、缺省值、约束规则等。

定义触发器、存储过程、视图、角色、同义词、序列等对象信息。

3.逻辑结构设计阶段将概念结构转换为某个DBMS所支持的数据模型(例如关系模型,并对其进行优化。

设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS。

将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:1一个实体型转换为一个关系模式。

实体的属性就是关系的属性。

实体的码就是关系的码。

2一个m:n联系转换为一个关系模式。

与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。

而关系的码为各实体码的组合。

3一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

4一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

5三个或三个以上实体间的一个多元联系转换为一个关系模式。

与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。

而关系的码为各实体码的组合。

6同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。

7具有相同码的关系模式可合并。

为了进一步提高数据库应用系统的性能,通常以规范化理论为指导,还应该适当地修改、调整数据模型的结构,这就是数据模型的优化。

确定数据依赖。

消除冗余的联系。

确定各关系模式分别属于第几范式。

确定是否要对它们进行合并或分解。

一般来说将关系分解为3NF的标准,即:表内的每一个值都只能被表达一次。

•?表内的每一行都应该被唯一的标识(有唯一键。

表内不应该存储依赖于其他键的非键信息。

4.数据库物理设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法。

根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。

5.数据库实施阶段运用DBMS提供的数据语言(例如SQL及其宿主语言(例如C,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。

数据库实施主要包括以下工作:用DDL定义数据库结构、组织数据入库、编制与调试应用程序、数据库试运行6.数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。

在数据库系统运行过程中必须不断地对其进行评价、调整与修改。

包括:数据库的转储和恢复、数据库的安全性、完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造。

建模工具的使用为加快数据库设计速度,目前有很多数据库辅助工具(CASE工具,如Rational公司的Rational Rose,CA公司的Erwin和Bpwin,Sybase公司的PowerDesigner以及Oracle公司的Oracle Designer等。

ERwin主要用来建立数据库的概念模型和物理模型。

它能用图形化的方式,描述出实体、联系及实体的属性。

ERwin支持IDEF1X方法。

通过使用ERwin建模工具自动生成、更改和分析IDEF1X模型,不仅能得到优秀的业务功能和数据需求模型,而且可以实现从IDEF1X模型到数据库物理设计的转变。

ERwin工具绘制的模型对应于逻辑模型和物理模型两种。

在逻辑模型中,IDEF1X工具箱可以方便地用图形化的方式构建和绘制实体联系及实体的属性。

在物理模型中,ERwin可以定义对应的表、列,并可针对各种数据库管理系统自动转换为适当的类型。

设计人员可根据需要选用相应的数据库设计建模工具。

例如需求分析完成之后,设计人员可以使用Erwin画ER图,将ER图转换为关系数据模型,生成数据库结构;画数据流图,生成应用程序。

二、数据库设计技巧1.设计数据库之前(需求分析阶段1理解客户需求,询问用户如何看待未来需求变化。

让客户解释其需求,而且随着开发的继续,还要经常询问客户保证其需求仍然在开发的目的之中。

2了解企业业务可以在以后的开发阶段节约大量的时间。

3重视输入输出。

在定义数据库表和字段需求(输入时,首先应检查现有的或者已经设计出的报表、查询和视图(输出以决定为了支持这些输出哪些是必要的表和字段。

举例:假如客户需要一个报表按照邮政编码排序、分段和求和,你要保证其中包括了单独的邮政编码字段而不要把邮政编码糅进地址字段里。

4创建数据字典和ER图表ER图表和数据字典可以让任何了解数据库的人都明确如何从数据库中获得数据。

ER 图对表明表之间关系很有用,而数据字典则说明了每个字段的用途以及任何可能存在的别名。

对SQL表达式的文档化来说这是完全必要的。

5定义标准的对象命名规范数据库各种对象的命名必须规范。

2.表和字段的设计(数据库逻辑设计表设计原则1标准化和规范化数据的标准化有助于消除数据库中的数据冗余。

标准化有好几种形式,但Third Normal Form(3NF通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。

简单来说,遵守3NF标准的数据库的表设计原则是:“One Fact in One Place”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。

表之间的关系通过外键相连接。

它具有以下特点:有一组表专门存放通过键连接起来的关联数据。

相关文档
最新文档