- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库开发者常犯的十大错误
数据库开发者常犯的十大错误
尽管软件发展中的热点技术层出不穷,不断地变化,有一些东西却一直未曾改变,其中之一就是开发人员对数据库的使用和设计开发。
你可能会兴奋地紧跟时尚创建一个AJAX Web界面,或者使用最近迷人的Windows用户界面,但是透过这些各种各样的外观界面,你可能依然需要从后台数据库中提取或存取所需要的数据——这一点就如同十多年以前人们对数据库的操作是一样的。
然而,令人吃惊的是,现在还有很多开发者依然在不断地重复着很多年以前就存在的数据库使用和开发上的错误。或许是有太多的开发者只是来学习如何使用一个数据库,而不是真正的去研究它。以下是笔者作为一个开发者,个人在平时的开发工作中所精选出的数据库开发者常犯的十大错误,以飨读者和同行。
1、选择了错误的数据库
不是所有的数据库都可以用来完成你的任务,这意味着当你在使用数据库来做任何开发工作和其他事情前,你必须选择合适的数据库。例如,我们经常看到一些Access数据库没有能力处理的大容量数据集,对于SQL Server来说却像玩小孩子的游戏一样轻松地完成处理。但是,对于只需要处理几百行数据的需求,有的人却花钱来购买SQL Server。这些都是错误的做法。
广泛地来说,在当今市场中的数据库可以分为三个层次:桌面和嵌入数据库——适合于处理小型任务;一些大型数据库产品的“Express”版也是不错的,可以处理数G条数据;而真正的企业级数据库,像SQL Server、Oracle和DB2的数据处理能力是非常惊人的,你可以毫不犹豫地把数据抛给它们。
因此,在你选择数据库前,你需要对于你的数据进行一次客观真实的分析,从而选择适合你的开发工作和实际需求的数据库产品。
2、选择了太多的数据库
诸如ODBC、JDBC和OLEDB等应用程序编程接口的出现,大大促进和提升了数据库独立性,也就是说,开发人员可以这样来编写你的应用程序:你可以让你的应用程序支持使用任何数据库来进行数据存储。
然而,这种情况是要付出一些代价的,我曾经看到有的开发团队为了追求应用程序的数据库“无关性”,专门编写了应用程序将所有的SQL语句转换成一些底层的语言,以便让所有的数据库都能理解并执行,但是,这样做的同时也丧失了现有数据库的一些高级功能。
那么为什么这么做呢?可能是出于这样的考虑:某些客户在将来的使用中可能想切换到Oracle或DB2或FoxPro,或其他的什么数据库,采用上面的这种做法或许是现在先准备好了,“未雨绸缪”。
对于此,另一种相反的做法是:当你开始开发一个新产品的时候,选择一个存储引擎并开始在此基础上编写你的应用程序。如果你的产品足够好,人们会安装你指定的数据库,因此你不用浪费时间和精力来支持一种“假想”的用户需求。
3、了解你的数据
在我们使用数据库的过程中会碰到很多需要考虑的问题,例如有些客户编号可能并不是我们通常认为的七位,而是六位;而有一些公司和企业出于保护个人隐私的考虑,可能不一定非要求员工输入他们的身份证号码或者银行帐号,因此这中数据类型在数据库搭建和开发中必须设置成可以为空(NULL)。
也就是说,数据库开发和设计不能脱离实际情况进行,不能远离实际业务规则。对数据库开发者来说,必须要完全了解用户真正输入数据的需求是什么,并根据这些数据来合理地设计数据字段的大小、类型以及什么规则,等等。否则,等待你的将是一次又一次地返回头来进行修改工作。因此,你要学会在开始的时候就对你需要处理的数据具有非常全面、深入的了解,要尽量考虑到各种意外的情况。
4、数据库不像Excel一样人人会用
现在有一种认识上的误区,尤其是在一些小单位的管理者眼中,他们总认为任何开发者都知道如何去合理地搭建一个数据库。
很明显,这种误解让我很困惑。既然你不会假定任何开发者都知道如何用C#编程或创建一个Web服务,那么为什么要假定每个开发者都是数据库专家呢?
这种假设所带来的最后结果是,太多的数据库被一些甚至从来没有听说过术语规范化(term normalization)的人所设计。很多数据库的功能根本没有被合理地运用,如果你是这样一个开发者的话,那么在你设计数据库之前,你需要加强这方面的培训和学习了。高效的数据库设计是你必须了解和掌握的技巧,而不要奢望可以通过失败的教训来了解到这一点。
5、第三范式并不是至高无上
另一方面,开发人员对数据库的一知半解可能是一件比较危险的事情。我看到过很多数据库被设计得过于死板,这些数据库的设计者坚持把所有东西都放在查询表中。
是的,数据库开发者需要知道规范化的规则,但是你也需要知道什么时候要停止去用规范化,什么时候逆规范化反而可能会带来更好的效果。
6、隐藏应用逻辑的“黑匣子”存储过程和触发器是两个非常伟大的功能。当你有多个客户访问一个数据库的
您可能关注的文档
- 抑郁症的诊断.doc
- 投SCI影响因子50以上杂志的心得.doc
- 投射式电容触控面板技术原理与趋势.doc
- 投资分析天士力一体两翼布局成型,产品链不断增强.doc
- 投资时需要借鉴的炒股心得.doc
- 投资方面的财务问题.docx
- 投资慢性病防治效益惊人.doc
- 投资林业产业价值分析.doc
- 投资让人生更圆满T0绝对挣钱的交易方式.doc
- 投资阿根廷相关矿业法律政策介绍.doc
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
最近下载
- 2024年政务服务行政办事员职业技能考试题库及答案3.docx
- 2024年政务服务行政办事员职业技能考试题库及答案2.docx
- 2024年政务服务行政办事员职业技能提升题库及答案1.docx
- 小学五年级上册数学期末考试试卷含答案【能力提升】.docx
- 天文知识科普文档.doc VIP
- 相许-卿卿日常配乐-五线谱+简谱.pdf
- 2022江西抚州市政务服务大厅面向社会公开招聘2名行政办事员【共500题附答案解析】模拟检测试卷0.docx
- 2024年政务服务行政办事员职业技能考试题库及答案5.docx
- 中医执业医师资格考试时间2023年.pdf
- 浙教版信息科技五年级上册 第三单元 用算法解决问题 大单元整体教学设计.docx
文档评论(0)