《第六章-数据库设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《第六章-数据库设计ppt课件.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物第第6章章 数据库设计数据库设计 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.1 数据库设计概述数据库设计概述6.2 系统需求分析系统需求分析 6.3 概念结构设计概念结构设计6.4 逻辑结构设计逻辑结构设计6.5 物理结构设计物理结构设计6.6 数据库的实施、运行和维护数据库的实施、运行和维护我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界
2、里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.1 数据库设计概述数据库设计概述 6.1.1 数据库设计的任务、内容和特点数据库设计的任务、内容和特点 1. 数据库设计的任务数据库设计的任务 数据库设计是指根据用户需求研制数据库结构数据库设计是指根据用户需求研制数据库结构的过程的过程2.数据库设计的内容数据库设计的内容 结构设计结构设计行为设计行为设计数据库的模式或子模式的设计数据库的模式或子模式的设计概念设计、逻辑设计和物理设计概念设计、逻辑设计和物理设计稳定的,不易改变稳定的,不易改变 用户对数据库的操作用户对数据库的操作应用程序的设计应用程序的设计 我吓了一跳,蝎子是
3、多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物3.数据库设计的特点数据库设计的特点 是强调结构设计与行为设计相结合是强调结构设计与行为设计相结合是一种是一种“反复探寻,逐步求精反复探寻,逐步求精”的过程的过程以数据模型为核心,将数据设计与应用系统以数据模型为核心,将数据设计与应用系统设计相结合设计相结合我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.1.2 数据库设计方法简述数据库设计方法简述 直观设计直观设计 规范设计法规范设计法
4、 计算机辅助设计法计算机辅助设计法 自动化设计法自动化设计法 规范设计方法:规范设计方法:1.基于基于E-R模型的数据库设计方法模型的数据库设计方法由由E-R图构造图构造2.基于基于3NF的数据库设计方法的数据库设计方法 由单一模式分解成符合由单一模式分解成符合3NF的关系模式集合的关系模式集合3.基于视图的数据库设计方法基于视图的数据库设计方法为每个应用建立视图,再将视图汇总为每个应用建立视图,再将视图汇总 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.1.3 数据库设计的步骤数据库设计的步骤 按规
5、范设计法可将数据库设计分为六个阶段按规范设计法可将数据库设计分为六个阶段 1系统需求分析阶段系统需求分析阶段 2概念结构设计阶段概念结构设计阶段 3逻辑结构设计阶段逻辑结构设计阶段 4物理结构设计阶段物理结构设计阶段 5数据库实施阶段数据库实施阶段 6数据库运行与维护阶段数据库运行与维护阶段 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.2 系统需求分析系统需求分析 6.2.1 需求分析的任务需求分析的任务 需求分析的任务:对现实世界要处理的对象需求分析的任务:对现实世界要处理的对象进行详细的调查,通
6、过对原系统的了解,收进行详细的调查,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能在此基础上确定新系统的功能 。1.调查分析用户活动调查分析用户活动2.收集和分析需求数据,确定系统边界收集和分析需求数据,确定系统边界信息需求,处理需求,安全性和完整性需求信息需求,处理需求,安全性和完整性需求3.编写系统分析报告编写系统分析报告 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.2.2 需求分析的方法需求分析的方法 自顶向下、自底
7、向上自顶向下、自底向上 (a) 自顶向下的需求分析 (b) 自底向上的需求分析 需求 需求 需求 需求 需求 需求 需求 需求 需求 需求 需求 需求 需求 需求 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物自顶向下自顶向下(SA)方法从最上层的系统组织机构入方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统手,采用逐层分解的方式分析系统用数据流图和数据字典描述系统。用数据流图和数据字典描述系统。 1.数据流图数据流图 :描述:描述输入数据到输出数据的变换输入数据到输出数据的变换过程。过程。数据
8、流:由一组固定成分的数据组成,代表数据的流动方向处理:描述了输入数据到输出数据的变换文件:用于存储数据源或宿:存在于系统之外的人员或组织,表示系统输入数据的来源和输出数据的去向我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物付款凭证付款凭证报销单报销单报销登记报销登记报销人报销人审查审查分录分录图图6.7 数据流图示例数据流图示例当系统比较复杂时,可采用分层描述的方当系统比较复杂时,可采用分层描述的方法,分别画出各子系统的数据流图,还可法,分别画出各子系统的数据流图,还可以继续细化,形成若干层次的数据流图以
9、继续细化,形成若干层次的数据流图我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物档案管理系统数据流图档案管理系统数据流图业务流程:业务流程:职工职工填写填写档案表档案表,人事部门人事部门对对档案表进行审核,档案表进行审核,合格的档案表合格的档案表加入档案加入档案册中。档案册可供册中。档案册可供查询查询和进行和进行统计统计。人事。人事部门有权对档案表进行修改和删除。部门有权对档案表进行修改和删除。人事档案管理系统顶层图(只有一个处理)人事档案管理系统顶层图(只有一个处理)职工职工档案管档案管理系统理系统人事人
10、事部门部门档案表档案表不合格档案表不合格档案表统计报表统计报表人事资料人事资料我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物人事档案管理系统人事档案管理系统0层图(分解顶层图处理)层图(分解顶层图处理)职工职工1 1收集数据收集数据2 2处理数据处理数据3 3利用数据利用数据人事部门人事部门未审核人未审核人事数据事数据人事档案人事档案报表报表档案表档案表人事数据人事数据人事数据人事数据报表报表人事资料人事资料不合格档案表不合格档案表未审核数据未审核数据统计报表统计报表我吓了一跳,蝎子是多么丑恶和恐怖的东西
11、,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物图图2:处理:处理2 处理数据分解处理数据分解2.12.1审核数据审核数据2.22.2维护数据维护数据人事档案人事档案未审核数据未审核数据人事数据人事数据人事数据人事数据处理处理2业务:业务:对档案表进行审核,对档案表进行审核,合格的档案表合格的档案表加入档加入档案册中。档案册可供案册中。档案册可供查询查询和进行和进行统计统计不合格档案表不合格档案表我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物维护数据功能:
12、维护数据功能:增加,修改,删除,查询增加,修改,删除,查询图图2.2:处理:处理2.2 维护数据分解维护数据分解2.2.12.2.1增加增加2.2.22.2.2修改修改2.2.32.2.3删除删除2.2.42.2.4查询查询人事档案人事档案人事数据人事数据人事数据人事数据人事数据人事数据人事数据人事数据我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物处理处理3业务:业务:汇总数据,统计数据,分析数据,打印报表汇总数据,统计数据,分析数据,打印报表图图3:处理:处理3 利用数据分解利用数据分解人事档案人事档案
13、3.13.1汇总数据汇总数据3.23.2统计数据统计数据3.33.3分析数据分析数据3.43.4打印报表打印报表报表报表人事数据人事数据人事数据人事数据人事数据人事数据汇总数据汇总数据统计数据统计数据分析数据分析数据报表报表我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2.数据字典数据字典 数据字典是对系统中数据的详细描述,数据数据字典是对系统中数据的详细描述,数据流图中出现的数据流,处理,文件等的说明流图中出现的数据流,处理,文件等的说明数据流图中的每个元素均与数据字典的一个数据流图中的每个元素均与数据
14、字典的一个条目相对应条目相对应数据字典通常包含以下五部分内容:数据字典通常包含以下五部分内容:数据项数据项 数据的最小单位,包括数据项名,含义,数据的最小单位,包括数据项名,含义,类型,长度,范围,与其他数据项的关系类型,长度,范围,与其他数据项的关系 数据结构数据结构 有意义的数据项集合,包括数据结构名,有意义的数据项集合,包括数据结构名,含义,组成的数据项名含义,组成的数据项名我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物数据流数据流 数据存储数据存储 处理过程处理过程 处理过程中数据在系统内的传输路
15、径,包处理过程中数据在系统内的传输路径,包括数据流名,说明,流出,流入括数据流名,说明,流出,流入对系统中的处理进行描述,包括处理过程对系统中的处理进行描述,包括处理过程名,说明,输入数据流,输出数据流名,说明,输入数据流,输出数据流系统中数据的存放,包括数据存储名,说系统中数据的存放,包括数据存储名,说明,输入数据流,输出数据流,数据项或明,输入数据流,输出数据流,数据项或数据结构,数据量,存储频度,存取方式数据结构,数据量,存储频度,存取方式我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物人事档案管理系
16、统人事档案管理系统数据字典(部分)数据字典(部分)1.数据流数据流名称:档案表名称:档案表别名:履历表别名:履历表简述:记录职工的个人基本信息简述:记录职工的个人基本信息数据流组成:档案表数据流组成:档案表=工号工号+姓名姓名+性别性别+出生日期出生日期+民族民族+籍贯籍贯+婚姻状况婚姻状况+学历学历+参加工作时间参加工作时间+简历简历+照片照片数据来源:加工数据来源:加工2.2.1,员工填写审核合格后新增,员工填写审核合格后新增我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.3 概念结构设计概念结构设
17、计 概念结构设计:将需求分析得到的用户需求概念结构设计:将需求分析得到的用户需求抽象为信息结构,即概念模型。抽象为信息结构,即概念模型。概念模型的特点概念模型的特点 E-R模型模型是最著名、最实用的一种是概念模是最著名、最实用的一种是概念模型。型。语义表达能力丰富语义表达能力丰富 易于交流和理解易于交流和理解 易于修改和扩充易于修改和扩充 易于向各种数据模型转换易于向各种数据模型转换 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.3.3 概念结构设计的方法与步骤概念结构设计的方法与步骤 1.概念结构设
18、计的方法概念结构设计的方法 自顶向下自顶向下 自底向上自底向上 逐步扩张逐步扩张 混合策略混合策略 2.概念结构设计的步骤概念结构设计的步骤 局部局部E-R模型模型 全局全局E-R模型模型 抽象抽象 集成集成 需求分析数据需求分析数据 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物需求分析需求分析DFD,DD数据抽象,数据抽象,局部视图设计局部视图设计视图集成视图集成逻辑结构设计逻辑结构设计局部局部E-R图图全局全局E-R图图征求征求用户用户意见意见我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这
19、样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物第一步:数据抽象与局部第一步:数据抽象与局部E-RE-R模型设计模型设计 (1 1)E-RE-R方法:建立方法:建立E-RE-R图图(2 2)数据抽象)数据抽象 在多层数据流图中选择一个适当层次作为设在多层数据流图中选择一个适当层次作为设计计E-RE-R图的出发点图的出发点确定每个局部应用包含哪些实体,实体包含确定每个局部应用包含哪些实体,实体包含哪些属性,实体之间的联系哪些属性,实体之间的联系划分实体和属性的方法:划分实体和属性的方法: 分类分类 聚集聚集 将一组具有某些共同特性和行为的对象将一组具有某些共同特性
20、和行为的对象抽象为一个实体抽象为一个实体 将对象类型的组成成份抽象为属性将对象类型的组成成份抽象为属性 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(3)局部)局部E-R模型设计模型设计 两条原则两条原则 : 属性必须是不可分的数据项属性必须是不可分的数据项 ,不能再由放弃不能再由放弃他属性组成。他属性组成。 属性不能与其他实体具有联系,联系只能属性不能与其他实体具有联系,联系只能发生在实体之间。发生在实体之间。 为简化为简化E-R图,凡是能作为属性对待的,图,凡是能作为属性对待的,尽量作为属性尽量作为
21、属性1系系属属于于学生学生m学号学号姓名姓名性别性别年龄年龄系名系名电话电话系主任系主任办 公 地办 公 地点点我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物举例:在简单的教务管理系统,需求如下:举例:在简单的教务管理系统,需求如下: 一个一个学生可选修多门课程,一门课程可为多个学生选修,学生可选修多门课程,一门课程可为多个学生选修,因此学生和课程是多对多的联系。因此学生和课程是多对多的联系。 一个教师可讲一个教师可讲授多门课程,一门课程可为多个教师讲授,因此教师授多门课程,一门课程可为多个教师讲授,因此
22、教师和课程也是多对多的联系。和课程也是多对多的联系。 一个系可有多个教师,一个系可有多个教师,一个教师只能属于一个系,因此系和教师是一对多的一个教师只能属于一个系,因此系和教师是一对多的联系,同样系和学生也是一对多的联系。联系,同样系和学生也是一对多的联系。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 选修 1 名称 系 拥有 1 学生 学号 姓名 性别 年龄 开课 课程 教师号 课程号 课程名 成绩 平均成绩 m m m n 学生选课局部学生选课局部E-R图图 我吓了一跳,蝎子是多么丑恶和恐怖的东西
23、,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 姓 名 1 m 教师号 姓名 职称 课程号 教师 讲授 课程 n 属于 单位 单位名 电话 m 性别 教师任课局部教师任课局部E-R图图 形成局部形成局部E-R图后,要征求用户意见图后,要征求用户意见我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物第二步:全局第二步:全局E-R模型设计模型设计 集成各局部集成各局部E-R模型,形成全局模型模型,形成全局模型视图集成的方法有两种:视图集成的方法有两种: 多元集成
24、法,一次性将多个局部多元集成法,一次性将多个局部E-R图图合并为一个全局合并为一个全局E-R图。图。 二元集成法二元集成法,首先集成两个重要的局部,首先集成两个重要的局部E-R图,以后用累加的方法逐步将一个新图,以后用累加的方法逐步将一个新的的E-R图集成进来。图集成进来。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物局部局部E-R图图合并合并(消除冲突)(消除冲突)初步初步E-R图图(1)合并)合并合并局部合并局部E-R图,消除冲突,生成初步图,消除冲突,生成初步E-R图图合并的关键是合理消除各局部合并
25、的关键是合理消除各局部E-R图的冲突图的冲突我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物冲突分类冲突分类冲突冲突属性冲突属性冲突 命名冲突命名冲突 结构冲突结构冲突 值域值域 冲突冲突 取值取值单位单位 冲突冲突 同名同名 异义异义 异名异名 同义同义 同一对同一对象在不象在不同应用同应用中有不中有不同抽象同抽象 同一实同一实体在不体在不同应用同应用中属性中属性组成不组成不同同 同一联同一联系在不系在不同应用同应用中呈现中呈现不同类不同类型型 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一
26、个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物合并教务管理系统中学生选课和教师任课局合并教务管理系统中学生选课和教师任课局部部E-R模型,生成初步模型,生成初步E-R图图 选修 1 名称 系 拥有 1 学生 学号 姓名 性别 年龄 开课 课程 教师号 课程号 课程名 成绩 平均成绩 m m m n 学生选课局部学生选课局部E-R图图 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 姓 名 1 m 教师号 姓名 职称 课程号 教师 讲授 课程 n 属于 单位 单位名 电话 m
27、性别 教师任课局部教师任课局部E-R图图 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(2)优化)优化消除初步消除初步E-R图中不必要的冗余,生成基本图中不必要的冗余,生成基本E-R图图冗余数据:可由基本的数据导出的数据冗余数据:可由基本的数据导出的数据冗余联系:可由基本的联系导出的联系冗余联系:可由基本的联系导出的联系初步初步E-R图图优化优化(消除冗余)(消除冗余)基本基本E-R图图分析分析规范化理论规范化理论我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到
28、愉快,证实我的猜测没有错:表里边有一个活的生物图图6.17教务管理系统的初步教务管理系统的初步ER图图mn1系系属属于于教师教师拥拥有有学生学生开开课课讲授讲授选选修修课程课程mmnm1m1学号学号姓姓名名性别性别年龄年龄平均成绩平均成绩成绩成绩教师教师号号课程课程号号课程课程名名教师教师号号 姓名姓名性别性别职称职称系名系名电话电话我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物图图6.17教务管理系统的初步教务管理系统的初步ER图图mn1系系属属于于教师教师拥拥有有学生学生开开课课讲授讲授选选修修课程课
29、程mmnm1m1学号学号姓姓名名性别性别年龄年龄平均成绩平均成绩成绩成绩教师教师号号课程课程号号课程课程名名教师教师号号 姓名姓名性别性别职称职称系名系名电话电话我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物图图6.18教务管理系统的基本教务管理系统的基本ER图图n1系系属属于于教师教师拥拥有有学生学生讲讲授授选选修修课程课程mmnm1m学号学号姓名姓名性别性别年龄年龄成绩成绩课程课程号号课程名课程名教师号教师号 姓名姓名性别性别职称职称系名系名电话电话我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放
30、在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.4 逻辑结构设计逻辑结构设计 初始关系模式设计初始关系模式设计 关系模式规范化关系模式规范化 模式评价模式评价 是否修正是否修正以以DBMS语言描述语言描述 模式改进模式改进 是是否否 逻辑设计的任务是将概念模型转换成特定逻辑设计的任务是将概念模型转换成特定DBMS所支持的数据模型的过程所支持的数据模型的过程我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.4.2 初始关系模式设计初始关系模式设计 1.转换原则转换原则
31、 逻辑设计的结果是一组关系模式的集合逻辑设计的结果是一组关系模式的集合就是将就是将E-R图中的实体、属性和联系转换成关图中的实体、属性和联系转换成关系模式。系模式。 在转换中要遵循以下原则:在转换中要遵循以下原则:(1)一个实体转换为一个关系模式)一个实体转换为一个关系模式 实体的属性就是关系的属性实体的属性就是关系的属性 实体的键就是关系的键。实体的键就是关系的键。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(2)一个联系转换为一个关系模式)一个联系转换为一个关系模式 与该联系相连的各实体的键以及联系
32、的属性均与该联系相连的各实体的键以及联系的属性均转换为该关系的属性转换为该关系的属性 联系关系的键有三种情况:联系关系的键有三种情况:如果联系为如果联系为1:1,则每个实体的键都是关系,则每个实体的键都是关系的候选键;的候选键;如果联系为如果联系为1:n,则,则n端实体的键是关系的键端实体的键是关系的键如果联系为如果联系为n:m,则各实体键的组合是关系,则各实体键的组合是关系的键。的键。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例例6-1 将图将图6-18的的E-R图中的实体和关系分图中的实体和关系
33、分别转换成关系模式别转换成关系模式学生(学生(学号学号,姓名,性别,年龄),姓名,性别,年龄)课程(课程(课程号课程号,课程名),课程名)教师(教师(教师号教师号,姓名,性别,职称),姓名,性别,职称)系(系(系名系名,电话),电话)属于(属于(教师号教师号,系名),系名)讲授(讲授(教师号,课程号教师号,课程号)选修(选修(学号,课程号学号,课程号,成绩),成绩)拥有(系名,拥有(系名,学号学号) 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物特殊情况:多元联系特殊情况:多元联系 多元联系在转换为关系模
34、式时,与该多元联多元联系在转换为关系模式时,与该多元联系相连的各实体的主键及联系本身的属性均系相连的各实体的主键及联系本身的属性均转换成为关系的属性,转换后所得到的关系转换成为关系的属性,转换后所得到的关系的主键为各实体键的组合。的主键为各实体键的组合。供应(供应(供应商号,项目号,零件号供应商号,项目号,零件号,数量),数量) 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.4.3 关系模式规范化关系模式规范化 应用范式理论对初始关系模式进行优化应用范式理论对初始关系模式进行优化1.确定范式级别确定范
35、式级别考查关系模式的函数依赖关系,确定范式等考查关系模式的函数依赖关系,确定范式等级级2.实施规范化处理实施规范化处理利用规范化方法和理论将关系模式规范化利用规范化方法和理论将关系模式规范化我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.4.4 模式评价与改进模式评价与改进 对规范化后的关系模式进行评价和改进对规范化后的关系模式进行评价和改进1.模式评价模式评价 (1)功能评价)功能评价 功能评价指对照需求分析的结果,检查规范功能评价指对照需求分析的结果,检查规范化后的关系模式集合是否支持用户所有的应化
36、后的关系模式集合是否支持用户所有的应用要求。用要求。 (2)性能评价)性能评价 对实际性能进行估计,包括逻辑记录的存取对实际性能进行估计,包括逻辑记录的存取数、传送量以及物理结构设计算法的模型等数、传送量以及物理结构设计算法的模型等 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2.模式改进模式改进(1)合并)合并将用于关联查询的具有相同主键的各表合并将用于关联查询的具有相同主键的各表合并可提高查询效率可提高查询效率(2)分解)分解水平分解:将关系的元组分为若干子集,提水平分解:将关系的元组分为若干子集,
37、提高查询效率高查询效率 垂直分解:把关系中经常一起使用的属性分垂直分解:把关系中经常一起使用的属性分解出来,形成一个子关系,提高执行效率。解出来,形成一个子关系,提高执行效率。分解时要保持无损连接和函数依赖分解时要保持无损连接和函数依赖我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.5 物理结构设计物理结构设计 物理结构设计:对于给定的逻辑数据模型,选物理结构设计:对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构取一个最适合应用环境的物理结构数据库的物理结构设计可分为两步:数据库的物理结构设计可
38、分为两步:(1)确定物理结构:存取方法和存储结构)确定物理结构:存取方法和存储结构(2)评价物理结构:评价的重点是时间和空间)评价物理结构:评价的重点是时间和空间效率效率6.5.1 确定物理结构确定物理结构1.存储记录结构的设计存储记录结构的设计物理结构中,数据的基本存取单位是存储记录物理结构中,数据的基本存取单位是存储记录某一类型的所有存储记录的集合称为某一类型的所有存储记录的集合称为“文件文件”我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物决定存储结构的主要因素包括存取时间、存决定存储结构的主要因素包
39、括存取时间、存储空间、维护代价储空间、维护代价(1)聚集)聚集将在属性上具有相同值的元组集中的存放在将在属性上具有相同值的元组集中的存放在一个物理块中,这个属性称为聚集值一个物理块中,这个属性称为聚集值聚集值只需存储一次,节省空间聚集值只需存储一次,节省空间提高按聚集码查询的效率提高按聚集码查询的效率(2)索引)索引我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2.访问方法的设计访问方法的设计 访问方法:为存储在物理设备(辅存)上的数访问方法:为存储在物理设备(辅存)上的数据提供存储和检索能力的方法,包括
40、存储结构据提供存储和检索能力的方法,包括存储结构和检索机构和检索机构存储结构限定了可能访问的路径和存储记录,存储结构限定了可能访问的路径和存储记录,检索机构定义了每个应用的访问路径检索机构定义了每个应用的访问路径3.数据存放位置的设计数据存放位置的设计 为提高性能,可将数据的易变部分、稳定部分、为提高性能,可将数据的易变部分、稳定部分、经常存取部分和存取频率较低部分分开存放经常存取部分和存取频率较低部分分开存放4.系统配置的设计系统配置的设计我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.6 数据库实施
41、数据库实施 数据库实施:指根据逻辑设计和物理设计的数据库实施:指根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、结果,在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。装入数据、进行测试和试运行的过程。 建立实际数据库结构建立实际数据库结构 装入数据装入数据 应用程序编码与调试应用程序编码与调试数据库试运行数据库试运行整理文档整理文档 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6.7 数据库运行和维护数据库运行和维护 数据库运行和维护阶段的主要任务包括以下数据库运行和维护阶段的主要任务包括以下三项内容:三项内容:(1)维护数据库的安全性与完整性;)维护数据库的安全性与完整性;(2)监测并改善数据库性能;)监测并改善数据库性能;(3)重新组织和构造数据库。)重新组织和构造数据库。只要数据库系统在运行,就需要不断地进行只要数据库系统在运行,就需要不断地进行修改、调整和维护。修改、调整和维护。