浅谈数据库设计

                                    浅谈数据库设计数据库

  数据库设计的重要性:好的数据库设计有下面的一些做用:数据结构

     一、首先充分体现系统的需求,数据库是为应用服务的,好的数据库设计应该首先能知足应用系统的业务需求,准确的表达数据间关系。
    二、保证数据的准确性和一致性,经过主外键、非空、限制、惟一索引等保证数据的健壮。
    三、提升数据的查询效率,经过合理表结构,安排物理存储分区、增长索引等方式,提升数据的读取速度,提升查询效率。
    四、有好的扩展性,在必要时能根据需求扩展数据结构。

在系统设计中对数据库的设计应考虑哪些设计原则 

数据库是整个软件应用的根基,是软件设计的起点,它起着决定性的质变做用,所以咱们必须对数据库设计高度重视起来,培养设计良好数据库的习惯,是一个优秀的软件设计师所必须具有的基本素质条件!  那么咱们要作到什么程度才是对的呢?下面就说说数据库设计的原则:   数据库设计

一、数据库设计最起码要占用整个项目开发的40%以上的时间 
    数据库是需求的直观反应和表现,所以设计时必需要切实符合用户的需求,要屡次与用户沟通交流来细化需求,将需求中的要求和每一次的变化都要一一体如今数据库的设计当中。若是需求不明确,就要分析不肯定的因素,设计表时就要事先预留出可变通的字段,正所谓“有备无患”。  性能

 二、数据库设计不只仅停留于页面demo的表面 测试

    页面内容所须要的字段,在数据库设计中只是一部分,还有系统运转、模块交互、中转数据、表之间的联系等等所须要的字段,所以数据库设计绝对不是简单的基本数据存储,还有逻辑数据存储。 
  三、数据库设计完成后,项目80%的设计开发在你脑海中就已经完成了 
    每一个字段的设计都是有他必要的意义的,你在设计每个字段的同时,就应该已经想清楚程序中如何去运用这些字段,多张表的联系在程序中是如何体现的。换句话说,你完成数据库设计后,程序中全部的实现思路和实现方式在你的脑海中就已经考虑过了。若是达不到这种程度,那当进入编码阶段后,才发现要运用的技术或实现的方式数据库没法支持,这时再改动数据库就会很麻烦,会形成一系列不可预测的问题。   大数据

 四、数据库设计时就要考虑到效率和优化问题 
    一开始就要分析哪些表会存储较多的数据量,对于数据量较大的表的设计每每是粗粒度的,也会冗余一些必要的字段,已达到尽可能用最少的表、最弱的表关系去存储海量的数据。而且在设计表时,通常都会对主键创建汇集索引,含有大数据量的表更是要创建索引以提供查询性能。对于含有计算、数据交互、统计这类需求时,还要考虑是否有必要采用存储过程。   优化

 五、添加必要的(冗余)字段 
    像“建立时间”、“修改时间”、“备注”、“操做用户IP”和一些用于其余需求(如统计)的字段等,在每张表中必须都要有,不是说只有系统中用到的数据才会存到数据库中,一些冗余字段是为了便于往后维护、分析、拓展而添加的,这点是很是重要的,好比黑客攻击,篡改了数据,咱们便就能够根据修改时间和操做用户IP来查找定位。  编码

 六、设计合理的表关联 
    若多张表之间的关系复杂,建议采用第三张映射表来关联维护两张表之间的关系,以下降表之间的直接耦合度。若多张表涉及到大数据量的问题,表结构尽可能简单,关联也要尽量避免。 
  七、设计表时不加主外键等约束性关联,系统编码阶段完成后再添加约束性关联 
    这样作的目的是有利于团队并行开发,减小编码时所遇到的问题,表之间的关系靠程序来控制。编码完成后再加关联并进行测试。不过也有一些公司的作法是干脆就不加表关联。  spa

  八、选择合适的主键生成策略。设计

相关文章
相关标签/搜索