脚印之需求惹祸----数据库设计的有问题吗?

来源:互联网 发布:局域网会议直播软件 编辑:程序博客网 时间:2024/05/21 21:50

         从今天开始要把自己的想法记录下来,先把对错放在一边,留下我探索的脚印。我和同事小罗说我想写些东西,问她喜欢讨论什么话题,她说是数据库设计与分析。我问为什么?她说她觉得数据库设计很重要啊!数据库设计不好会经常的去改,查询语句也会很复杂啊!

       其实我也有过类似问题,尤其系统接近完成或上线之后,用户的某个数据需求让我们不得不会去修改数据库的结构,有时用户说的需求需要通过多个表格连接、筛选、计算得出甚至需要更复杂的手段。一部分人把责任推向用户,认为是用户需求变化,早点说就不这么设计了。一部分程序员就像小罗这样认为自己考虑的不周全,认为有最佳的结构可以满足这些变化。

        数据库存储了数据,经过加工处理显示给用户。用户要看到一个数据,我们首先要看数据库中有没有这个数据,如果没有再看能不能从现有数据得出这个数据,还不行我们就考虑要增加这个数据了。增加的时候要考虑和已有的数据的关系,对其他数据没有影响直接添加自然简单的多,有些是增加其他数据再通过计算就复杂一些。实际上为了达到用户预期的输出效果,我们增加了一些数据的输入项。

       决定我们的数据库的结构就是这一个输入、一个输出。我们常常怪用户没有提要采集这个输入,使得我们往往得不到用户所要的输出。我觉得有点难为用户了,用户往往不知道怎么设计输入,可以让用户告诉你他要什么输出,作为设计单位的我们来告诉他提供哪些数据我就能够输出需要的结果。就像用户雇厨师做酸汤鱼,厨师告诉用户准备好哪些材料,材料够了加上过硬的手艺美味就产生。而我身边有些朋友纠结于用户平时都填什么数据,忽略用户希望看到什么输出。这个问题就要回到用户做系统本源,用户花钱开发这个系统,把各种数据记录进去,根本目的就是使用。通过整理用户数据使用需求来分析用户的数据输入需求,设计了合理的输入后,就确定了数据库设计。这里面还要说的就是对行业的需求的理解也非常重要,有时用户所站角度和管理的水平决定了用户不能提出有效输出,需要参考其他的项目经验和行业内标准加以验证。

      总之,在实践中数据库的修修改改是避免不了,但有效的获取用户的输入、输出需求,尤其是输出需求,会让你的数据库设计更合理。

     

1 0
原创粉丝点击