数据库设计需要三个层次,迭代进行,现在简述如下,作为备份,以防日后忘记。
概念建模:
1.抽象实体(借助于需求中的名词)
2.抽象关系(借助于需求中的动词)
3.抽象对重性
4.抽新属性,并映射到是实体
5.定义属性的作用域,初始值默认值
6.定义实体的主键,候选键
7.检查关系,确保没有冗余
8.确定概念模型可以满足所有的事物需求
逻辑建模:
1.去除与指定数据库模型不兼容的属性,将其转换成兼容的属性。
如DBMS中没有多对多,自相关多对多,多重关系(一个关系存在两个以上的实体)和多重属性,你需要将其转换成
DBMS支持的形式。*
2.使用DBDL(Database Definition Language)将概念模型转化成逻辑模型*
3.使用三范式检查逻辑模型。*
4.确定逻辑模型可以满足所有需求。*
5.完整性约束(如删除更行级联等等)
6.局部数据库模型融合到全局数据库模型(如果只有一个视图,就不需要融合)
物理建模:
1.将逻辑数据模型在目标DBMS上实现
2.设计索引,触发器和存储过程,分析事物,选择文件存储结构,统计所需磁盘空间。
3.设计视图
5.设计安全性
6.反范式,提高性能。
DBMS三范式:
1.每一个数据单元中只能有且只有一个数据;
2.每一个实体中的非主键属性完全依赖于主键;(如果主键只由一个属性组成,这一条属性绝对成立)
3.每一个实体中的非主键属性不是传递依赖与主键。
满足范式,减少冗余。