DB: 20 个数据库设计最佳实践

code

  1. 使用明确、统一的标明和列名,例如 School, SchoolCourse, CourceID。
  2. 数据表名使用单数而不是复数,例如 StudentCourse,而不是StudentCourses。
  3. 数据表名不要使用空格。
  4. 数据表名不要使用不必要的前缀或者后缀,例如使用School,而不是TblSchool,或者SchoolTable等等。
  5. 数据库中的密码要加密,到应用中再解密。 (其实就是散列存储、单向加密)
  6. 使用整数作为ID字段,也许现在没有这个必要,但是将来需要,例如关联表,索引等等。
  7. 使用整数字段做索引,否则会带来很大的性能问题 。
  8. 使用 bit 作为布尔字段,使用整数或者varcha是浪费。同时,这类字段应该以“Is”开头。
  9. 要经过认证才能访问数据库,不要给每一个用户管理员权限。
  10. 尽量避免使用“select *”,而使用“select [required_column_list]”以获得更好的性能。
  11. 假如程序代码比较复杂,使用ORM框架,例如hibernate,iBatis。ORM框架的性能问题可以通过详细的配置去解决。
  12. 分割不常使用的数据表到不同的物理存储以获得更好的性能。
  13. 对于关键数据库,使用安全备份系统,例如集群,同步等等。
  14. 使用外键,非空等限制来保证数据的完整性,不要把所有的东西都扔给程序。
  15. 缺乏数据库文档是致命的。你应该为你的数据库设计写文档,包括触发器、存储过程和其他脚本。
  16. 对于经常使用的查询和大型数据表,要使用索引。数据分析工具可以帮助你决定如何建立索引。
  17. 数据库服务器和网页服务器应该放在不同的机器上。这回提高安全性,并减轻CPU压力。
  18. Image和blob字段不应该定义在常用的数据表中,否则会影响性能。
  19. 范式(Normalization)要按照要求使用以提高性能。Normalization做的不够会导致数据冗余,而过度Normalization 会导致太多的join和数据表,这两种情况都会影响性能。
  20. 多花点时间在数据库设计上,否则你将来会付出加倍的时间来偿还。

. 原文链接:http://www.javacodegeeks.com/2012/02/20-database-design-best-practices.html

转载于:https://www.cnblogs.com/didi/archive/2012/02/16/2353697.html

DB: 20 个数据库设计最佳实践相关推荐

  1. 20个数据库设计最佳实践

    2019独角兽企业重金招聘Python工程师标准>>> 数据库设计是整个程序的重点之一,为了支持相关程序运行,最佳的数据库设计往往不可能一蹴而就,只能反复探寻并逐步求精,这是一个复杂 ...

  2. mysql数据库设计实践_MYSQL教程分享20个数据库设计的最佳实践

    <MYSQL教程分享20个数据库设计的最佳实践>要点: 本文介绍了MYSQL教程分享20个数据库设计的最佳实践,希望对您有用.如果有疑问,可以联系我们. MYSQL教程数据库设计是整个程序 ...

  3. 20个数据库设计的最佳实践

    数据库设计是整个程序的重点之一,为了支持相关程序运行,最佳的数据库设计往往不可能一蹴而就,只能反复探寻并逐步求精,这是一个复杂的过程,也是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程. ...

  4. mongodb数据合并设计_「时间序列数据」和MongoDB(二)-模式设计最佳实践

    在上一篇博客文章时间序列数据与MongoDB:第一部分-简介中,我们介绍了时间序列数据的概念,然后介绍了一些可以用于帮助收集时间序列应用程序需求的发现问题.对这些问题的回答有助于指导支持大容量生产应用 ...

  5. [译] RESTful API 设计最佳实践

    https://juejin.im/entry/6844903503953920007 [译] RESTful API 设计最佳实践 阅读 8779 收藏 0 2017-10-16 原文链接: seg ...

  6. maxcompute操作_MaxCompute表设计最佳实践

    MaxCompute表设计最佳实践 产生大量小文件的操作 MaxCompute表的小文件会影响存储和计算性能,因此我们先介绍下什么样的操作会产生大量小文件,从 而在做表设计的时候考虑避开此类操作. 使 ...

  7. RESTful API 设计最佳实践

    2019独角兽企业重金招聘Python工程师标准>>> 背景 目前互联网上充斥着大量的关于RESTful API(为方便,下文中"RESTful API "简写为 ...

  8. python组件的react实现_React-Router动态路由设计最佳实践

    写在前面 随着单页应用(SPA)概念的日趋火热,React框架在设计和实践中同样也围绕着SPA的概念来打造自己的技术栈体系,其中路由模块便是非常重要的一个组成部分.它承载着应用功能分区,复杂模块组织, ...

  9. 软件架构设计最佳实践

    软件架构设计最佳实践 课程介绍: 1.深入阐述软件架构设计的思想.方向及趋势:2.剖析软件架构的全景视图:3.结合实际案例分析架构设计过程及需求对架构的影响:4.如何实用设计模式来实现好的架构:5.实 ...

  10. 设计模式 工厂方法_使用工厂方法模式设计最佳实践

    设计模式 工厂方法 在前面的"设计模式"示例中,我们解释了当今常用的"工厂"模式. 在本节中,我们将了解具有更多抽象的更高级的解决方案. 该模式称为工厂方法设计 ...

最新文章

  1. 清华教授透漏:博士生6年不毕业或将影响信用记录,并将影响贷款
  2. Linux - XShell - alt 快捷键的设置
  3. 为什么大家都只谈薪资,却不谈梦想?
  4. android 7.1 apk的systemuid [2]
  5. Mac笔记本安装Webstrom
  6. Bailian1193 内存分配【数据结构】
  7. 陈纪修 数学分析,上下册
  8. 基于单片机的智能排队叫号系统设计
  9. 阿里路演,PPT一览
  10. 课程设计题七:交通灯控制器
  11. 数据基础-索引和完整性(约束)
  12. PHP实现短网址还原
  13. 小鸟云服务器登录密码忘记了怎么办?
  14. Ameba 博客 词汇语法句型 20141101
  15. 民企员工股权激励的前提条件
  16. 学习笔记-B/S - Exploits
  17. HDU 6070 Dirt Ratio
  18. NSRunLoop的用法
  19. 工业互联网成为的智能制造核心驱动力
  20. bytebuffer获得byte[]的操作

热门文章

  1. 学习python3(一)
  2. 浅谈欧几里得算法求最大公约数(GCD)的原理及简单应用
  3. [转]vc6.0安装boost1.34.1
  4. web性能优化--缓存
  5. 如何在windows平台下使用hsdis与jitwatch查看JIT后的汇编码
  6. 修改了JS代码,刷新网页后,加载的JS还是原来旧的?
  7. nosql数据库MongoDB的用法
  8. Flex 4与自定义循环布局(转)
  9. 计算机网络自顶向下方法第6章-链路层和局域网.1
  10. 01_机器学习课程概述