主题数据库设计逻辑结构设计张军29课件.pptx
主题:数据库设计-逻辑结构设计(主讲人:张军)
1逻辑结构设计逻辑结构设计是将概念结构设计阶段形成的概念模型(通常是E-R模型)转换为某个DBMS所支持的数据模型,并进行优化的过程。逻辑结构设计实现从信息世界到机器世界的转换。
2E-R模型向关系模型的转换在实际应用中,一般所用的数据库环境已经给定(如SQLServer或Oracle或MySql)。由于目前使用的数据库基本上都是关系数据库,因此首先需要将E-R模型转换为关系模型。关系模型的逻辑结构是一组关系模式的集合,而E-R图则是由实体、实体的属性和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是把实体、实体的属性和实体之间的联系转换为关系模式。
实体型的转换一个实体型——一个关系模式实体的属性——关系模式的属性实体的主码——关系模式的主码2E-R模型向关系模型的转换职工(职工编号,姓名,性别,业绩)
班级(班级编号,班级名称,人数)班长(学号,姓名,班级编号)或班级(班级编号,班级名称,人数,学号)班长(学号,姓名)2E-R模型向关系模型的转换联系的转换一对一联系:将一方的主码添加到另一方中。
班级(班级编号,班级名称,人数)学生(学号,姓名,性别,出生日期,籍贯,班级编号)2E-R模型向关系模型的转换联系的转换一对多联系:将一方的主码添加到多方中。
学生(学号,姓名,性别,出生日期,籍贯)课程(课程编号,课程名称,学分,学时)修选(学号,课程编号,成绩)2E-R模型向关系模型的转换联系的转换多对多联系:联系转换为一个关系模式,属性由联系的属性以及双方实体的主码组成。
2E-R模型向关系模型的转换联系的转换三个或三个以上实体间的多元联系的转换:三个或三个以上实体间的多元联系转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。具有相同码的关系的处理:具有相同码的关系可以合并。如果两个关系模式具有相同的主码,可以考虑将它们合并为一个关系模式。合并的方法是将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性,并适当调整属性的次序。
3数据模型的优化得到初步的数据模型后,还需要进行适当的修改、调整数据模型的结构,以进一步提高数据库应用系统的性能。关系数据模型的优化通常以规范化理论为指导。数据模型优化的方法:确定数据依赖对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系确定各关系模式分别属于第几范式分析对于应用环境这些模式是否合适,确定是否要对它们进行合并或分解对关系模式进行必要的分解或合并
3数据模型的优化可以通过判断分解后的模式达到几范式来评价模式的好坏。范式有:1NF、2NF、3NF、BCNF、4NF和5NF。通常,在数据库设计中,达到第三范式就可以了。(1)第一范式(1NF)设R是一个关系模式,如果R中的每个属性都是不可分解的,则称R是第一范式,记为R∈1NF。(2)第二范式(2NF)如果关系模式R是第一范式,且每个非码属性都完全依赖于码属性,则称R是第二范式,记为R∈2NF。(3)第三范式(3NF)如果关系模式R是第二范式,且没有一个非码属性传递依赖于码,则称R是第三范式,记为R∈3NF。
4设计用户外模式外模式是用户所看到的数据模式。在关系DBMS中,与用户相关的基表,加上按需定义的视图,就构成了一个用户的外模式。因此,设计用户外模式,就是根据需要定义视图。定义外模式时主要考虑以下几个方面:尽量使用符合用户习惯的命名。针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求。对复杂的查询操作,可以定义视图,简化用户对系统的使用。
谢谢大家!