浅议计算机软件数据库设计的原则及重要性
随着社会的发展,人们对计算机数据库的安全性要求越来越高。但由于设计人员对计算机数据库的安全设计还停留在现实需要的理念。导致计算机软件数据库在投入使用一段时间后和数据库的安全都出现了一些问题。而在这个信息时代,信息与数据成了企业之间主要的竞争手段。因此计算机数据库的设计者应该在设计时多为使用者着想,尤其注意在计算机数据库的安全性上加强,为使用者提供安全,可靠,方便的软件。计算机软件是计算机的重要组成部分,去过说硬件是维持计算机运行的保证的话,软件就是确保使用者能正常使用计算机的关键。因此软件的重要性应受到软件设计者的关注,那么计算机数据库也就显得尤为重要。计算机数据库可以理解成按照数据结构来组织,储存和管理数据的仓库。随着计算机数据库的发展,它不再是简单的数据储存和管理方式,而是发展成使用者所需要的不同数据管理模式。计算机软件数据库为计算机使用者提供了巨大的方便,同时也为使用的信息带来危险
数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。
数据库是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。数据库系统需要操作系统的支持。
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建议中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。 数据库设计的重要性
??数据库设计是计算机软件设计的核心部分,由于计算机软件设计工程师的层次不同,导致不同的软件工程师在对于计算机软件设计的出发点的理解上并不相同,有些软件工程师更加注重的是业务功能模块的实现,在接收到应用程序的需求文档之后便迅速投入到软件开发的工作中,在数据库的设计上只用了较少的时间,并且思考的点仅仅注重在功能模块的实现,并没有真正意义上的思考数据库的性能以及后期维护等等。数据库设计的这种不负责任模式通常是致命的,对于软件应用程序会留下非常多的隐患,这些隐患有可能会在程序开发过程中出现,也有可能会应用程序运行很久之后出现,造成应用程序崩溃,还有可能对于软件系统的后期维护工作带来非常多的麻烦,当问题出现的时候再优化数据库或者修改等于应用程序重新开发,即浪费人力也浪费财力。 现在的计算机软件数据库的存在以下问题:
1)不能满足需求。数据库设计不能够满足业务需求,通常会带来非常大的改动,如果应用程序进入设计阶段,有可能导致系统崩溃。
2)数据库性能比较低。当系统业务需求关系比较多的时候,数据库设计必须合理,采用合理的字段由于简化系统的查询等操作,在设计的过程中如果没有兼顾数据库性能必会对系统的使用带来严重的问题,必须系统运行缓慢等。
3 )数据库不完整。数据库不完整指的是含有主外键关系的表与表之间设计的不合理,极易造成数据库的更新以及删除不完整,展示给用户的均是过时的信息数据。
4)数据库的可扩展性能较差。表设计的过程中过于注重业务功能,使得数据表单一,修改起来比较麻烦,当遇到新需求时候操作起来比较繁琐。可扩展性差。
5)数据库冗余数据较多。当数据库中存在大量的冗余数据的时候,会大量占用数据库的资源,造成系统查询效率低下。
6)统计或者计算效果差。表设计的过程中没有提供必要的关联字段或者统计字段,极易造成计算统计的步骤繁琐,甚至根本没有办法实现统计以及计算。
7)缺乏必要的数据日志信息。数据库建表的时候没有提供必要的字段用于跟踪数据的变化以及用户的操作日志,对数据库的分析带来比较大的困难。
8)表字段设计考虑不周到。数据库表字段的设计也对系统应用程序起到一定的影响,无论是过短还是过长都会对系统造成一定的影响。造成可拓展以及可发挥的空间非常小。
9)表与表之间耦合太过紧密。表与表之间过于紧密的耦合,当某个表发生变化的时候便会对别的表造成一定的影响,甚至是致命的影响。
数据库设计原则
??1)数据库的设计必须要占有至少开发周期40%以上的时间。数据库设计是计算机软件应用程序开发的前奏,是业务需求的直观表现以及反应,所以在设计的过程中需要与客户的需求紧密结合,开发者拿到需求之后需要和用户进行多次沟通、调整以及细化,并将需求的变动详细的体现在整个数据库的设计过程中,数据库设计的时候必须明确具体的业务,必须明确业务的具体关联关系以及流程,此外,在设计的过程中需要考虑可扩展性,预留一些可以变通的字段,用于业务的扩展。
??2)页面demo并不是数据库设计的全部。页面demo是业务需求以及系统流转的原型,数据库设计的过程中必须兼顾demo中的每个功能模块以及字段,这些只是数据库设计的一个部分,除此之外,数据库设计还必须充分的考虑到应用程序模块之间的交互、运转,数据与数据之间的转换、表与表之间的关联等等,因此,数据库的设计不能完全停留在页面demo的表面,还必须兼顾数据库的逻辑架构等。
??3)数据库设计的过程中要分析应用程序的开发计划。数据库设计的过程中要充分考虑到应用程序的设计流程,要明确设计的每个表、每个字段都会在应用程序中的那个地方使用,每个字段都是有意义的,要将其定位到应用程序的使用点上,在建立表与表之间的关系的时候要想到应用程序的业务逻辑,这种关系会在哪里使用到。当数据库设计完成的时候,这个应用程序的开发思路以及开发方式已经在你的脑海里形成了,如果这条规范不能实现,当应用程序进入实现开发阶段的时候再遇到数据库无法支撑业务实现,此时数据库的修改就会变得异常麻烦,通常都会带来一些不可预知的问题。
数据库设计过程重要充分考虑到优化以及效率问题。首先要分析哪些表存储的数据量会非常大,通常采取粗粒度的设计原则设计数据量比较大的表,一些必要的字段也会冗余,尽量采取用最少的表最弱的表关系去储存较大量的数据,此外,表在设计的时候,要养成对主键建立聚集索引的习惯,当表储存的数据量大的时候更要建立索引以方便表的查询功能的实现。对于需要统计、计算以及数据交互的表则需要考虑建存储过程的方式。
?? 预留部分冗余(必要)字段。对于类似修改时间、登录用户ip地址、操作日志等字段则需要在某些表中预留,添加必要的冗余字段是为了日后应用程序维护起来方便、扩展起来简单等,记录用户的访问ip以及访问时间等信息能够帮助用户快速定位到问题出现的时间点等,因此,必要的冗余字段的预留是必须要存在的。
?? 合理的表关联关系设计。在数据库设计的过程中,如果遇到关联关系复杂的多张表的时候,建议设计第三张映射表来维护两个有关联的表之间的关系,间接的降低表之间的耦合度,对于数据量比较大的表的结构则需要尽量简单。
?? 表设计时候不添加主外键等约束性关联,约束性关联在系统编码阶段完成后添加。该原则的主要目标是对团队的并行开发是非常有利的,减少程序设计过程中遇到的问题,表与表之间的关联关系则通过程序进行控制,等程序设计完成之后在添加主外键等约束性关联,并进行全面测试。
通过前面的论述,可见数据库的设计在整个计算机软件设计过程中的重要性,计算机数
据库的设计必须与应用程序的业务需求相辅相成,在设计的过程中必须严格且灵活的运用这些原则,性能优越的数据库设计是计算机软件系统稳定、高效的运行的保障,除此之外,还能够使得计算机软件的维护变得更加简单、快捷。数据库设计要比纯粹的计算机软件开发复杂的多,能够充分的反映出一个数据库dba的全局掌控以及设计能力。作为计算机软件开发人员必须具备优秀的数据库设计规范才能逐步提升自己的专业技能。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库浅议计算机软件数据库设计的原则及重要性在线全文阅读。
相关推荐: