数据库设计原理
来源:互联网 发布:神魔诛天进阶数据 编辑:程序博客网 时间:2024/05/21 10:47
2016.12.6
十九.数据库设计原理
数据库设计要解决的两个问题:
(1)如何把数据组织到一组相关的表中?
(2)在每个表中应该放什么样的数据元素?
18.1 规范化
规范化的目标:
(1)消除冗余数据。
(2)消除插入、删除和更新异常。
规范化是指在数据库设计中消除冗余和更新异常所采取的一系列步骤,这些步骤通常称为第一范式,第二范式和第三范式等。当数据是第3范式的形式时,它已经足够规范了。
规范化数据的3个原则如下:
(1)消除重复数据,意味着不允许多值属性。若一个数据单元格中有多个值,会给数据检索造成问题。同时,不允许有重复的列。
(2)消除部分依赖,部分依赖就是指表中的数据和多个实体有关。这条规则表明表中没有列能够只和主键的一部分相关。表中的所有非键列指向的是整个键,而不是键的一部分。
(3)消除过度依赖。这条规则所指的情况就是表中的列指向的不是主键,而是指向的是同一表中的另一个非键的列。
18.2 数据库设计
数据库设计不止简单的走完规范化的过程,实际上是一种艺术,它需要结合业务问题来综合考虑。数据库的设计往往有多种可能,这取决于实际上如何访问和修改数据。可以通过提出问题来确定设计是否像需要的一样灵活和有意义。如:
(1)有其他的表需要添加到数据库中吗?
(2)可以把可能联合的列加到一起吗?
(3)如何区分旧数据?
(4)对数据有特殊的分析需求吗?
数据库设计必须和现实需求结合起来,数据库设计是一个平衡活,优秀的数据库设计不仅有足够的灵活性而且直观,易于理解。
18.3 规范化的替代方法
规范化是数据库设计中的重要原则,但是在某些情况下,切实可行的替代方案可能更合理。例如星型模式。
星型模式的主要思想是创建一个核心的事实表,该表和任意数目的维度表相关联。事实表包含了本质上是可以相加的所有定量数字。维度表包含了所有的实体信息。
此外,也有从星型数据库中创建数据立方。
- 数据库设计原理
- 数据库原理之数据库设计
- 数据库设计原理(转)
- 数据库原理(七)--数据库设计
- 理解sql数据库索引及设计原理
- Normal Form 范式 数据库设计原理
- 数据库原理与设计 --上机指导册
- 数据库原理与设计第五章作业
- 数据库系统原理设计--论坛系统
- 数据库索引的设计原理以及意义
- 数据库系统原理复习题(六)——数据库设计
- 数据库系统原理教程 第六章 数据库设计 习题集
- 数据库原理与设计(一)——初识数据库
- 数据库管理系统原理与设计 (目录)
- 分布式key-value数据库LightCloud的设计原理
- 数据库系统原理复习题(五)——规范化设计
- 数据库原理与设计P14习题1答案
- 数据库原理与设计——习题一
- 数据库基础概念
- python+selenium第二节课(python基础)
- java-三大特性之一封装性
- 《剑指offer》之链表、栈和队列专题
- 关于Java中子类调用父类方法
- 数据库设计原理
- 【备忘】安全中国JSP+Web+企业级应用开发实战培训班 共35课时
- 1j2ee的web工程,技术,归根究底,只有:html,JavaScript,后端java类 三种技术2后端参数在最终html中肯定会显式的显示出来,不然参数有什么用,参数即输出内容,就是给用户看的
- android 蓝牙文件
- 机器学习中的「特征工程」到底是什么?
- mysql设置密码
- 利用sslstrip和ettercap突破ssl嗅探密码
- 关于linux的http/ftp站点和升级镜像
- poj 2154 Color( polya 计数)