2.4 第三步——定义码
通过引入交叉实体除去上一阶段产生的非确定关系,然后从非交叉实体和独立实体开始标识侯选码属性 , 以便唯一识别每个实体的实例,再从侯选码中确定主码 。为了确定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体实例的一个属性不能是空值,也不能在同一个时刻有一个以上的值 。找出误认的确定关系,将实体进一步分解,最后构造出IDEF1X模型的键基视图(KB图) 。
2.5 第四步——定义属性
从源数据表中抽取说明性的名词开发出属性表 , 确定属性的所有者 。定义非主码属性,检查属性的非空及非多值规则 。此外,还要检查完全依赖函数规则和非传递依赖规则,保证一个非主码属性必须依赖于主码、整个主码、仅仅是主码 。以此得到了至少符合关系理论第三范式的改进的IDEF1X模型的全属性视图 。
2.6 第五步——定义其他对象和规则
定义属性的数据类型、长度、精度、非空、缺省值、约束规则等 。定义触发器、存储过程、视图、角色、同义词、序列等对象信息 。
3. 逻辑结构设计阶段
将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化 。设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS 。
将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:
1)一个实体型转换为一个关系模式 。实体的属性就是关系的属性 。实体的码就是关系的码 。
2)一个m:n联系转换为一个关系模式 。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性 。而关系的码为各实体码的组合 。
3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并 。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码 。
4)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并 。
5)三个或三个以上实体间的一个多元联系转换为一个关系模式 。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性 。而关系的码为各实体码的组合 。
6)同一实体集的实体间的联系,即自联系 , 也可按上述1:1、1:n和m:n三种情况分别处理 。
7)具有相同码的关系模式可合并 。
为了进一步提高数据库应用系统的性能,通常以规范化理论为指导,还应该适当地修改、调整数据模型的结构,这就是数据模型的优化 。确定数据依赖 。消除冗余的联系 。确定各关系模式分别属于第几范式 。确定是否要对它们进行合并或分解 。一般来说将关系分解为3NF的标准,即:
表内的每一个值都只能被表达一次 。
??表内的每一行都应该被唯一的标识(有唯一键) 。
表内不应该存储依赖于其他键的非键信息 。
4. 数据库物理设计阶段
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法) 。根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式 。
5. 数据库实施阶段
运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行 。数据库实施主要包括以下工作:用DDL定义数据库结构、组织数据入库 、编制与调试应用程序、数据库试运行 6. 数据库运行和维护阶段
推荐阅读
- 毕业设计简易计算器,毕业设计 算法
- 苹果8cpu等于高通什么cpu的简单介绍
- cf适合什么cpu,cf适合什么显示器
- 鲁智深直播卖货,鲁智深讲故事主播
- C语言中函数max c语言中函数的数据类型是指
- 昆明erp系统方案,云南使用erp的企业
- sama显卡怎么取,显卡怎么拔下来
- mysql工资表怎么创建 mysql创建员工表格
- 求解直方图java代码,直方图处理