提高数据库开发效果的四项前期准备工作

前期工作一:定义标准的对象命名规范。

一定要定义数据库对象的命名规范,这是笔者一再坚持的一个观点。在开发数据库项目之前,项目开发团队要先讨论确定数据库对象的命名规范。包括函数、过程、表、视图、字段等的命名规则。因为我们在数据库开发过程中会重复的引用这些对象。若没有一个统一的命名规则,只有对象的所有者知道其所代表的含义。那么其他数据库开发人员想引用某个对象的时候,就会茫然不知道从何下手。所以,制定一个统一的数据库对象命名规范,这是数据库设计的一个必要的前期准备工作。

1、利用前缀区分各个对象。在Oracle数据库中,基本的对象有函数、过程、表、视图等等。对于表以外的对象,笔者建议通过前缀来对他们进行区分。如函数名就用FUN前缀,视图就用View前缀等等。如此,当在其他对象中调用视图或者函数的时候,就可以通过输入View前缀,让数据库系统只列出数据库当前的所有视图对象。通过这种方法,就是缩小我们选择的范围,提高对象引用的效率。

2、可以根据不同的功能模块来对基础表进行命名。如对于ERP来说,光基础表就有上千张。这么多的表如何进行有序的管理?笔者建议,可以按软件功能模块的简称作为其前缀。如对于财务模块用到的基础表,可以利用FI前缀;销售模块涉及到的基础表则采用SA前缀。通过这种命名规则,一看到前缀就可以联想到表的用途。无疑,这可以提高表命名的可读性;也方便数据库开发人员对表对象的引用。

3、对于字段来说,命名规范所涉及到的技巧更加多了。如笔者常常会在一些字段的后面加入一个后缀,表示这个字段所对应的数据类型。如订单数量是一个典型的数字类型字段,则笔者会在后面加入NUM后缀。这么处理后,当他们要在其他对象中引用这个字段的时候,就不用费心的去想、去找资料,确定这个字段的数据类型了。如在设置字段列名的时候,笔者喜欢把表的前缀加入到字段名中。如现在销售订单中有个销售订单ID的字段,笔者把它命名为Or_Order_ID;在出货单上,也需要用到这个字段,笔者命名为OU_Order_ID。当我们在做定单出货明细表的时候,引用这两个字段时,就不需要在前面输入具体的表名。若我们把加入表的前缀,两张表中的字段都命名为Order_ID,则在引用他们的时候,被参考的表的ID字段要加入表名。若其关联查询的表越多,则每一张表都要加入表名才能够对其进行引用。很明显,前者的引用方式要节省工作量。

当然,上述的命名规范要根据自己的项目团队的爱好来定。总之一个基本的原则,就是命名规范要统一。不能够一个开发团队三个开发人员一人一套,这不利于项目团队之间的合作。

前期工作二:考虑系统的灵活性。

一个优秀的数据库管理员,在数据库开发的时候,往往会考虑用户未来的需求变化,以提高数据库的灵活性。若用户每次变更一下需求,都要通过变更数据库对象来实现,那这个数据库也太过于僵硬了。

故笔者认为,数据库管理员在对数据库开发之前,要跟客户进行沟通。确定在未来哪些方面可能会发生变更,然后采取某些策略,对其进行控制。力保在不对数据库进行调整的情况下,通过一些简单的配置,实现对需求的调整。

如笔者一次在开发一个超市零售系统数据库的时候,笔者在跟客户的沟通中,就遇到了这么一个细节问题。超市产品的价格可能会有一些季节性的调价问题。按照以前的设计,系统只能够实现有规律的条件,如某类产品统一上挑多少个百分点等等。但是,这远远不能够满足企业的需求。因为在调整价格之前,他们都会通过Excle表格的形式,跟供应商确认条件的事情。所以,超市管理员希望能够直接根据这份表格对系统中的价格进行更新。笔者了解这个信息后,就涉及了一个价格更新的批处理程序,方便用户对价格进行成批的更新。

这些功能不要看其小,但是,却可以给客户一种很好的感觉。说实话,现在同类系统之间的抄袭现象已经很严重,同质化现象越来越突出。我们只有在用户友好性与系统灵活性上下功夫,才能够拉拢客户,引得比较好的知名度。

时间: 2024-10-30 16:52:28

提高数据库开发效果的四项前期准备工作的相关文章

四项技术提高SQL Server的性能

本文讲解如何使用LEFT JOIN.CROSS JOIN以及IDENTITY值的检索,这些技术来提高基于SQL Server的应用程序的性能或改善其可伸缩性. 有时,为了让应用程序运行得更快,所做的全部工作就是在这里或那里做一些很小调整.但关键在于确定如何进行调整!迟早您会遇到这种情况:应用程序中的SQL 查询不能按照您想要的方式进行响应.它要么不返回数据,要么耗费的时间长得出奇.如果它降低了企业应用程序的速度,用户必须等待很长时间.用户希望应用程序响应迅速,他们的报告能够在瞬间之内返回分析数据

四项技术 助你提高SQL Server的性能

本文讲解如何使用LEFT JOIN.CROSS JOIN以及IDENTITY值的检索,这些技术来提高基于SQL Server的应用程序的性能或改善其可伸缩性. 有时,为了让应用程序运行得更快,所做的全部工作就是在这里或那里做一些很小调整.但关键在于确定如何进行调整!迟早您会遇到这种情况:应用程序中的SQL 查询不能按照您想要的方式进行响应.它要么不返回数据,要么耗费的时间长得出奇.如果它降低了企业应用程序的速度,用户必须等待很长时间.用户希望应用程序响应迅速,他们的报告能够在瞬间之内返回分析数据

陈皆重:上海通管局四项工作推动大数据开发

上海市通信管理局局长陈皆重在第六届上海通信发展年会上表示,在国家宽带战略和上海智慧城市战略持续推进的时代大背景下,上海市通信管理局将在市委市政府的正确领导下,领导全行业紧紧抓住大数据开发的契机,深入开发大数据的商业价值,积极打造成熟的产业链. 他介绍称,上海市通信管理局将展开四项工作来营造大数据发展良好环境. 第一.落实国家的宽带中国战略.成功打造大数据的产业链,需要有先进的数据分析技术和创新的商业模式,也更依赖于快速.高效的信息建设.上海市通信管理局为此将深入通信行业做好宽带提速和建设工作,为

MS-SQL数据库开发常用汇总和t-sql技巧集锦

技巧|数据|数据库 把长日期转换为短日期   Convert(char(10),getdate(),120)  MS-SQL数据库开发常用汇总 1.按姓氏笔画排序: Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as 2.数据库加密: select encrypt('原始密码')select pwdencrypt('原始密码')select pwdcompare('原始密码','加密后密码'

提高SQL Server伸缩性的四个语句

本文讲解如何使用LEFT JOIN.CROSS JOIN以及IDENTITY值的检索,这些技术来提高基于SQL Server的应用程序的性能或改善其可伸缩性. 你将遇到的现象:应用程序中的SQL 查询不能按照您想要的方式进行响应.它要么不返回数据,要么耗费的时间长得出奇.如果它降低了企业应用程序的速度,用户必须等待很长时间.用户希望应用程序响应迅速,他们的报告能够在瞬间之内返回分析数据. 为了解决这些问题,重要的是找到问题的根源.那么,从哪里开始呢?根本原因通常在于数据库设计和访问它的查询.我将

iOS开发UINavigation系列四——导航控制器UINavigationController

iOS开发UINavigation系列四--导航控制器UINavigationController 一.引言         在前面的博客中,我么你介绍了UINavigationBar,UINavigationItem和UIToolBar,UINavigationController是将这些控件和UIViewController紧密的结合了起来,使用导航,我们的应用程序层次会更加分明,对controller的管理也更加方便.前几篇博客地址如下: UINavigationBar:http://my

PostgreSQL 数据库开发规范

PostgreSQL 数据库开发规范 背景 PostgreSQL的功能非常强大,但是要把PostgreSQL用好,开发人员是非常关键的. 下面将针对PostgreSQL数据库原理与特性,输出一份开发规范,希望可以减少大家在使用PostgreSQL数据库过程中遇到的困惑. 目标是将PostgreSQL的功能.性能发挥好,她好我也好. PostgreSQL 使用规范 命名规范 [强制]库名.表名限制命名长度,建议表名及字段名字符总长度小于等于63. [强制]对象名(表名.列名.函数名.视图名.序列名

远程接入四项核心技术确保应用可靠交付

本文讲的是远程接入四项核心技术确保应用可靠交付,[IT168 资讯]当企业拥有更多更分散的分支机构或多种业务系统时,就面临着IT系统应用性能的提升及IT架构的优化问题,简单的远程接入已经不能满足用户需求 经过对用户需求的深入分析,专家总结出决定远程接入系统价值的四项核心技术,包括:动态负载均衡.虚拟打印.DDNS服务及本地输入法.远程接入系统性能优劣性可以通过以下指标来体现:第一,是否自主研发(摆脱Windows):第二,使用方便性:第三,配置繁简性:第四,性能稳定性. 负载均衡 动态负载均衡策

ASP.NET状缓存Cache的应用-提高数据库读取速度

原文:ASP.NET状缓存Cache的应用-提高数据库读取速度一. Cache概述       既然缓存中的数据其实是来自数据库的,那么缓存中的数据如何和数据库进行同步呢?一般来说,缓存中应该存放改动不大或者对数据的实时性没有太多要求的数据.这样,我们只需要定期更新缓存就可以了.相反,如果缓存的更新频率过快的话,使用缓存的意义就不是很大了,因此更新缓存的时候需要一次性从数据库中读取大量的数据,过于频繁地更新缓存反而加重了数据库的负担.那么ASP.NET中的Cache又提供了哪些缓存的过期策略呢?