首页 > 代码库 > 做好数据库设计
做好数据库设计
每一个人都有一个武侠梦。我们都羡慕有降龙十八掌的乔峰,羡慕有九阳神功护体的张无忌,羡慕有易筋经和独孤九剑的令狐冲,羡慕传说中的独孤求败……
其实,他们的成功有一个共同的秘诀:那就是他们都有很深厚的内功基础。有了深厚的内功做基础,耍起武功招数来,就会得心应手,顺手拈来。随便扔一个石子,就是弹指神通。
我想说的是:一个软件系统中,良好的数据库设计,就好比一个系统有了好的内功。好的数据库设计,能够更好的应对需求变化,活儿越干越轻松(活儿好啊);而一个垃圾的数据库设计,越是认真的投入精力去做,你做起来也会越费力,这叫南辕北辙。而且,只要需求稍微一变,你就跟着大动干戈。
相信很多公司加班,很重要的原因就是数据库设计的不够灵活。
可以说,良好的数据库设计,是一个系统成功的二分之一。这句话一点不假。那么,我们不禁要问:怎么做才能做出量好的数据库设计呢?
其实,我也很想知道答案。我也不敢拍着胸脯说自己做的设计百分之百的好。不过,我对数据库设计,有一点点自己的想法,分享出来,望大家勿喷。
1、要深刻理解三范式。
提起三范式,如果你脑子里没有立马反映出来那三张图的话,得,你也别谈好的设计了。先去学学数据库的相关知识吧。能够设计出来的数据库,三范式的知识必须烂熟于心。熟才能生巧。
有些人设计数据库,只图自己的方便,在这添加一个字段,在哪添加一个字段。这里,我想说的是:如果你没有足够充分的理由,请严格遵守三范式设计数据库。
有些时候,仅仅是三范式还不够的话,我们还要考虑第四范式以及后面的一些范式规范。
为什么这么说呢?因为我们都知道,需求基本上肯定是会变的。去掉那些冗余字段,才能更好的做到统一管理。
而且,更重要的是,我们遵循范式设计数据库,基本上能够把最主要的字段确定下来,尽管字段将来有增减,那都不是硬伤,无伤大雅。
关于遵循范式设计数据库,相信很多人都能认识到它的重要性,而且也能较好的做到这一点。可以说理解三范式是最基础的。
2、深刻理解业务需求
一个好的数据库设计,一定是非常符合它的业务需求的。原因很简单,例子也很好举:鞋子穿起来好看不好看,大小正好才好;钱学森懂得再多,适应了国情才能造出中国自己的原子弹;生产关系,要符合生产力的发展需求……
所以,想做好数据库设计,首先需要做好需求分析工作。
要想设计出来张弛有度,应对需求变化游刃有余,不会有大方向偏差的数据库设计,仅仅理解三范式是远远不够的,深入理解需求非常非常之重要。
你心里要明白,哪些地方数据量会很大,怎样设计才能做到更好的规避;如果大数据量无法规避
………………(未完待续:困了,改天继续写完。。。)………………
产品经理是不会为他昨天说的话买单的,你做的系统,不能应对变化,他就会认为你技术不行。
做好数据库设计