标题里虽然是将Database Design的best practice, 但下面内容并不仅限于design阶段的良好习惯。

1. Should binary files (such as word, pdf, image, video) be stored in database?

(1) performance. 根据[2], blob column并不是储存在datarow中,datarow中只是包含了一个指向真正数据的指针,因此,性能并不会收到影响。

(2) full text search. 如果把word, pdf等文件存放在文件系统中,有许多工具支持对这些文档进行全文搜索,但是如果放在数据库中,这种支持可能就没这么多了(利用PDF  IFilter可以对数据库里的pdf进行FTS)。

(3) 从原则上讲,数据库里面存放的应该是“数据”。而word,pdf则混杂了数据和格式。

(4) 如果把binary files存放在文件系统上,而在数据库中维护这些文件的路径,那么程序中就要维护数据库中文件路径和文件系统上文件的一致性。

2. insert语句中应该要写清楚要插入的column的名字,否则当这张表的column发生变化时,这个语句就会不成立。

3 数据库设计的目标

(1) 最少的数据冗余。normalization这个过程就是用来实现这个目标的,但要注意过度normalization的问题(在这种情况下,有时候执行一个比较简单的查询就要join好几张表,sql语句比较复杂,这样就得不偿失了)因此有时候为了使数据库关系简单,应该允许redundancy的存在。这里必须达成一个compromise。

(2) 占用较小的空间。

(3) 预防错误发生的措施(foreign key, unique key等)。

Reference

[1]Best Practices in Database Design

http://www.interaktonline.com/Support/Articles/Details/Design+Your+Database-Best+Practices+in+Database+Design.html?id_art=24&id_asc=220

[2] http://www.aspcode.net/blogs/archive/2006/09/04/2.aspx

转载于:https://www.cnblogs.com/yuquanlaobo/archive/2007/01/19/624733.html

Database Design Best Practice (2)相关推荐

  1. Database design best practice(1):关于primary key及其它

    1. The job of the primary key is to uniquely identify records, not to store business data ; any use ...

  2. 第 7 章 Database design E-R diagram

    目录 7.1. opensource database design tools7.2. OpenSystemArchitect7.3. SQL Power Architect 7.1. openso ...

  3. 数据库入门必读书籍推荐《Beginning Database Design》和《《Beginning SQL Queries》

    数据库入门必读书籍推荐<Beginning Database Design>和<<Beginning SQL Queries> <Beginning Databas ...

  4. database design

    用户模块 用于记录注册用户信息 包括属性: 用户名.密码.电话.邮箱.身份证号.地址.姓名.昵称 primary id: username, id number, phone number featu ...

  5. database design three form

    https://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html 转载于:https://www.cnblogs.com/yjhlsbn ...

  6. 【database】database domain knowledge

    Database Principles Database Systems Design Advanced Database Technology 一.Database principles Relat ...

  7. 计算机专业英语教程(第二版)Chapter 4 Database Fundamentals

    这里的英语文章是<计算机专业英语教程第二版>,为了学习英语手打在这里.对版权不熟悉,完全为了学习的目的--算是免责声明吧(如果有的话) Chapter 4 Database Fundame ...

  8. Data Oriented Analysis Design

    前言 ========================================== 偶然的機會裡,看到了呆伯特法則,除了常常捧腹大笑以外,總覺得自 己在軟體界待過以後,看到的現象,其實跟書上寫 ...

  9. Database Meets AI: A Survey

    文章目录 Abstract 1 INTRODUCTION 1.1 AI for DB Learning-based Database Configuration Learning-based Data ...

  10. Database And RDBMS Concept

    What is Data? Data is information converted into binary digital form. A bit is the smallest unit of ...

最新文章

  1. JS 取消冒泡事件 兼容火狐IE
  2. FetchType.LAZY和FetchType.EAGER什么区别
  3. 关于FI凭证的字段状态
  4. java定义js函数_JS中可以先使用函数,然后再定义.
  5. Hiv:SQuirrel连接hive配置
  6. Java ObjectStreamClass lookup()方法与示例
  7. 《大数据》2015年第2期“前沿”——大数据技术发展的十个前沿方向(上)
  8. 景霄讲解Python部分内部实现
  9. gradle的配置文件build.gradle、gradle.properties、settings.gradle示例
  10. split和explode有什么区别?
  11. Linux学习第八篇之文件搜索命令find、locate、which、whereis、grep
  12. 汉宁窗+matlab,m汉宁窗hanning汉明窗hamming矩形窗-read.ppt
  13. 采购供应链管理系统:企业采购与供应链管理更简单、快捷
  14. 北京大学计算机学院刘利,信息科学学院 科研动态 深化新文科计算机教学改革,实施分类分层次教学体系研讨会在京召开...
  15. android播放幻灯片控件,android幻灯片控件PPT
  16. colormap保存 matlab_[转载]matlab的colormap的保存
  17. 阿里滑块 x82y x5sec本地dll 易语言
  18. 让我们来认识一下信号与系统的关系
  19. 【Android 应用】小白之签名文件的生成。
  20. 2022美亚杯第八届中国电子数据取证大赛-个人赛write up详解,软件就用弘连和美亚,尽量写的细致一点。建议入门看,仅为了解题,没有专业精神。专业选手去看后面推荐的两篇解析,都是大佬。

热门文章

  1. centos调整页面大小_新手教程!设置PDF文件的页面大小
  2. VPP 20.09版本正式发布
  3. DPDK之KNI原理
  4. ffmpeg time_base详解
  5. 2.3.3 Zero Sum 和为零(DFS)
  6. 深度学习优化算法大全系列6:Adam
  7. pandas读取与存储操作详解
  8. 神经网络的直观解释相关文档
  9. awk 输出到多个文件 多路输出
  10. 使用消息队列的十大理由