逻辑结构设计

上传人:飞*** 文档编号:52144313 上传时间:2018-08-18 格式:PPT 页数:62 大小:1.08MB
返回 下载 相关 举报
逻辑结构设计_第1页
第1页 / 共62页
逻辑结构设计_第2页
第2页 / 共62页
逻辑结构设计_第3页
第3页 / 共62页
逻辑结构设计_第4页
第4页 / 共62页
逻辑结构设计_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《逻辑结构设计》由会员分享,可在线阅读,更多相关《逻辑结构设计(62页珍藏版)》请在金锄头文库上搜索。

1、SLIDE 1逻辑结构设计6.4 逻辑结构设计 逻辑结构设计的任务:数据库逻辑设计的任务是将概念结构 转换成特定DBMS所支持的数据模型的过程 “Map ER Diagram to Relational Tables” 设计步骤: 初始关系模式设计 关系模式规范化 模式的评价与改进SLIDE 2逻辑结构设计SLIDE 3逻辑结构设计 初始关系模式设计:E-R图向关系模型的 转换 转换内容E-R图由实体、实体的属性和实体之间的联 系三个要素组成关系模型的逻辑结构是一组关系模式的集 合将E-R图转换为关系模型:将实体、实体的 属性和实体之间的联系转化为关系模式。SLIDE 4逻辑结构设计 转换原则

2、 一个实体集转换为一个关系模式。关系的属性关系的属性:实体集的属性关系的码关系的码:实体集的码例,学生实体可以转换为如下关系模式:学生(学号,姓名,出生日期,所在系,年 级,平均成绩)性别、宿舍、班级、档案材料、教师、课程、 教室、教科书都分别转换为一个关系模式。SLIDE 5逻辑结构设计Schema defines column heads of the table. Instance contains the data rows (called tuples or records) of the table. an attribute or a columnSLIDE 6逻辑结构设计Emp

3、loyeesssnname salCREATE TABLE Employees (ssn CHAR(11),name CHAR(20),sal FLOAT,PRIMARY KEY (ssn)attributeskey attributeEntity Sets to Tables(举例)SLIDE 7逻辑结构设计 一个m:n联系转换为一个关系模式。关系的属性关系的属性:与该联系相连的各实体 的码以及联系本身的属性关系的码关系的码:各实体码的组合例,“选修”联系是一个m:n联系,可以 将它转换为如下关系模式,其中学号与 课程号为关系的组合码:选修(学号,课程号,成绩)SLIDE 8逻辑结构设计Re

4、lationship Sets to TablesCREATE TABLE Works_In(ssn CHAR(11),did INTEGER,since DATE,PRIMARY KEY (ssn, did),FOREIGN KEY (ssn) REFERENCES Employees,FOREIGN KEY (did) REFERENCES Departments)dnamebudgetdidsince nameWorks_InDepartmentsEmployeesssnSLIDE 9逻辑结构设计 一个1:n联系可以转换为一个独立的关 系模式,也可以与n端对应的关系模式合 并。SLIDE

5、 10逻辑结构设计 考虑有参与限制( Participation Constraints )的问题 Must every department have a manager?If yes, this is a participation constraintAll Departments entities must participate in the Manages relationship set (total participation).lotnamedname budgetdidsince namedname budgetdidsinceManagesDepartmentsEmplo

6、yeesssnSLIDE 11逻辑结构设计CREATE TABLE Department(did INTEGER;dname CHAR(20),budget REAL,ssn CHAR(11) NOT NULL, / must have one!since DATE,PRIMARY KEY (did),FOREIGN KEY (ssn) REFERENCES Employees)lotnamedname budgetdidsince namedname budgetdidsinceManagesDepartmentsEmployeesssnSLIDE 12逻辑结构设计 一个1:1联系可以转换为

7、一个独立的关 系模式,也可以与任意一端对应的关系 模式合并。SLIDE 13逻辑结构设计注意:u从理论上讲,1:1联系可以与任意一端对应的 关系模式合并。u但在一些情况下,与不同的关系模式合并效率 会大不一样。因此究竟应该与哪端的关系模式 合并需要依应用的具体情况而定。u由于连接操作是最费时的操作,所以一般应以 尽量减少连接操作为目标。例如,如果经常要查询某个班级的班主任姓 名,则将管理联系与教师关系合并更好些。SLIDE 14逻辑结构设计5. 三个或三个以上实体间的一个多元联系转换 为一个关系模式。关系的属性关系的属性:与该多元联系相连的各实体的码以及联 系本身的属性 关系的码关系的码:各实

8、体码的组合SLIDE 15逻辑结构设计 Weak Entity Sets to Table(弱实体关系) 弱实体没有自己的码,必须依靠有依赖关系的另一方 必须存在于1:m的关系中 全部参与(total participation)nameagepnameDependentsEmployeesssnPolicycostSLIDE 16逻辑结构设计 CREATE TABLE Dependent_Policy (pname CHAR(20),age INTEGER,cost REAL,ssn CHAR(11) NOT NULL,PRIMARY KEY (pname, ssn),FOREIGN KEY

9、 (ssn) REFERENCES Employees ON DELETE CASCADE)nameagepnameDependentsEmployeesssnPolicycostSLIDE 17逻辑结构设计 ISA Hierarchies to TablesContract_Empsname ssnEmployeeslothourly_wages ISAHourly_Empscontractidhours_workedCREATE TABLE employees (ssn CHAR(11),name CHAR(20),lot INTEGER,PRIMARY KEY (ssn)CREATE T

10、ABLE hourly_emps (hourly_wages INTEGER,hours_worked INTEGER,ssn CHAR(11),PRIMARY KEY (ssn)FOREIGN KEY (ssn) REFERNECES employees ON DELETE CASCADE)SLIDE 18逻辑结构设计(6)注意not null 的使用 (7)弱实体的转换 (8)ISA的转换SLIDE 19逻辑结构设计 举例 要求设计一个关于机场航班信息的数据库,保存机 场唯一代码,机场名称,以及机场坐落的城市和洲 (city,state) 每一个航线(flight)有唯一代码,还包括航线计

11、 划(scheduled)起飞的日子,例如周一到周六, code就是X7 考虑一个航线(flight)会包括若干个segments( 飞行段),我们叫做flight legs,例如 flightnoCO1223是从纽约到洛杉机的航班,其中包 含2个fight legs:leg1 从纽约到休斯敦;leg2 从休斯敦到洛杉机。并且每一个fight leg都有起 飞和着地的时间安排(scheduled_time),及其相应 的指定机场。SLIDE 20逻辑结构设计一个leg instance是一个flight leg的实例,怎样 才算一个实例?必须指定事件发生的真实时间和真 实的地点( depart

12、ure_airport_code,dep_time,arrival_airp ort_code,arr_time)。还要包括每个航程(leg instance)可提供的座位数量和对应的飞机 (airplane_id)。 旅客可以预定每个航程的座位,需要保存他们的姓 名,电话和预定的座位数目 另外需要保存飞机和飞机型号的信息;对于型号( 比如,DC-10)需要保留名称,制造公司,最多的 座位数目信息。每个机场允许接受的飞机型号要存 放到数据库中;对于每个飞机来说需要保存它们的 id,座位数量,还有对应的型号。SLIDE 21逻辑结构设计AIRPORTFLIGHT_LEGDEP_AIRPOTTAR

13、R_AIRPORTLEGSFLGHTINSTANCE_OFLEG_INSTANCEScheduled_dep_timeScheduled_arr_timeLeg_noNumberAirlineWeekdaysAIRPLANETo be continuedDateNo_avail_seatsAirport_codeSLIDE 22逻辑结构设计 数据模型的优化 数据库逻辑设计的结果不是唯一的。 得到初步数据模型后,还应该适当地修改 、调整数据模型的结构,以进一步提高数 据库应用系统的性能,这就是数据模型的 优化。 关系数据模型的优化通常以规范化理论为 指导。SLIDE 23逻辑结构设计 确定数据依

14、赖 对于各个关系模式之间的数据依赖进行极小 化处理,消除冗余的联系。 按照数据依赖的理论对关系模式逐一进行分 析,考查是否存在部分函数依赖、传递函数依 赖、多值依赖等,确定各关系模式分别属于第 几范式。 按照需求分析阶段得到的各种应用对数据处 理的要求,分析对于这样的应用环境这些模式 是否合适,确定是否要对它们进行合并或分解 。SLIDE 24逻辑结构设计对于一个具体应用来说,到底规范化进行 到什么程度,需要权衡响应时间和潜在问 题两者的利弊才能决定。一般说来,第三 范式就足够了。 按照需求分析阶段得到的各种应用对数据处 理的要求,对关系模式进行必要的分解或合并 ,以提高数据操作的效率和存储空

15、间的利用率 。SLIDE 25物理设计6.5 物理设计 物理设计的任务:数据库在物理设备上的存储结构与存 取方法称为数据库的物理结构,它依 赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个 最适合应用环境的物理结构的过程, 就是数据库的物理设计。SLIDE 26物理设计SLIDE 27物理设计 DBMS常用存取方法索引方法,目前主要是B+树索引方法聚簇(Cluster)方法HASH方法SLIDE 28物理设计优点:可以大大提高查询效率,节省存 储空间SLIDE 29物理设计(2)索引(index) 选择索引存取方法的一般规则 如果一个(或一组)属性经常在查询条件中 出现,则考虑在这个(或

16、这组)属性上建立 索引(或组合索引) 如果一个属性经常作为最大值和最小值等 聚集函数的参数,则考虑在这个属性上建 立索引 如果一个(或一组)属性经常在连接操作的 连接条件中出现,则考虑在这个(或这组) 属性上建立索引SLIDE 30物理设计 几个有关存储数据的概念 A record is a tuple or a row in a relation table. Fixed-size records or variable-size records A file is a collection of records. Store one table per file, or multiple tables in the same file A page is a fixed length block of

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号