`

软件设计方案(数据库设计原则)

    博客分类:
  • Java
 
阅读更多

数据库技术是信息资源管理最有效的手段。数据库设计是建立数据库及其应用系统的核心和基础,它要求对于指定的应用环境,构造出较优的数据库模式,建立起数据库应用系统,并使系统能有效地存储数据,满足用户的各种应用需求。

1、设计数据库之前

1)理解客户需求,询问用户如何看待未来需求变化。让客户解释其需求,而且随着开发的继续,还要经常询问客户以保证其需求仍然在开发的目的之中;

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

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

4)创建数据字典和E-R 图,对SQL 表达式的文档化来说这是完全必要的;

5)定义标准的对象命名规范。

2、表与字段的设计  

1)表设计原则

1)标准化和规范化;

数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但Third Normal Form3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。事实上,为了效率的缘故,对表不进行标准化有时也是必要的。

2)采用数据驱动,增强系统的灵活性与扩展性;

3)在设计数据库的时候考虑到哪些数据字段将来可能会发生变更。

2)字段设计原则

1)每个表中都应该添加的3 个有用的字段;

dRecordCreationDate,在SQL Server 下默认为GETDATE()

sRecordCreator,在SQL Server 下默认为NOT NULL DEFAULT USER

nRecordVersion,记录的版本标记,有助于准确说明记录中出现null 数据或者丢失数据的原因。

2)对地址和电话采用多个字段,电话号码和邮件地址最好拥有自己的数据表,其间具有自身的类型和标记类别;

3)使用角色实体定义属于某类别的列,创建特定的时间关联关系,从而可以实现自我文档化;

4)选择数字类型和文本类型要尽量充足,否则无法进行计算操作;

5)增加删除标记字段。在关系数据库里不要单独删除某一行,而在表中包含一个“删除标记”字段,这样就可以把行标记为删除。

3、键和索引

1)键选择原则

1)键设计4 原则

①所有的键都必须唯一;

②为关联字段创建外键;

③避免使用复合键;

④外键总是关联唯一的键字段。

2)使用系统生成的主键,控制数据库的索引完整性,并且当拥有一致的键结构时,找到逻辑缺陷很容易;

3)不要用用户的键,通常情况下不要选择用户可编辑的字段作为键;

4)可选键有时可作主键,能拥有建立强大索引的能力。

2)索引使用原则

索引是从数据库中获取数据的最高效方式之一,绝大多数的数据库性能问题都可以采用索引技术得到解决。

1)逻辑主键使用唯一的成组索引,对系统键(作为存储过程)采用唯一的非成组索引,对任何外键列采用非成组索引。考虑数据库的空间有多大,表如何进行访问,还有这些访问是否主要用于读写;

2)大多数数据库都索引自动创建的主键字段,但是不能忘了索引外键,它们也是经常使用的键;

3)不要索引memo/note 字段,不要索引大型字段,这样会让索引占用太多的存储空间;

4)不要索引常用的小型表,不要为小型数据表设置任何键,尤其当它们经常有插入和删除操作时。

4、数据完整性设计  

1)完整性实现机制

1)实体完整性:主键

2)参照完整性

①父表中删除数据:级联删除,受限删除,置空值;

②父表中插入数据:受限插入,递归插入;

③父表中更新数据:级联更新,受限更新,置空值。

DBMS 对参照完整性可以有两种方法实现:外键实现机制(约束规则)和触发器实现机制。

3)用户定义完整性:NOT NULLCHECK,触发器。

2)用约束而非商务规则强制数据完整性;

3)强制指示完整性。在有害数据进入数据库之前将其剔除,激活数据库系统的指示完整性特性;  

4)使用查找控制数据完整性,控制数据完整性的最佳方式就是限制用户的选择;  

5)采用视图。可以为应用程序建立专门的视图而不必非要应用程序直接访问数据表,这样做还等于在处理数据库变更时给你提供了更多的自由。

5、其他设计

1)避免使用触发器确实需要的话最好集中对它文档化;

2)使用常用英语(或者其他任何语言)而不要使用编码,确实需要的话可以在编码旁附上用户知道的英语;

3)保存常用信息。让一个表专门存放一般数据库信息,可以实现一种简单机制跟踪数据库,这样做对非客户机/服务器环境特别有用;

4)包含版本机制,在修改数据库结构时更为方便;  

5)编制文档,对所有的快捷方式、命名规范、限制和函数都要编制文档;

6)反复测试,保证选择的数据类型满足商业要求;  

7)检查设计,在开发期间检查数据库设计的常用技术是通过其所支持的应用程序原型检查数据库。

6、数据库命名规范

1)实体(表)的命名

1)表以名词或名词短语命名,给表的别名定义简单规则;  

2)如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词;

3)所有的存储值列表的表前面加上前缀Z,目的是将这些值列表类排序在数据库最后;

4)所有的冗余类的命名(主要是累计表)前面加上前缀X。冗余类是为了提高数据库效率,非规范化数据库的时候加入的字段或者表;

5)关联类通过用下划线连接两个基本类之后,再加前缀R的方式命名,后面按照字母顺序罗列两个表名或者表名的缩写。关联表用于保存多对多关系。

2)属性(列)的命名

1)采用有意义的列名,表内的列要针对键采用一整套设计规则;

每一个表都将有一个自动ID作为主健,逻辑上的主健作为第一组候选主健来定义。如果是自定义的逻辑上的编码则用缩写加“ID”的方法命名。如果键是数字类型,你可以用_NO 作为后缀。如果是字符类型则可以采用_CODE 后缀。对列名应该采用标准的前缀和后缀。

2)所有的属性加上有关类型的后缀,如果还需要其它的后缀,都放在类型后缀之前。数据类型是文本的字段,类型后缀TX可以不写,有些类型比较明显的字段也可以不写类型后缀;

3)采用前缀命名。给每个表的列名都采用统一的前缀,那么在编写SQL表达式的时候会得到大大的简化,但这样做也有缺点,比如会破坏自动表连接工具的作用。

3)视图的命名

1)视图以V作为前缀,其他命名规则和表的命名类似;

2)命名应尽量体现各视图的功能。

4)触发器的命名

触发器以TR作为前缀,触发器名为相应的表名加上后缀,Insert触发器加 _IDelete触发器加 _D Update触发器加 _U 。如:TR_User_ITR_User_DTR_User_U

5)存储过程名

存储过程应以 UP_ 开头,和系统的存储过程区分,后续部分主要以动宾形式构成,并用下划线分割各个组成部分。  

6)变量名

变量名采用小写,若属于词组形式,用下划线分隔每个单词。

7)命名中其他注意事项

1)以上命名都不得超过30个字符的系统限制,变量名的长度限制为29(不包括标识字符@);

2)数据对象、变量的命名都采用英文字符,禁止使用中文命名,绝对不要在对象名的字符之间留空格;

3)小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突;

4)保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。

分享到:
评论

相关推荐

    数据库设计方案.docx

    数据库设计原则 数据库设计方案全文共8页,当前为第2页。 数据库设计方案全文共8页,当前为第2页。 数据设计原则包括统一原则、标准化原则、规范性原则、保护性原则、完整性原则,并发性原则,安全性原则、备份性...

    数据库课程设计&&软件工程课程设计

    此外,数据库设计包括概念设计(ER图)、逻辑设计(关系模式)和物理设计(索引、存储优化),这些都是确保数据有效存储和高效访问的关键步骤。同时,了解数据库安全性、备份恢复策略以及事务处理也是必不可少的知识...

    设计方案怎么写-华为软件设计方案

    在IT行业中,撰写设计方案是一项至关重要的任务,尤其对于华为这样的技术巨头来说,其软件设计方案更是体现了公司的技术实力和创新理念。设计方案的编写不仅需要技术深度,还需要清晰的逻辑和良好的沟通能力。以下将...

    软件设计方案(整理篇)

    "软件设计方案(整理篇)" 软件设计方案是指在软件开发过程中,对软件的整体设计和规划,以确保软件的可靠性、可维护性、可扩展性和可重用性。软件设计方案是软件开发的重要组成部分,涉及到软件的各个方面,如用户...

    软件设计师专题 专题06:数据库知识

    总结来说,软件设计师需要对数据库有深入理解,包括数据库设计、事务处理、索引、SQL、优化、高可用性等方面的知识。通过不断学习和实践,才能在实际项目中有效地应用数据库技术,创造出高效、稳定的软件系统。

    数据库 设计方案 用于写方案 投标 验收材料使用

    数据库设计方案是数据库建设的基础和核心部分,该方案涵盖了数据库设计的各个方面,包括数据库设计原则、数据库逻辑设计、数据库内容设计等。以下是数据库设计方案的详细内容: 一、数据库设计原则 数据库设计原则...

    软件工程概要设计文档------数据库设计说明书

    文档的编写目的主要是为了规范数据库设计过程,明确设计目标,使开发人员能够理解并遵循设计原则,确保数据库系统满足软件系统的功能需求和性能指标。 1.2 背景 背景部分介绍了项目的基本情况,如项目的目标、预期...

    软件工程数据库项目设计文档

    这份文档是软件工程流程中的关键环节,旨在确保数据库设计符合项目需求,能够有效地存储、管理和检索数据。 1. 引言 - 编写目的:明确文档的主要目标,是为了指导数据库的设计与实现,为项目的成功提供坚实的基础...

    软件设计方案(整理).pdf

    软件设计方案 软件设计方案是软件开发过程中的一个重要步骤,它涵盖了软件设计的各个方面,包括用户界面设计、数据库设计、编程规范等。本文将对软件设计方案的各个方面进行详细的解释和分析。 一、用户界面设计...

    软件详细设计方案样本.doc

    本资源是关于软件详细设计方案的样本文件,包含了软件设计的各个方面,包括软件总体架构、界面设计、输出报表设计、数据库设计、xxxx 模块设计方案等。 软件总体架构是指软件的总体架构设计,描述了软件的整体结构...

    软件设计方案[整理]

    本文档“软件设计方案[整理]”深入探讨了三个核心领域:用户界面设计规范、数据库设计原则以及编程规范总则,旨在为IT专业人士提供一套全面的指导原则。 **第一章:用户界面设计规范** 用户界面(UI)设计是软件与...

    部分架构和数据库设计方案1.3.docx

    在微服务架构中,数据库设计通常也遵循服务边界,每个服务拥有自己的数据存储,实现数据的局部化。这有助于保持服务的独立性,但也可能引入数据一致性挑战,需要采用如事件驱动或最终一致性等策略来解决。 【系统...

    设计方案怎么写-华为软件设计方案1

    综上所述,一个完整的软件设计方案应当注重用户界面的友好性,数据库的稳定性和高效性,以及编程的规范性,这三个方面相互关联,共同构建出高质量的软件产品。通过遵循这些规范,开发者可以有效地提高软件的可用性、...

    项目初步设计方案模板

    本期项目设计方案是对项目的详细设计,包括建设目标、规模与内容、标准规范建设内容、信息资源规划和数据库设计、应用支撑系统设计、应用系统设计、数据处理和存储系统设计、终端系统及接口设计、网络系统设计、安全...

    java设计方案模板.docx

    Java 设计方案模板是指在软件设计过程中,使用 Java 语言编写的设计文档模板。该模板用于记录软件设计的详细过程和结果,包括设计目标、设计概述、详细设计方法和工具、系统结构设计、系统功能模块设计、数据库设计...

    国标软件设计文档参考\数据库设计说明书.doc

    《百草方药库管理系统》数据库设计说明书是针对一个特定的医药信息管理系统的数据库设计方案,旨在规范和指导软件开发过程中的数据存储与管理。该文档详细阐述了数据库的设计原则、结构以及与其他系统组件的交互方式...

    大型ORACLE数据库优化设计方案.docx

    总的来说,大型Oracle数据库的优化是一项综合性的任务,涉及到硬件平台、数据库软件、数据库设计和SQL执行等多个层面。通过对OFA、SGA、规范化和反规范化设计的深入理解和实践,以及不断调整和测试,才能实现数据库...

    教学辅助系统数据库设计说明书.pdf

    教学辅助系统数据库设计说明书的参考资料包括数据库设计原则、数据模型设计方法、数据库管理系统的原理等方面的内容。该设计说明书还参考了教学辅助系统的需求和相关的技术标准,确保数据库设计方案的合理性和可靠性...

    软件设计方案

    10. **文档编写**:完整的软件设计方案应包含详细的设计文档,如架构设计文档、接口设计文档、数据库设计文档等,以便团队成员理解和执行设计。 11. **版本控制与持续集成/持续部署(CI/CD)**:利用版本控制系统(如...

    软件系统平台对接接口方案

    本文将深入探讨系统接口设计的各个方面,包括接口设计原则、接口定义与分类、接口设计模式以及接口实现方式。 首先,接口设计原则是指导接口设计的核心准则。高内聚、低耦合是设计中的金科玉律,旨在减少系统间的...

Global site tag (gtag.js) - Google Analytics