《数据库系统原理》第七章 数据库设计.ppt

上传人:少林足球 文档编号:4180503 上传时间:2019-10-26 格式:PPT 页数:72 大小:761.50KB
返回 下载 相关 举报
《数据库系统原理》第七章 数据库设计.ppt_第1页
第1页 / 共72页
《数据库系统原理》第七章 数据库设计.ppt_第2页
第2页 / 共72页
《数据库系统原理》第七章 数据库设计.ppt_第3页
第3页 / 共72页
《数据库系统原理》第七章 数据库设计.ppt_第4页
第4页 / 共72页
《数据库系统原理》第七章 数据库设计.ppt_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《《数据库系统原理》第七章 数据库设计.ppt》由会员分享,可在线阅读,更多相关《《数据库系统原理》第七章 数据库设计.ppt(72页珍藏版)》请在三一文库上搜索。

1、,厦门大学计算机科学系 2017版,第七章 数据库设计 (2017版),厦门大学计算机科学系本科生课程 数据库系统原理,第七章 数据库设计,7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计 7.6 数据库实施和维护 7.7 小结,数据库设计概述(续),什么是数据库设计 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求) 在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统,第七章 数据库设计,7.1 数据库设计概述 7.2

2、 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计 7.6 数据库实施和维护 7.7 小结,7.1.1 数据库和信息系统,数据库是信息系统的核心和基础 把信息系统中大量的数据按一定的模型组织起来 提供存储、维护、检索数据的功能 使信息系统可以方便、及时、准确地从数据库中获得所需的信息 数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在 数据库设计是信息系统开发和建设的重要组成部分,数据库设计人员应该具备的技术和知识,数据库的基本知识和数据库设计技术 计算机科学的基础知识和程序设计的方法和技巧 软件工程的原理和方法 应用领域的知识,数据库设计的基本

3、步骤(续),二、数据库设计的过程(六个阶段) 需求分析阶段 准确了解与分析用户需求(包括数据与处理) 是整个设计过程的基础,是最困难、最耗费时间的一步,数据库设计的基本步骤(续),概念结构设计阶段 是整个数据库设计的关键 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,数据库设计的基本步骤(续),逻辑结构设计阶段 将概念结构转换为某个DBMS所支持的数据模型 对其进行优化,数据库设计的基本步骤(续),数据库物理设计阶段 为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法),数据库设计的基本步骤(续),数据库实施阶段 运用DBMS提供的数据语言、工具

4、及宿主语言,根据逻辑设计和物理设计的结果 建立数据库 编制与调试应用程序 组织数据入库 并进行试运行,数据库设计的基本步骤(续),数据库运行和维护阶段 数据库应用系统经过试运行后即可投入正式运行。 在数据库系统运行过程中必须不断地对其进行评价、调整与修改。,数据库各级模式的形成过程,逻辑 模式,内模式,数据库设计的基本步骤(续),逻辑设计阶段 首先将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式 然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据的外模式,数据库设计的基本步骤(续),物理设计阶段 根据DBMS特点和处理的需

5、要,进行物理存储安排,建立索引,形成数据库内模式,第七章 数据库设计,7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计 7.6 数据库实施和维护 7.7 小结,7.3.2 概念结构设计的方法与步骤,设计概念结构的四类方法 自顶向下 首先定义全局概念结构的框架,然后逐步细化,7.3.2 概念结构设计的方法与步骤,设计概念结构的四类方法 自底向上 首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构,概念结构设计的方法与步骤(续),逐步扩张 首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直

6、至总体概念结构,概念结构设计的方法与步骤(续),混合策略 将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。,概念结构设计的方法与步骤(续),常用策略 自顶向下地进行需求分析 自底向上地设计概念结构,需求,全局概念模式,概念结构设计的方法与步骤(续),自底向上设计概念结构的步骤 第1步:抽象数据并设计局部视图 第2步:集成局部视图,得到全局概念结构,需求分析,DFD DD,数据抽象、局 部视图的设计,分E-R图,视图集成,总E-R图,逻辑结构设计,7.3.3 数据抽象与局部视图设计,数据抽象 局部视图设计,一、数据抽象,概

7、念结构是对现实世界的一种抽象 从实际的人、物、事和概念中抽取所关心的共同特性,忽略非本质的细节 把这些特性用各种概念精确地加以描述 这些概念组成了某种模型,数据抽象(续),数据抽象的用途 对需求分析阶段收集到的数据进行分类、组织(聚集),形成 实体 实体的属性,标识实体的码 确定实体之间的联系类型(1:1,1:n,m:n),一、合并分E-R图,生成初步E-R图,各分图存在冲突 各个局部应用所面向的问题不同由不同的设计人员进行设计,各个分E-R图之间必定会存在许多不一致的地方 合并分E-R图的主要工作与关键所在:合理消除各分E-R图的冲突,合并分E-R图,生成初步E-R图(续),冲突的种类 属性

8、冲突 命名冲突 结构冲突,第七章 数据库设计,7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计 7.6 数据库实施和维护 7.7 小结,逻辑结构设计具体过程,逻辑结构设计,转化为一般数据模型,转化为特定DBMS支持下的据模型,优化模型,概念结 构设计,数据库 物理设计,基本E-R图,逻辑 模型,E-R图向关系模型的转换(续),转换内容 E-R图由实体、实体的属性和实体之间的联系三个要素组成 关系模型的逻辑结构是一组关系模式的集合 将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。,E-R图向关系模型的转换(

9、续),转换原则 一个实体型转换为一个关系模式。 关系的属性:实体型的属性 关系的码:实体型的码 例,有一个学生实体,学生实体可以转换为如下关系模式: 学生(学号,姓名,出生日期,所在系, 年级,平均成绩),E-R图向关系模型的转换(续), 一个m:n联系转换为一个关系模式 关系的属性: 与该联系相连的各实体的码以及联系本身的属性 关系的码: 各实体码的组合 例,“选修”联系是一个m:n联系,它的E-R图为:,E-R图向关系模型的转换(续),按照上面规则可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:,选修(学号,课程号,成绩),E-R图向关系模型的转换(续), 一个1:n联系可以转

10、换为一个独立的关系模式,也可以与n端对应的关系模式合并。 1) 转换为一个独立的关系模式 关系的属性: 与该联系相连的各实体的码以及联系本身的属性 关系的码: n端实体的码,E-R图向关系模型的转换(续), 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并 2) 与n端对应的关系模式合并 合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性 合并后关系的码:不变 可以减少系统中的关系个数,一般情况下更倾向于采用这种方法,E-R图向关系模型的转换(续),例,“组成”联系为1:n联系。 将其转换为关系模式的两种方法: 1)使其成为一个独立的关系模式: 2)将其学

11、生关系模式合并:,组成(学号,班级号),学生(学号,姓名,出生日期,所在系, 年级,班级号,平均成绩),E-R图向关系模型的转换(续), 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并 1) 转换为一个独立的关系模式 关系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的候选码:每个实体的码均是该关系的候选码,E-R图向关系模型的转换(续), 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 2) 与某一端对应的关系模式合并 合并后关系的属性:加入对应关系的码和联系本身的属性 合并后关系的码:不变,E-R图向关系模型的转换

12、(续),例,“管理”联系为1:1联系,可以有三种转换方法: (1)转换为一个独立的关系模式:,管理(职工号,班级号) 或 管理(职工号,班级号),班级,管理,教师,1,1,例,“管理”联系为1:1联系,可以有三种转换方法: (2)“管理”联系与班级关系模式合并,则只需在班级关系中加入教师关系的码,即职工号:,班级:(班级号,学生人数,职工号),E-R图向关系模型的转换(续),班级,管理,教师,1,1,E-R图向关系模型的转换(续),例,“管理”联系为1:1联系,可以有三种转换方法: (3)“管理”联系与教师关系模式合并,则只需在教师关系中加入班级关系的码,即班级号:,教师:(职工号,姓名,性别

13、,职称,班级号, 是否为优秀班主任),班级,管理,教师,1,1,E-R图向关系模型的转换(续),注意: 从理论上讲,1:1联系可以与任意一端对应的关系模式合并 但在一些情况下,与不同的关系模式合并效率会大不一样。因此究竟应该与哪端的关系模式合并需要依应用的具体情况而定 由于连接操作是最费时的操作,所以一般应以尽量减少连接操作为目标 例如,如果经常要查询某个班级的班主任姓名,则将管理联系与教师关系合并更好些,E-R图向关系模型的转换(续), 三个或三个以上实体间的一个多元联系转换为一个关系模式。 关系的属性:与该多元联系相连的各实体的码以及联系本身的属性 关系的码:各实体码的组合,例,“讲授”联

14、系是一个三元联系,E-R图向关系模型的转换(续),“讲授”联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、职工号和书号为关系的组合码: 讲授(课程号,职工号,书号,课时),E-R图向关系模型的转换(续), 同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。 例,如果教师实体集内部存在领导与被领导的1:n自联系,E-R图向关系模型的转换(续),教师实体集内部存在领导与被领导的1:n自联系,我们可以将该联系与教师实体合并,这时主码职工号将多次出现,但作用不同,可用不同的属性名加以区分: 教师:职工号,姓名,性别,职称,系主任职工号,E-R图向关系模型

15、的转换(续), 具有相同码的关系模式可合并 目的:减少系统中的关系个数 合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序,第七章 数据库设计,7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计 7.6 数据库实施和维护 7.7 小结,什么是数据库的物理设计 数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统 为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计,7.5 数据库的物理设计,7

16、.5 数据库的物理设计,数据库物理设计的步骤 确定数据库的物理结构 对物理结构进行评价,评价的重点是时间和空间效率 如果评价结果满足原设计要求则可进入到物理实施阶段,否则,就需要重新设计或修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。,物理设计过程,数据库物理设计,确定数据库的物理结构,评价数据库的物理结构,逻辑结 构设计,数据库 实施,物理 模型,逻辑 模型,7.5.2 关系模式存取方法选择,数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。 物理设计的第一个任务就是要确定选择哪些存取方法,即建立哪些存取路径。,关系模式存取方法选择(续),DB

17、MS常用存取方法 索引方法,目前主要是B+树索引方法 聚簇(Cluster)方法 HASH方法,一、索引存取方法的选择,选择索引存取方法的主要内容 根据应用要求确定 对哪些属性列建立索引 对哪些属性列建立组合索引 对哪些索引要设计为唯一索引,索引存取方法的选择(续),选择索引存取方法的一般规则 如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引) 如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引 如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引,索引存取方法的选择(续),关系上定义

18、的索引数过多会带来较多的额外开销 维护索引的开销 查找索引的开销,建立聚簇索引,聚簇索引 建立聚簇索引后,基表中数据也需要按指定的聚簇属性值的升序或降序存放。也即聚簇索引的索引项顺序与表中元组的物理顺序一致。 例: CREATE CLUSTER INDEX Stusname ON Student(Sname); 在Student表的Sname(姓名)列上建立一个聚簇索引,而且Student表中的记录将按照Sname值的升序存放,建立聚簇索引,在一个基本表上最多只能建立一个聚簇索引 聚簇索引的用途:对于某些类型的查询,可以提高查询效率 聚簇索引的适用范围 很少对基表进行增删操作 很少对其中的变长

19、列进行修改操作,第七章 数据库设计,7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计 7.6 数据库实施和维护 7.7 小结,7.6 数据库的实施和维护,数据库实施的工作内容 用DDL定义数据库结构 组织数据入库 编制与调试应用程序 数据库试运行,数据库实施,定义数据库结构,数据 装载,数据库物 理设计,数据库运 行和维护,物理 模型,编制与调试应用程序,数据库 系统,7.6 数据库的实施过程,第七章 数据库设计,7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计 7.6

20、数据库实施和维护 7.7 小结,7.7 小结,数据库的设计过程 需求分析 概念结构设计 逻辑结构设计 物理设计 实施 运行维护 设计过程中往往还会有许多反复。,小结(续),数据库各级模式的形成 数据库的各级模式是在设计过程中逐步形成的 需求分析阶段综合各个用户的应用需求(现实世界的需求)。 概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。,小结(续),在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。 在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。,小结(续),整个数据库设计过程体现了结构特征与行为特征的紧密结合。,小结(续),目前很多DBMS都提供了一些辅助工具(CASE工具),为加快数据库设计速度,设计人员可根据需要选用。 例如需求分析完成之后,设计人员可以使用ORACLE DESIGNER 画E-R图,将E-R图转换为关系数据模型,生成数据库结构;画数据流图,生成应用程序。,实时主动数据仓库相关问题研究,Department of Computer Science, Xiamen University, 2017,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1