这是一个由阿努姆洛德 ,谁在软件设计极大的兴趣客人岗位
正如您需要的蓝图,盖房子,你需要一个数据库蓝图,以实现一个数据库成功。对后者的建设过程称为'设计阶段',其中包括一个为最终重一些步骤产品采取灵活态度。 这一阶段的信息来界定(+结构),将进入数据库,所作的假设有关的类型或数据项的值与在数据库之间的数据项的关系。 所有专业公司使用此过程设计的数据库及其最有效的方法。
它包括四个步骤:
1。 需求分析
该数据库的要求决定的。 这是自该系统用户的具体要求是captured.All相关信息相关的系统收集。 六个最常用的技术是:
- 采样的现有文件,表格,数据库
- 研究和实地考察
- 观察工作环境
- 问卷
- 原型,建立用户的要求,小模型验证前手
- 联合需求计划(需求规划) - 组会议进行分析存在的问题
2。 实体关系图(ERD的)
ERD的是表达高水平的数据库设计符号。 它生动地界定了一个很简单的和可理解的方式通过符号使用该数据库的结构。
在'需求分析:第一步是收集的信息将ERD的(实体关系图),它的数据转换成实体的组织以及它们之间的关系。 因此,通过长时间的材料,而不是一块去,我们拥有的资料更加易于阅读,同一块图案的代表性。
样本ER图是这样的:

(图片来自维基百科 )
各种数据建模语言可以用来创建一个像乌鸦的脚符号的ERD,陈符号,Idefix号(定义为信息集成建模),底纹符号,巴赫曼符号,UML(统一建模语言)标准等百科有一个很好的网页对急诊室图在这里
3。 关系模型
这是很容易理解的ERD的情况,但后者是从执行的角度薄弱点。 子类的概念协议(IS -甲结构)和关系,例如,无法实施直接在数据库中。此时关系模型发挥作用的地方。
阿关系模型采用了单一的概念表(也称关系)。实体集和描绘的ERD的关系转换成表,关系模型。
有5个转换步骤:
- 打开每个非弱实体到相应的表设置相同的属性集
- 替换关系的一种关系,其属性是连接实体设置键
- 有些关系能做好,如果合并或排除在外。 例如(对弱实体集)支持的关系不必将转换为关系的。
- 替换弱实体的一种关系,其属性是它自己的属性设置(如有),加上借来的属性,有助于提高其行动的主键。
- 转换为使用对象导向的方法,电子/ R风格转换或空值的子结构。
ER图转换为关系模型的解释,将不会在这个职位涉及广大的概念。 有很多很好的书籍和网上资源,使得它很容易理解。 对于概述认为这是我从维基百科所采取的例子:
一个理想化,很简单的例子约relvars和它们的属性的描述:
- 客户( 客户ID,税号,名称,地址,城市,州,邮编,电话)
- 订单( 订单不 , 客户ID,发票编号 ,日期置于日期承诺,条款,状态)
- 订购行( 号令 , 命令行不 , 产品代码 ,数量)
- 发票( 发票编号 , 客户编号 , 订单编号 ,日期,状态)
- 发票线( 无发票 , 无发票线 , 产品代码 ,数量发货)
- 产品( 产品编号 ,产品描述)
在这个设计 ,我们有六个relvars:客户,订单,订单行,发票,发票线和产品。 大胆的,强调属性候选键 。 非粗体,下划线属性外键 。
4。 规范化
规范化是一种正常形式增加评审过程。它消除了以下主要依赖,以避免重复和数据异常:
- 部分依赖:根据主键的一部分
- 传递依赖:基于属性不是主键的一部分
前三个规范化形式:
- 1nF的
- 最低可执行范式
- 主键实体完整性要求得到满足
- 每个单元包含一个值
- 非主键的值是主键依赖
- 2NF
- 所有1nF的条件得到满足
- 部分
依赖被删除
- 3NF的
- 所有条件都满足2Nf
- 传递依赖删除
高级的形式到5NF和范式( 博伊斯,科德范式)也存在。
正常化可以应用在两个方面:
- 申请表格后正常关系模型的创建
- 第三步是跳过了表的创建与直接进行审议正常化
daleeman博客有一个关于数据库正常化非常好的职位。 阅读: 数据库规范化的实际应用 ,将帮助您详细了解数据库标准化。

















