Database Design Best Practice (2)
标题里虽然是将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)相关推荐
- 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 ...
- 第 7 章 Database design E-R diagram
目录 7.1. opensource database design tools7.2. OpenSystemArchitect7.3. SQL Power Architect 7.1. openso ...
- 数据库入门必读书籍推荐《Beginning Database Design》和《《Beginning SQL Queries》
数据库入门必读书籍推荐<Beginning Database Design>和<<Beginning SQL Queries> <Beginning Databas ...
- database design
用户模块 用于记录注册用户信息 包括属性: 用户名.密码.电话.邮箱.身份证号.地址.姓名.昵称 primary id: username, id number, phone number featu ...
- database design three form
https://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html 转载于:https://www.cnblogs.com/yjhlsbn ...
- 【database】database domain knowledge
Database Principles Database Systems Design Advanced Database Technology 一.Database principles Relat ...
- 计算机专业英语教程(第二版)Chapter 4 Database Fundamentals
这里的英语文章是<计算机专业英语教程第二版>,为了学习英语手打在这里.对版权不熟悉,完全为了学习的目的--算是免责声明吧(如果有的话) Chapter 4 Database Fundame ...
- Data Oriented Analysis Design
前言 ========================================== 偶然的機會裡,看到了呆伯特法則,除了常常捧腹大笑以外,總覺得自 己在軟體界待過以後,看到的現象,其實跟書上寫 ...
- Database Meets AI: A Survey
文章目录 Abstract 1 INTRODUCTION 1.1 AI for DB Learning-based Database Configuration Learning-based Data ...
- Database And RDBMS Concept
What is Data? Data is information converted into binary digital form. A bit is the smallest unit of ...
最新文章
- JS 取消冒泡事件 兼容火狐IE
- FetchType.LAZY和FetchType.EAGER什么区别
- 关于FI凭证的字段状态
- java定义js函数_JS中可以先使用函数,然后再定义.
- Hiv:SQuirrel连接hive配置
- Java ObjectStreamClass lookup()方法与示例
- 《大数据》2015年第2期“前沿”——大数据技术发展的十个前沿方向(上)
- 景霄讲解Python部分内部实现
- gradle的配置文件build.gradle、gradle.properties、settings.gradle示例
- split和explode有什么区别?
- Linux学习第八篇之文件搜索命令find、locate、which、whereis、grep
- 汉宁窗+matlab,m汉宁窗hanning汉明窗hamming矩形窗-read.ppt
- 采购供应链管理系统:企业采购与供应链管理更简单、快捷
- 北京大学计算机学院刘利,信息科学学院 科研动态 深化新文科计算机教学改革,实施分类分层次教学体系研讨会在京召开...
- android播放幻灯片控件,android幻灯片控件PPT
- colormap保存 matlab_[转载]matlab的colormap的保存
- 阿里滑块 x82y x5sec本地dll 易语言
- 让我们来认识一下信号与系统的关系
- 【Android 应用】小白之签名文件的生成。
- 2022美亚杯第八届中国电子数据取证大赛-个人赛write up详解,软件就用弘连和美亚,尽量写的细致一点。建议入门看,仅为了解题,没有专业精神。专业选手去看后面推荐的两篇解析,都是大佬。