计算机软件数据库开发的必要性与设计原则研究

  • 来源:消费电子
  • 关键字:数据库开发,开发规范,设计原则
  • 发布时间:2021-09-20 19:41

  【摘 要】随着大数据云计算技术逐步成为数字经济的基础设施,规模化、业务化、智能化的海量数据在数据库中存储计算,数据库的地位显得越来越重要。在计算机软件开发中,必须设计好数据库的开发规范,且遵循一定的设计原则才能适应业务发展和变化的客观规律,满足现代企业对数据一致性、实时性、可用性和扩展性的不同需求。

  数据库系统是软件开发过程中非常重要的组成部分,软件一般是由处理业务的逻辑和数据结构组成的一套运行在计算机上的程序代码。数据库是存储和提供统一查询数据的系统软件,它可以长期的将业务的数据保存在计算机的外部存储器之中,并高效地管理业务数据,为软件提供统一的数据查询功能。数据库的结构设计和开发贯穿于整个软件开发的生命周期之中,与软件的生命周期类似,数据库开发也有着其自身的生命周期。需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库具体实施和数据库的运行维护,每个阶段都遵循着一些设计原则,好的设计原则能够在不同的数据要求中灵活迭代。

  一、数据库开发的必要性

  企业组织业务过程中的数据是其重要的资产,它们被用作保存操作型业务的记录和分析决策。软件在业务迭代升级的过程中,对应的数据库的结构的开发也显得尤为必要。操作型业务的记录存储在数据库中需要确保企业业务的正常运行,其记录了每一个业务中的重要的交易信息如:订单、客户、销售、客户反馈等,其只需要保证数据的准确一致和必要的容错性,反映业务过程中最新的状态和处理结果即可,通常不需要考虑历史的数据的分析。分析决策类型的数据则着眼于历史的企业组织的业务数据。对批量的业务记录,通常是两年以上的数据,经过统一处理用于评估组织在这期间的生产经营活动是否正常以及决策优化生产经营过程。

  (一)数据库开发需求分析

  计算机软件开发过程中,最重要的是需求分析,它在数据库的开发过程中详细地描述了系统的数据库要储存哪一些业务的数据,完成哪些具体的功能。常见的需求分析方法是 dfd(Data Flow Diagram)数据流图,它描述了软件系统数据从哪些组件流向哪些组件,以及中间存储在了哪里,做了哪些处理。线性和事务型两种类型的dfd共同的描述数据库开发过程中涉及的系统的数据的流向,可以更清晰更直观地描述具体的需求,为后续的结构设计打好基础。

  (二)概念结构设计

  概念结构设计不关注具体使用的是哪些数据库,关注数据库概念的阐述和数据对象之间行为的描述。数据字典对需求分析中的数据流图的每个要素做出详细的说明,数据项目的名字、说明、别名、类型、长度、取值范围等一一描述,数据项目之间的组合关系,数据的传输路径,数据停留和保存的方式、存取的方式和处理过程中的逻辑等都必须详尽地表述出来。概念结构的设计一般是自底向上的过程,通过对需求归纳分析和抽象,形成E-R关系模型。E指的是Entity实体,R指的是Relationship关系,使用 E-R模型可以描述现实世界的数据对象的属性和实体之间的父子联系。好的概念抽象可以使数据库的设计更加的通用,更符合现实世界的业务的逻辑。

  (三)逻辑结构设计

  逻辑结构设计将概念结构设计的E-R图[1]转换为关系数据的模式,优化这些关系模式之间的依赖关系,常见的是使用关系模式的三大范式来规范概念结构设计的实体和实体之间的联系,确定具体的数据依赖以及这些关系模式的码和属性。三大范式要求每个关系模式的属性都是不可再分的原子数据,且主键确定了这个关系模式,非主键的属性之间不会相互依赖。规范化的程度越高,数据的冗余就越小,但后期的查询时间涉及的关系模式会越多,但是选择合适的规范化的程度可以避免数据操作耗时,这也是另一个层面上的以空间换时间的优化方式。

  (四)物理结构设计

  以数据为中心的应用,数据库物理结构设计的好坏直接影响到程序的性能,因此数据库物理结构设计至关重要。索引是提高数据库性能的常用方法,令数据库服务器的检索速度快很多倍,物理结构设计阶段主要是将逻辑上的关系模式转化为最适合应用程序运行的物理结果,包括数据库的索引、输入的参数、输出的结果、对象之间的关系、日志、备份机制等都需要设计确定最终的选型。

  二、数据库开发设计原则

  联机事务处理记录某类业务事件的发生,即对数据的增删改的操作,而联机分析处理则是对数据的查询分析。在企业组织的业务中它们代表着两类业务,因此其对应数据库开发设计的原则也大相径庭。联机事务处理为了维护 ACID的强一致性通常使用三大范式的开发模式设计各类结构,联机分析处理则是采用雪花模型或者星型模型来组织数据,数据对象存在一定的冗余,在查询过程中,可以避免很多连接操作提升分析的效率。

  (一)联机事务开发设计原则

  联机事务[2]的数据所涉及的数据库的对象如表、视图、过程、函数、触发器等在计算机软件开发中十分的繁杂因此设计的时候必须遵循事务优先的开发规范。命名的规范是不使用保留字或者关键字,做到见名知意,数据库对象的名称格式按〈类型〉_〈模块名称〉_〈对象名称〉_〈序号〉的固定格式如有其他格式需要单独注明。建表的规范是不允许在默认的系统表空间中建表,不同对象如表和索引必须建在不同的表空间,对联机事务的数据建表时不允许使用parallel 的参数;主外键优先考虑数据库自身提供的约束完整性的机制,在数据库本身不满足的情况下才考虑编程定义自定义完整性的约束,表的外键必须建立索引,主键通常不使用有实际业务意义的属性作为主键,由Sequence生成的id,不能用作组合主键;索引列为null必须定义默认值,字段的命名长度不应该超过30个字节,超大的单表在建立时需要考虑按列的特征分区。临时表在联机事务的数据库开发时经常和存储过程、函数和包一起使用,为上层的计算机软件提供了更多数据操作的便捷的接口,其对应的设计原则和规范是不允许频繁地使用ddl的语句,临时表必须放在独立的磁盘上,外部查询的多行数据返回使用游标进行处理,必须有对应的异常处理机制的设计。

  (二)联机分析开发设计原则

  联机事务的数据通常是非集成的,而联机分析[3]的数据通常是集成的。在开发设计分析型的系统时应当遵循查询优先的原则。当一列的值是连续的业务意义且可以使用范围分组的情况下,如日期,身高,体重等,使用范围分区划分数据的数据块;当一列的值是离散的业务意义且可以使用列表分组的情况下,如省份,地理位置,产品名称等,使用列表分区划分数据的数据块;当一列的值既不具备明显的连续的业务意义也不具备离散的业务意义时,如身份证编号等,数据量千万级别,则可以使用哈希分区。分区的目的和索引一致,均是在联机事务的数据需要查询连接的时候提供更好的性能。索引的规范是数据量小于 1000条记录不需要建立索引,创建或重建索引时指定使用 Nologging关键字,单个表上索引的个数不超过4个,频繁的索引必须放入缓存,避免重复的创建。多表连接时,必须使用表的别名来关联列,多个大单表进行连接时一条查询语句中关联的查询的大表尽量不要超过3个,尽量使用共享的查询语句,因为会缓存一部分会话查询过的结果。

  三、结语

  随着大数据云计算技术逐步成为数字经济的基础设施,数据库系统开发在软件开发过程中的地位愈显重要,数据库开发以及其中各个阶段的设计有其必要性。除此之外,在企业组织中联机事务和联机分析的业务也必须遵循各自的开发设计原则,才能适应业务发展和变化的客观规律,满足现代企业对数据一致性、实时性、可用性和扩展性的不同需求。

  参考文献:

  [1] 朱珍. 基于E-R 模型数据库设计的关键技术研究[J]. 电脑编程技巧与维护,2019(05):77-79.

  [2] 李依霖. 联机事务处理系统应用于计算机专业学习的方法研究[J]. 网络安全技术与应用,2020(10):122-124.

  [3] Nosov A P,Akhrem A A, Rakhmankulov V Z,et al.Computational Complexity Analysis of Decomposition Methods of OLAPHyper-cubes of Multidimensional Data[J].Mathematics and Mathematical Modeling,2020(4):52-64.

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: