数据库设计课件.ppt

上传人:石*** 文档编号:39735544 上传时间:2022-09-07 格式:PPT 页数:87 大小:2.15MB
返回 下载 相关 举报
数据库设计课件.ppt_第1页
第1页 / 共87页
数据库设计课件.ppt_第2页
第2页 / 共87页
点击查看更多>>
资源描述

《数据库设计课件.ppt》由会员分享,可在线阅读,更多相关《数据库设计课件.ppt(87页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、关于数据库设计关于数据库设计第1页,此课件共87页哦7.1 数据库设计概述数据库设计概述什么是数据库设计?什么是数据库设计?广义的讲广义的讲是数据库及其应用系统的设计,是数据库及其应用系统的设计,即设计整个的数据库应用系统。即设计整个的数据库应用系统。侠义的讲侠义的讲是设计数据库本身。是设计数据库本身。具体地说,具体地说,是指对于一个给定的应用环境,构造最是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用优的数据库模式,建立数据库及其应用系统,使之能有效的存储数据,满足用系统,使之能有效的存储数据,满足用户的信息要求和处理要求。户的信息要求和处理要求。第2页,此课件共87页哦

2、数据库设计基本任务:数据库设计基本任务:根据给定应用领域的信息需求、处理需根据给定应用领域的信息需求、处理需求和数据库支撑环境,设计出数据模式求和数据库支撑环境,设计出数据模式(包括外模式、模式、内模式包括外模式、模式、内模式)。信息需求:数据及其结构信息需求:数据及其结构-静态要求。静态要求。处理需求:数据处理处理需求:数据处理-动态要求。动态要求。第3页,此课件共87页哦数据库系统的生命周期数据库系统的生命周期 数据库系统的开发是一项软件工程,开发过程应遵循软数据库系统的开发是一项软件工程,开发过程应遵循软件工程的一般原则和方法。件工程的一般原则和方法。软件工程:软件工程:是开发、运行、维

3、护和修正软件的一种系是开发、运行、维护和修正软件的一种系统方法。统方法。1968年首次提出此概念,它的提出与年首次提出此概念,它的提出与60年代末的软件危机直接相关。年代末的软件危机直接相关。软件生命周期:软件生命周期:(1)可行性研究;()可行性研究;(2)需求分析;()需求分析;(3)设计;()设计;(4)编码与实现;(编码与实现;(5)测试;()测试;(6)运行维护;)运行维护;第4页,此课件共87页哦5数据库设计的特点数据库设计的特点 数据库建设是硬件、软件和干件的结合数据库建设是硬件、软件和干件的结合 三分技术,七分管理,十二分基础数据三分技术,七分管理,十二分基础数据 技术与管理的

4、界面称之为技术与管理的界面称之为“干件干件”以数据模型为核心展开以数据模型为核心展开 静态结构设计和动态行为设计分离与结合静态结构设计和动态行为设计分离与结合 静态结构设计:数据库框架或数据库结构的设静态结构设计:数据库框架或数据库结构的设计。包括概念、逻辑、物理结构的设计计。包括概念、逻辑、物理结构的设计 动态行为设计:应用程序动态行为设计:应用程序,事务处理等设计,包事务处理等设计,包括功能组织、流程控制等方面的设计括功能组织、流程控制等方面的设计第5页,此课件共87页哦6完善的数据库系统应具备的特点完善的数据库系统应具备的特点 功能强大、使用方便、易于维护功能强大、使用方便、易于维护 能

5、准确地表示业务数据能准确地表示业务数据 便于检索和修改数据便于检索和修改数据 在合理的时间内响应最终用户的操作在合理的时间内响应最终用户的操作 为以后改进数据库留下空间为以后改进数据库留下空间 维护数据库的工作较少维护数据库的工作较少 具备有效的安全机制来确保数据安全具备有效的安全机制来确保数据安全 冗余数据最少冗余数据最少 便于进行数据的备份和恢复便于进行数据的备份和恢复 数据库结构对最终用户透明数据库结构对最终用户透明第6页,此课件共87页哦7数据库设计中面临的问题和困难数据库设计中面临的问题和困难1.同时具备数据库知识和应用业务知识的同时具备数据库知识和应用业务知识的人很少人很少.2.项

6、目初期还不能确定系统的目标项目初期还不能确定系统的目标3.缺乏完善的设计工具和设计方法缺乏完善的设计工具和设计方法4.需求的不确定性需求的不确定性第7页,此课件共87页哦认识抽象信息世界概念数据模型机器世界DBMS支持的数据模型转换现实世界第8页,此课件共87页哦9数据库设计步骤数据库设计步骤现实世界概念模型设计子模式设计物理数据库设计逻辑数据库设计建立数据库数据分析功能分析功能模型功能说明事务设计程序说明应用程序设计程序编码调试第9页,此课件共87页哦处理需求DBMS特征总体信息需求物理设计概念设计逻辑设计规划需求描述和分析硬件和OS特征物理数据库结构需求说明书 信息结构(独立于硬件、软件)

7、逻辑数据库结构(DBMS能处理的)应用程序说明书物理实现数据库结构设计步骤使用、维护数据库第10页,此课件共87页哦数据库结构设计阶段数据库结构设计阶段设计阶段设计阶段设计描述设计描述数据数据处理处理需求分析需求分析数据字典、数据项、数据流、数据字典、数据项、数据流、数据存储的描述数据存储的描述数据流图和判定树、数据字典数据流图和判定树、数据字典中处理过程的描述中处理过程的描述概念结构设计概念结构设计概念模型概念模型(E-R图图)、数据字典、数据字典系统说明书系统说明书(系统要求、方案、系统要求、方案、概图、数据流图概图、数据流图)逻辑结构设计逻辑结构设计某种数据模型某种数据模型(如关系如关系

8、)系统结构图系统结构图(模块结构模块结构)物理设计物理设计存储安排、方法选择、存取路存储安排、方法选择、存取路径建立径建立模块设计模块设计实施阶段实施阶段编写模式、装入数据、数据库编写模式、装入数据、数据库试运行试运行程序编码、编译联结、测试程序编码、编译联结、测试运行维护运行维护性能监测、转储性能监测、转储/恢复、数据库恢复、数据库重组和重构重组和重构新旧系统转换、运行、维护新旧系统转换、运行、维护第11页,此课件共87页哦设计过程中形成的数据库各级模式设计过程中形成的数据库各级模式概念模式逻辑模式内模式应用要求应用要求应用要求应用要求外模式外模式外模式外模式综合转换映象映象应用1应用2应用

9、3应用4应用1应用2应用3应用4需求分析阶段概念设计阶段逻辑设计阶段逻辑设计阶段物理设计阶段第12页,此课件共87页哦7.2 需求分析需求分析 需求分析的任务:调查、收集、分析用需求分析的任务:调查、收集、分析用户对数据库的要求户对数据库的要求 信息要求信息要求 需存储的数据需存储的数据 处理要求处理要求 要完成的功能、响应时间、处理方式等要完成的功能、响应时间、处理方式等 安全性与完整性要求安全性与完整性要求 用户管理、数据管理、数据一致性等用户管理、数据管理、数据一致性等第13页,此课件共87页哦调查用户需求的步骤调查用户需求的步骤 调查组织机构情况调查组织机构情况 调查各部门的业务活动情

10、况调查各部门的业务活动情况 熟悉业务活动,明确新系统的各种要求熟悉业务活动,明确新系统的各种要求 确定新系统的边界确定新系统的边界(需计算机化的部分需计算机化的部分)第14页,此课件共87页哦调查用户需求的方法调查用户需求的方法 跟班作业跟班作业 开调查会开调查会 请专人介绍请专人介绍 询问询问 填写调查表填写调查表 查阅原系统的工作记录查阅原系统的工作记录第15页,此课件共87页哦抽象需求分析的方法抽象需求分析的方法 结构化分析结构化分析(SA)方法方法 自顶向下、逐层分解自顶向下、逐层分解 形成需求文档、数据字典形成需求文档、数据字典(DD)及多层数据流及多层数据流图图(DFD)数据来源数

11、据存储数据输出处理某一层次的抽象图第16页,此课件共87页哦需求分析的过程需求分析的过程调查组织机构总体情况明确用户需求熟悉业务活动概念设计确定系统边界DFDDD用户设计员第17页,此课件共87页哦数据流图数据流图 数据内部关系包括数据流动规律、流向、数据内部关系包括数据流动规律、流向、流量、频率、存储量和存储周期。用数流量、频率、存储量和存储周期。用数据流图来表示。据流图来表示。数据流图的绘制采用自上而下的方法,数据流图的绘制采用自上而下的方法,首先将整个系统作为一个功能,绘制顶首先将整个系统作为一个功能,绘制顶层图,然后逐步细化,分解成详略不同层图,然后逐步细化,分解成详略不同的多层数据流

12、图,直到满足要求。的多层数据流图,直到满足要求。第18页,此课件共87页哦顾客P1销售P2采购供应商F1 配件库存P3会计付款付款收据应付款通知收款通知到货通知订货单订货单发货单发货单例子:销售采购管理系统第1层数据流程图第19页,此课件共87页哦F2 配件目录顾客P1.1编辑订货单业务员P1.3确定订货P1.5产生暂存订货单P1.2登录新顾客F3 顾客P1.4开发货单修改库存P1.6对照暂存订货单采购F4 暂存订货单P1.8编制销售、库存报表P1.7检索库存F1 配件库存经理F5 销售历史F10 应收款明细帐第2层数据流程图之一(销售)发货单订货单不合格合格新顾客不满足的订货可发的订货到货通

13、知第20页,此课件共87页哦F4 暂存订货单P2.1按配件汇总P2.2确定订货的配件P2.5修改库存、待订数量F6 待订货的配件P2.6编制到货通知P2.4核对发货单F1 配件库存P2.3按供应商汇总F8 向供应商的订货单F9 应付款明细帐销售供应商订货单发货单错误发货单正确发货单第2层数据流程图之二(采购)第21页,此课件共87页哦顾客P3.1开收据并修改明细帐P3.5编制会计报表经理P3.4修改总帐F10 应收款明细帐F11 总帐P3.3付款并修改明细帐P3.2核对付款单F9 应付款明细帐供应商第2层数据流程图之三(会计)应付款通知付款收据第22页,此课件共87页哦数据字典数据字典 描述系

14、统中的数据,包括数据项、数据结构、数据流、描述系统中的数据,包括数据项、数据结构、数据流、数据存储和处理过程数据存储和处理过程 数据项描述数据项描述=数据项名,数据项含义说明,别名,数据类数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其它数据项的逻辑关型,长度,取值范围,取值含义,与其它数据项的逻辑关系,数据项之间的联系系,数据项之间的联系 数据结构描述数据结构描述=数据结构名,含义说明,组成:数据结构名,含义说明,组成:数据项或数据项或数据结构数据结构 数据流描述数据流描述=数据流名,说明,数据流来源,数据流去向,数据流名,说明,数据流来源,数据流去向,组成:组成:数

15、据结构数据结构,平均流量,高峰期流量,平均流量,高峰期流量 数据存储描述数据存储描述=数据存储名,说明,编号,输入的数据流,数据存储名,说明,编号,输入的数据流,输出的数据流,组成:输出的数据流,组成:数据结构数据结构,数据量,存取频度,存取,数据量,存取频度,存取方式方式 处理过程描述处理过程描述=处理过程名,说明,输入:处理过程名,说明,输入:数据流数据流,输出:,输出:数据流数据流,处理:,处理:简要说明简要说明数据依赖数据完整性约束数据完整性约束第23页,此课件共87页哦以学校管理信息系统为例以学校管理信息系统为例第24页,此课件共87页哦第25页,此课件共87页哦例:学生学籍管理子系

16、统的数据字典。例:学生学籍管理子系统的数据字典。数据项,以数据项,以“学号学号”为例:为例:数据项:学号数据项:学号 含义说明:唯一标识每个学生含义说明:唯一标识每个学生 别名:学生编号别名:学生编号 类型:字符型类型:字符型 长度:长度:8 取值范围:取值范围:00000000至至99999999 取值含义:前两位标别该学生所在年级,取值含义:前两位标别该学生所在年级,后六位按顺序编号后六位按顺序编号第26页,此课件共87页哦 数据结构数据结构 以以“学生学生”为例为例“学生学生”是该系统中的一个核心数据结是该系统中的一个核心数据结构:构:数据结构:学生数据结构:学生 含义说明:是学籍管理子

17、系统的主体含义说明:是学籍管理子系统的主体数据结构,定义了一个学生的有关信息数据结构,定义了一个学生的有关信息 组成:组成:学号,姓名,性别,年龄,学号,姓名,性别,年龄,所在系,年级所在系,年级第27页,此课件共87页哦数据流数据流“体检结果体检结果”可如下描述:可如下描述:数据流:数据流:体检结果体检结果 说明:说明:学生参加体格检查的最终结果学生参加体格检查的最终结果 数据流来源:体检数据流来源:体检 数据流去向:批准数据流去向:批准 组成:组成:平均流量:平均流量:高峰期流量:高峰期流量:第28页,此课件共87页哦数据存储数据存储“学生登记表学生登记表”可如下描述:可如下描述:数据存储

18、:学生登记表数据存储:学生登记表 说明:记录学生的基本情况说明:记录学生的基本情况 输入数据流:输入数据流:输出数据流:输出数据流:组成:组成:数据量:每年数据量:每年3000张张 存取方式:随机存取存取方式:随机存取 第29页,此课件共87页哦处理过程处理过程“分配宿舍分配宿舍”可如下描述:可如下描述:处理过程:分配宿舍处理过程:分配宿舍 说明:为所有新生分配学生宿舍说明:为所有新生分配学生宿舍 输入:学生,宿舍,输入:学生,宿舍,输出:宿舍安排输出:宿舍安排 处理:在新生报到后,为所有新生分配学处理:在新生报到后,为所有新生分配学 生宿舍。要求同一个学生只能安排在一个宿舍中。生宿舍。要求同

19、一个学生只能安排在一个宿舍中。每个学生的居面积不小于每个学生的居面积不小于3平方米。平方米。第30页,此课件共87页哦7.3 概念结构设计概念结构设计 概念结构概念结构 将在需求分析阶段得到的应用需求抽象为信将在需求分析阶段得到的应用需求抽象为信息世界的结构,常用息世界的结构,常用E-R模型来描述模型来描述 独立于机器独立于机器 概念结构的特点概念结构的特点 真实充分地反映客观世界真实充分地反映客观世界 易于理解易于理解 易于更改易于更改 易于转换成为数据模型易于转换成为数据模型第31页,此课件共87页哦概念结构设计的方法概念结构设计的方法 自顶向下自顶向下 首先定义全局概念结构的框架,然后逐

20、步细化首先定义全局概念结构的框架,然后逐步细化 自底向上自底向上 首先定义各局部应用的概念结构,然后集成首先定义各局部应用的概念结构,然后集成 逐步扩张逐步扩张 首先定义最重要的核心概念结构,然后向外扩充首先定义最重要的核心概念结构,然后向外扩充 混合策略混合策略 首先用自顶向下策略设计全局概念结构的框架,再集成用首先用自顶向下策略设计全局概念结构的框架,再集成用自底向上策略设计的各局部概念结构自底向上策略设计的各局部概念结构第32页,此课件共87页哦全局概念模式概念模式概念模式概念模式概念模式概念模式(a)自顶向下的设计方法概念模式需求第33页,此课件共87页哦概念模式(b)自底向上的设计方

21、法概念模式概念模式概念模式子需求概念模式概念模式全局概念模式子需求子需求子需求第34页,此课件共87页哦(c)逐步扩张的设计方法核心需求需求核心概念结构全局概念结构第35页,此课件共87页哦学生课程选修学号姓名性别系名课号课名学分成绩mnE-R图图第36页,此课件共87页哦数据库概念设计基本步骤数据库概念设计基本步骤需求分析逻辑结构设计数据抽象局部视图设计视图集成用户反馈直至满意DDDFD局部E-R图总E-R图第37页,此课件共87页哦数据抽象数据抽象 数据抽象数据抽象 抽象出对客观世界中的概念、对象的本质特性抽象出对客观世界中的概念、对象的本质特性 用于在需求分析阶段将收集到的数据进行分类、

22、用于在需求分析阶段将收集到的数据进行分类、组织组织(聚集聚集),从而形成实体、实体的属性,标,从而形成实体、实体的属性,标识实体的码,确定实体间的联系类型,以便设识实体的码,确定实体间的联系类型,以便设计相应的计相应的E-R图图 三类数据抽象机制三类数据抽象机制 分类(分类(Classification)聚集(聚集(Aggregation)概括(概括(Generalization)第38页,此课件共87页哦数据抽象机制之一数据抽象机制之一 分类分类(Classification)将一类具有共同特性和行为的对象定义为一种将一类具有共同特性和行为的对象定义为一种某类型,在某类型,在E-R模型中的实

23、体型就是这种抽象,模型中的实体型就是这种抽象,如学生,课程如学生,课程 抽象了对象的值和型之间抽象了对象的值和型之间“is member of”语义语义学生“is member of”张英王平赵宁实体型课程“is member of”C语言数据库操作系统实体型第39页,此课件共87页哦数据抽象机制之二数据抽象机制之二 聚集聚集(Aggregation)定义某类型的组成成分,对应定义某类型的组成成分,对应E-R模型中实体的模型中实体的属性属性 抽象了对象类型和其成分之间的抽象了对象类型和其成分之间的“is part of”语义语义学生学号姓名专业班级仓库号面积主任仓库姓名年龄性别工资“is pa

24、rt of”实体型属性第40页,此课件共87页哦数据抽象机制之三数据抽象机制之三 概括(概括(Generalization)定义类型之间的子集联系,形成超定义类型之间的子集联系,形成超(父父)类、子类类、子类 抽象了类型之间抽象了类型之间“is subset of”语义语义 概括的重要性质:继承,即子类集成超类的所有抽象概括的重要性质:继承,即子类集成超类的所有抽象 是是E-R模型的抽象机制的扩充模型的抽象机制的扩充学生本科生研究生概括的E-R表示“is subset of”超类子类学号,姓名,性别,年龄专业,综合排名导师,研究方向第41页,此课件共87页哦局部局部E-R模型的设计步骤模型的设

25、计步骤需求分析结果确定局部结构的范围还有局部结构要设计?全局E-R模型的设计有无设计局部E-R模型确定局部结构的实体定义局部结构的属性定义局部结构的联系第42页,此课件共87页哦设计实体与属性的区分设计实体与属性的区分 实体与属性采用以下三个原则进行区分:实体与属性采用以下三个原则进行区分:原子性原则原子性原则:实体需要进一步描述,属性则不具有:实体需要进一步描述,属性则不具有描述性。属性必须是不可分的数据项。描述性。属性必须是不可分的数据项。依赖性原则依赖性原则:属性仅单向依赖于某个实体,并且不能属性仅单向依赖于某个实体,并且不能与其它实体具有联系。与其它实体具有联系。一致性原则:一致性原则

26、:一个实体的若干属性之间存在着内在的关一个实体的若干属性之间存在着内在的关联性与一致性,如学生实体的属性,分别独立表示实体联性与一致性,如学生实体的属性,分别独立表示实体的某种独特个性,并在总体上协调一致,相互配合,构的某种独特个性,并在总体上协调一致,相互配合,构成一个完整的整体。成一个完整的整体。第43页,此课件共87页哦局部设计概念实例局部设计概念实例 例子中,学籍管理局部应用中主要涉及的实体包括学例子中,学籍管理局部应用中主要涉及的实体包括学生、宿舍、档案材料、班级、班主任。那么,这些实生、宿舍、档案材料、班级、班主任。那么,这些实体之间的联系又是怎样的呢?体之间的联系又是怎样的呢?宿

27、舍与学生之间是宿舍与学生之间是1:n的联系。的联系。班级与学生之间也是班级与学生之间也是1:n的联系。的联系。由于班主任同时还要教课,因此班主任与学生之间由于班主任同时还要教课,因此班主任与学生之间存在指导联系,班主任与学生存在指导联系,班主任与学生 之间是之间是1:n的联系。的联系。学生和他自己的档案材料之间,班级与班主任之间都是学生和他自己的档案材料之间,班级与班主任之间都是1:1的联系。的联系。第44页,此课件共87页哦学籍管理局部应用分E-R图班主任归档材料宿舍班级学生指导归档住宿组成管理1111111nnn第45页,此课件共87页哦 学生:学生:学号,姓名,出生日学号,姓名,出生日期

28、,期,档案材料:档案号,档案材料:档案号,班级:班级:班级号,学生人数班级号,学生人数 班主任:班主任:职工号,姓名,性别,是否职工号,姓名,性别,是否为优秀班主任为优秀班主任 宿舍:宿舍:宿舍编号,地址,人数宿舍编号,地址,人数第46页,此课件共87页哦学生教科书课程教室教师教学讲授开设选修课程管理局部应用分E-R图mm11nnn1n成绩第47页,此课件共87页哦 学生:学生:姓名,学号,性别,年龄,所姓名,学号,性别,年龄,所 在系,年级,平均成绩在系,年级,平均成绩课程:课程:课程号,课程名,学分课程号,课程名,学分教师:教师:职工号,姓名,性别,职称职工号,姓名,性别,职称教科书教科书

29、:书号,书名,价钱书号,书名,价钱教室:教室:教室编号,地址,容量教室编号,地址,容量 第48页,此课件共87页哦局部概念设计综合为全局概念设计局部概念设计综合为全局概念设计 将局部概念设计综合为全局概念设计的将局部概念设计综合为全局概念设计的过程称为视图集成。过程称为视图集成。第49页,此课件共87页哦合并原则是两两合并,先合并有联系的局部结构,再加入独立的局部结构,这样可以减小合并的复杂度并使合并结果的规模尽可能小。属性冲突属性域的冲突(类型、范围)及单位冲突 结构冲突同一信息有的作为实体,有的作为联系 命名冲突同名异义,异名同义(实体,属性,联系)优化全局概念结构使实体个数尽可能少,所含

30、属性尽可能少,联系无冗余。局部ER模式确定公共实体类合并两个局部ER图检查并消除冲突还有未合并的局部模式?有还有冲突?无优化评审有根据实体名,码等来确定,为合并打基础无第50页,此课件共87页哦1班主任归档材料宿舍班级学生指导归档住宿组成管理111111nnn教科书课程教室教师教学讲授开设选修mm11nnn1n成绩第51页,此课件共87页哦消除两个分消除两个分E-RE-R图存在的冲突:图存在的冲突:班主任班主任实际上也实际上也属于教师属于教师,应将学籍管理中的班主任实体与课程管,应将学籍管理中的班主任实体与课程管理中的教师实体统一称为教师:理中的教师实体统一称为教师:教师:职工号,姓名,性别,

31、职称,是否为优秀班主任教师:职工号,姓名,性别,职称,是否为优秀班主任(2)(2)将班主任改为教师后,教师与学生之间的联系在两个局部视图将班主任改为教师后,教师与学生之间的联系在两个局部视图中呈现中呈现两种两种不同的类型,一种是不同的类型,一种是学籍管理学籍管理中教师与学生之间的中教师与学生之间的指指导联系导联系,一种是,一种是课程管理课程管理中教师与学生之间的中教师与学生之间的教学联系教学联系,由于指导联,由于指导联系实际上可以包含在教学联系之中,因此可以将这两种联系综合为系实际上可以包含在教学联系之中,因此可以将这两种联系综合为教学联系。教学联系。(3)(3)在两个局部在两个局部E-RE-

32、R图中,学生实体属性图中,学生实体属性组成及次序组成及次序都存在差异,应将所有属都存在差异,应将所有属性综合,并重新调整次序。假设调整结果为:性综合,并重新调整次序。假设调整结果为:学生:学号,姓名,出生日期,年龄,所在系,年级,平均成绩学生:学号,姓名,出生日期,年龄,所在系,年级,平均成绩第52页,此课件共87页哦消除冗余数据和冗余联系:消除冗余数据和冗余联系:学生实体中的学生实体中的年龄属性年龄属性可以由可以由出生日期出生日期推算出来,属于冗推算出来,属于冗余数据,应该去掉。余数据,应该去掉。学生:学号,姓名,出生日期,所在系,年级,平均成绩学生:学号,姓名,出生日期,所在系,年级,平均

33、成绩(2)2)学生实体中的学生实体中的平均成绩平均成绩可以从选修联系中的成绩属性中可以从选修联系中的成绩属性中推算出来,但如果应用中需要经常查询某个学生的平均推算出来,但如果应用中需要经常查询某个学生的平均成绩,每次都进行这种计算效率就会太低,因此为提高成绩,每次都进行这种计算效率就会太低,因此为提高效率,可以考虑保留该冗余数据,但是为了维护数据一效率,可以考虑保留该冗余数据,但是为了维护数据一致性应该定义一个致性应该定义一个触发器触发器来保证学生的平均成绩等于该学来保证学生的平均成绩等于该学生各科成绩的平均值。生各科成绩的平均值。第53页,此课件共87页哦进行修改和重构后生成的基本进行修改和

34、重构后生成的基本E-RE-R图图班级教室开设教师教科书学生课程宿舍档案材料住宿归档教学讲授选修管理1n11111111组成nnmnmnn第54页,此课件共87页哦7.4 逻辑结构设计逻辑结构设计 就是把概念结构设计阶段设计好的基本就是把概念结构设计阶段设计好的基本E-R图转换为与选用图转换为与选用DBMS产品所支持的产品所支持的数据模型相符合的逻辑结构。数据模型相符合的逻辑结构。分三步进行:分三步进行:(1)初始关系模式设计;初始关系模式设计;(2)关系模式规范化;关系模式规范化;(3)模式的评价与改进。模式的评价与改进。第55页,此课件共87页哦处理需求从ER图导出初始数据库模式关系模式规范

35、化模式评价:满足用户要求保持函数依赖和无损连接是否需要修正?否进入物理设计是ER模型DBMS特性关系数据库的逻辑设计第56页,此课件共87页哦1.初始关系模式设计初始关系模式设计 E-R图是由实体、实体的属性和实体之间图是由实体、实体的属性和实体之间的联系三个要素组成的。将的联系三个要素组成的。将E-R图转换为图转换为关系模型实际上就是要将实体、实体的关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式。属性和实体之间的联系转化为关系模式。这种转换一般遵循如下原则:这种转换一般遵循如下原则:第57页,此课件共87页哦a.实体型的转换实体型的转换 一个实体型转换为一个关系模式。实

36、体一个实体型转换为一个关系模式。实体的属性就是关系模式的属性,实体的标的属性就是关系模式的属性,实体的标识符识符(码码)就是关系模式的候选码。就是关系模式的候选码。例如,学生实体可以转换为如下关系模式,例如,学生实体可以转换为如下关系模式,其中学号为学生关系的码:其中学号为学生关系的码:学生(学生(学号学号,姓名,出生日期,所在系,年,姓名,出生日期,所在系,年级,平均成绩)级,平均成绩)第58页,此课件共87页哦b.联系的转换联系的转换(1)一个)一个1:1联系可以转换为一个独立的关系模式,也联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。可以与任意一端对应的关系模式合

37、并。例如在我们的例子中,例如在我们的例子中,“管理管理”联系为联系为1:1联系,联系,管理(职工号,班级号)管理(职工号,班级号)班级:班级号,学生人数,职工号班级:班级号,学生人数,职工号 教师:职工号,姓名,性别,职称,班级号,是否为优秀教师:职工号,姓名,性别,职称,班级号,是否为优秀班主任班主任第59页,此课件共87页哦(2)一个)一个1:n联系可以转换为一个独立的关系模式,联系可以转换为一个独立的关系模式,也可以与也可以与n端对应的关系模式合并。端对应的关系模式合并。例如,例如,“组成组成”联系为联系为1:n联系,将其转换为关系联系,将其转换为关系模式一种方法是使其成为一个独立的关系

38、模式:模式一种方法是使其成为一个独立的关系模式:组成(组成(学号学号,班级号),班级号)学生(学生(学号学号,姓名,出生日期,所在系,年级,班级号,姓名,出生日期,所在系,年级,班级号,平均成绩)平均成绩)第60页,此课件共87页哦(3)一个)一个m:n联系转换为一个关系模式。联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组均转换为关系的属性。而关系的码为各实体码的组合。合。例如,例如,“选修选修”联系是一个联系是一个m:n联系,可以将它联系,可以将它转换为如下关系模式,其中学号与课程号为关

39、系转换为如下关系模式,其中学号与课程号为关系的组合码:的组合码:选修(选修(学号,课程号学号,课程号,成绩),成绩)第61页,此课件共87页哦(4)三个或三个以上实体间的一个多元联系转换为一个)三个或三个以上实体间的一个多元联系转换为一个关系模式。关系模式。与该多元联系相连的各实体的码以及联系本身的与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体属性均转换为关系的属性。而关系的码为各实体码的组合。码的组合。例如,例如,“讲授讲授”联系是一个三元联系,可以将它转联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、教师号和书号为换为如下关系模式,其中课程

40、号、教师号和书号为关系的组合码:关系的组合码:讲授(讲授(课程号,教师号,书号课程号,教师号,书号)第62页,此课件共87页哦(5)同一实体集的实体间的联系,即自联系,也可按上述)同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和和m:n三种情况分别处理。三种情况分别处理。例如,如果教师实体集内部存在领导与被领导的例如,如果教师实体集内部存在领导与被领导的1:n自联系,我们可以将该联系与教师实体合并,这时主码自联系,我们可以将该联系与教师实体合并,这时主码职工号将多次出现,但作用不同,可用不同的属性名加职工号将多次出现,但作用不同,可用不同的属性名加以区分,比如在合并后的关系模式中

41、,主码仍为职工号,以区分,比如在合并后的关系模式中,主码仍为职工号,再增设一个再增设一个“系主任系主任”属性,存放相应系主任的职工属性,存放相应系主任的职工号。号。教师:职工号,姓名,性别,职称,系主任教师:职工号,姓名,性别,职称,系主任第63页,此课件共87页哦学生管理子系统中的学生管理子系统中的16个实体和联系可以转换为下列关系模型:个实体和联系可以转换为下列关系模型:学生学生(学号学号,姓名,性别,出生日期,所在系,年,姓名,性别,出生日期,所在系,年 级,班级号,宿舍编号,平均成绩,档案号)级,班级号,宿舍编号,平均成绩,档案号)宿舍宿舍(宿舍编号宿舍编号,地址,性别,人数),地址,

42、性别,人数)班级班级(班级号班级号,学生人数),学生人数)教师教师(职工号职工号,姓名,性别,职称,班级号,是否,姓名,性别,职称,班级号,是否 为优秀班主任)为优秀班主任)课程课程(课程号课程号,课程名,学分,教室号),课程名,学分,教室号)教科书教科书(书号书号,书名,价钱),书名,价钱)教室教室(教室编号教室编号,地址,容量),地址,容量)档案材料档案材料(档案号档案号,)教学教学(职工号,学号职工号,学号)选修选修(学号,课程号学号,课程号,成绩),成绩)讲授讲授(教师号教师号,课程号,书号),课程号,书号)第64页,此课件共87页哦如公司部门管理系统的E-R图及其转换成的关系模式部门

43、项目职工电话包括承担n1n1办公室号,面积项目号,预算费参与mn办公室包含1n包括n1职务承担11部门号,预算费,领导人职工号电话号码,说明职工号,姓名,办公电话担任时期,工资分担任务 部门(部门号,部门预算费,领导人职工号)职工(职工号,姓名,办公电话,部门号)办公室(办公室号,面积,部门号)项目(项目号,项目预算费,部门号)电话(电话号码,说明,办公室号)项目承担情况(职工号,项目号,分担任务)职务(职工号,职务,担任时期,工资)第65页,此课件共87页哦2.数据模型的规范化数据模型的规范化 确定数据依赖确定数据依赖对各个关系模式之间的数据依赖进行极小化处理,对各个关系模式之间的数据依赖进

44、行极小化处理,消除冗余消除冗余按照数据依赖的理论对关系模式逐一分析,确定各关按照数据依赖的理论对关系模式逐一分析,确定各关系模式属于第几范式系模式属于第几范式按用户需求分析这些模式是否合适,是否需合并或分按用户需求分析这些模式是否合适,是否需合并或分解解对关系模式进行必要的分解,提高数据操作效率对关系模式进行必要的分解,提高数据操作效率和存储空间利用率和存储空间利用率第66页,此课件共87页哦合并合并 如果有若干个关系模式具有相同的主键,如果有若干个关系模式具有相同的主键,并且对这些关系模式的处理主要是查询并且对这些关系模式的处理主要是查询操作,而且经常是多关系的查询,那么操作,而且经常是多关

45、系的查询,那么可对这些关系模式按照组合使用频率进可对这些关系模式按照组合使用频率进行合并。行合并。这样便可以减少联接操作而提高查询效这样便可以减少联接操作而提高查询效率。率。第67页,此课件共87页哦分解分解 水平分解:水平分解:有学生关系(学号,姓名,类别有学生关系(学号,姓名,类别),),其中类别包括大专生、本科生和研究生。如果多数查询其中类别包括大专生、本科生和研究生。如果多数查询一次只涉及其中的一类学生,就应该把整个学生关系水一次只涉及其中的一类学生,就应该把整个学生关系水平分割为大专生、本科生和研究生三个关系。平分割为大专生、本科生和研究生三个关系。垂直分解:垂直分解:例如,有教师关

46、系(教师号,姓名,性例如,有教师关系(教师号,姓名,性别,年龄,职称,工资,岗位津贴,住址,电别,年龄,职称,工资,岗位津贴,住址,电话),如果经常查询的仅是前六项,而后三项很话),如果经常查询的仅是前六项,而后三项很少使用,则可以将教师关系进行垂直分割,少使用,则可以将教师关系进行垂直分割,第68页,此课件共87页哦3.设计用户子模式设计用户子模式 定义数据库模式主要是从系统的时间效率、空间定义数据库模式主要是从系统的时间效率、空间效率、易维护等角度出发。由于用户外模式与模效率、易维护等角度出发。由于用户外模式与模式是独立的,因此我们在定义用户外模式时应该式是独立的,因此我们在定义用户外模式

47、时应该更注重考虑用户的习惯与方便。更注重考虑用户的习惯与方便。包括:包括:(1)使用更符合用户习惯的别名使用更符合用户习惯的别名(2)针对不同级别的用户定义不同的外模式,以满足系统针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求。对安全性的要求。(3)简化用户对系统的使用简化用户对系统的使用第69页,此课件共87页哦7.5 数据库的物理设计数据库的物理设计 对已经确定的逻辑数据库结构利用对已经确定的逻辑数据库结构利用DBMS所提供的所提供的方法、技术,以较优的存储结构、数据存取路径、合方法、技术,以较优的存储结构、数据存取路径、合理的数据存放位置以及存储分配,设计出一个高效的、理的

48、数据存放位置以及存储分配,设计出一个高效的、可实现的物理数据库结构。可实现的物理数据库结构。数据库的物理设计通常分为两步:数据库的物理设计通常分为两步:确定数据库的物理结构,确定数据库的物理结构,在关系数据库中主要指存取方在关系数据库中主要指存取方法和存储结构;法和存储结构;对物理结构进行评价,评价的重点是时间和空间效率对物理结构进行评价,评价的重点是时间和空间效率 第70页,此课件共87页哦1.确定数据库的物理结构确定数据库的物理结构确定需要存储的数据对象确定需要存储的数据对象如关系、索引、聚簇、日志、备份等如关系、索引、聚簇、日志、备份等确定数据的存放位置确定数据的存放位置如区分稳定数据和

49、易变数据、经常存取部分和不常存取部分、机密数据如区分稳定数据和易变数据、经常存取部分和不常存取部分、机密数据和普通数据等,分开存放和普通数据等,分开存放确定数据的存储结构确定数据的存储结构 如顺序结构、随机结构、链表结构、树状结构等如顺序结构、随机结构、链表结构、树状结构等确定数据的存取方法确定数据的存取方法如索引如索引(如如B树、树、B+树、树、R树等树等)、聚簇、聚簇、HASH法等法等确定系统配置确定系统配置如同时使用数据库的最大用户数、同时打开的数据库对象数、内存分配参数、如同时使用数据库的最大用户数、同时打开的数据库对象数、内存分配参数、缓冲区分配参数、存储分配参数、物理块大小、物理块

50、装填因子、时间片大小、缓冲区分配参数、存储分配参数、物理块大小、物理块装填因子、时间片大小、数据库大小、锁的数目等数据库大小、锁的数目等第71页,此课件共87页哦聚簇的选择聚簇的选择 对经常在一起进行连接操作的关系可以建立聚簇。对经常在一起进行连接操作的关系可以建立聚簇。当对一个关系的某些属性列的访问是该关系的主要当对一个关系的某些属性列的访问是该关系的主要应用,而对其它属性的访问很少或者是次要应用时,应用,而对其它属性的访问很少或者是次要应用时,可以考虑对该关系在这些属性列上建立聚簇可以考虑对该关系在这些属性列上建立聚簇 如果一个关系在某些属性列上的值重复率很高,则可以如果一个关系在某些属性

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁