数据库设计ppt课件

上传人:仙*** 文档编号:76203518 上传时间:2022-04-17 格式:PPT 页数:53 大小:1.11MB
收藏 版权申诉 举报 下载
数据库设计ppt课件_第1页
第1页 / 共53页
数据库设计ppt课件_第2页
第2页 / 共53页
数据库设计ppt课件_第3页
第3页 / 共53页
资源描述:

《数据库设计ppt课件》由会员分享,可在线阅读,更多相关《数据库设计ppt课件(53页珍藏版)》请在装配图网上搜索。

1、数据库设计-选课管理为例一 数据库设计概述 什么是数据库设计 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求) 在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。一 数据库设计概述 为什么要数据库设计 数据库是信息系统的核心和基础 把信息系统中大量的数据按一定的模型组织起来 提供存储、维护、检索数据的功能 使信息系统可以方便、及时、准确地从数据库中获得所需的信息 数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在 数据库设计是信息系统开发和建设的重要组成部分

2、好的信息系统:50%专业知识+25%数据库设计+25%系统设计一 数据库设计概述 数据库设计的特点 数据库建设是硬件、软件和干件的结合 三分技术,七分管理,十二分基础数据 技术与管理的界面称之为“干件” 数据库设计应该与应用系统设计相结合 结构(数据)设计:设计数据库框架或数据库结构 行为(处理)设计:设计应用程序、事务处理等数据库设计与应用设计相结合现实世界现实世界概念模型设计概念模型设计子模式设计子模式设计物理数据库设计物理数据库设计逻辑数据库设计逻辑数据库设计建立数据库建立数据库数据分析数据分析功能分析功能分析功能模型功能模型功能说明功能说明事务设计事务设计程序说明程序说明应用程序设计应

3、用程序设计程序编码调试程序编码调试数据库设计方法 手工拼凑法 设计人员的经验 规范设计法 新奥尔良(New Orleans)方法:四个阶段 S.B.Yao方法:五个步骤 I.R.Palmer方法:一步接一步的过程 辅助工具 ORACLE Designer 2000 SYBASE PowerDesigner数据库设计阶段 IPO表输入:输出:处理:CreatLoadMain( )ifthenend 分区1 分区2概念结概念结构设计构设计逻辑逻辑结构结构设计设计物理物理设计设计设计设计阶阶 段段 设设 计计 描描 述述数数 据据处处 理理需 求需 求分分 析析 数据字典、全系统中数据项、数据字典、

4、全系统中数据项、 数据流、数据存储的描述数据流、数据存储的描述数据流图和判定表(判定树)、数数据流图和判定表(判定树)、数据字典中处理过程的描述据字典中处理过程的描述 概念模型(概念模型(E-R图)图) 数据字典数据字典 系统说明书包括:系统说明书包括: 新系统要求、新系统要求、 方案和概图方案和概图 反映新系统信息反映新系统信息 流的数据流图流的数据流图 某种数据模型某种数据模型 关系关系 非关系非关系 系统结构图系统结构图 (模块结构)(模块结构) 存储安排存储安排 方法选择方法选择 存取路径建立存取路径建立 模块设计模块设计 IPO表表实施实施阶段阶段 编写模式编写模式 装入数据装入数据

5、 数据库试运行数据库试运行 程序编码、程序编码、 编译联结、编译联结、 测试测试运行、运行、维护维护 性能监测、转储性能监测、转储/恢复恢复 数据库重组和重构数据库重组和重构 新旧系统转换、运行、维护(修正性、新旧系统转换、运行、维护(修正性、适应性、改善性维护)适应性、改善性维护)需求分析 需求分析就是分析用户的需要与要求 需求分析是设计数据库的起点 需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用 好的信息系统 50%专业就是强调需求分析需求分析-任务 通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系

6、统或计算机系统)工作概况,明确用户的各种需求 在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库需求分析-重点 需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。 信息要求 用户需要从数据库中获得信息的内容与性质 在数据库中需要存储哪些数据 处理要求 对处理功能的要求 对处理的响应时间的要求需求分析-难点 用户缺少计算机知识,开始时无法确定计算机究竟能为自己做什么,不能做什么,因此无法一下子准确地表达自己的需求,他们所提出的需求往往不断地变化。 设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误

7、解用户的需求。 新的硬件、软件技术的出现也会使用户需求发生变化。需求分析方法步骤 调查清楚用户的实际需求并进行初步分析 与用户达成共识 进一步分析与表达这些需求 自顶向下的结构化分析方法(Structured Analysis,简称SA方法)需求分析方法调查组织机构情况调查各部门的业务活动情况 各个部门输入和使用什么数据 如何加工处理这些数据 输出什么信息 输出到什么部门、输出结果的格式 在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。需求分析常用调查方法?跟班作业(能比较准确地理解用户的需求) 通过亲身参加业务工作了解业务活动的情况开调查会 通过与用户座谈来了解业务活动情况及用户需求

8、请专人介绍询问设计调查表请用户填写 如果调查表设计合理,则很有效,且易于为用户接受查阅记录:查阅与原系统有关的数据记录数据字典 数据字典是各类数据描述的集合 数据字典是进行详细的数据收集和数据分析所获得的主要结果 数据字典在数据库设计中占有很重要的地位数据字典 数据字典的内容 数据项:数据项是数据的最小组成单位(字段)数据项描述数据项名,数据项含义说明,名,数据类型,长度,取值范围, 取值含义,与其他数据项的逻辑关系 数据结构:若干个数据项可以组成一个数据结构(表、视图) 数据结构描述数据结构名,含义说明, 组成:数据项或数据结构 数据流:数据流是数据结构在系统内传输的路径数据流描述数据流名,

9、说明,数据流来源, 数据流去向, 组成:数据结构, 平均流量,高峰期流量数据字典 数据字典的内容 数据存储 数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一数据存储描述数据存储名,说明,编号, 流入的数据流 ,流出的数据流 , 组成:数据结构,数据量,存取方式 处理过程 处理过程描述处理过程名,说明, 输入:数据流,输出:数据流, 处理:简要说明数据字典处理过程“分配宿舍”可如下描述:处理过程:分配宿舍说明:为所有新生分配学生宿舍输入:学生,宿舍,输出:宿舍安排处理:在新生报到后,为所有新生分配学生宿舍。要求同一间宿舍只能安排同一性别的学生,同一个学生只能安排在一个宿舍中。每个学

10、生的居 住面积不小于3平方米。安排新生宿舍其处理时间应不超过15分钟。数据流图(DFD 描述数据处理过程的一种图形工具。 基本符号加工(标注加工的名字与标号)数据流(名称与编号)数据存储文件(文件名)数据源点或汇点学籍管理系统需求分析 功能 学生选课 教师对课程成绩的输入 学生成绩查询 统计功能学籍管理系统需求分析 保存在系统中的信息 人员记录:学生和教师 学业纪录 学生已经完成的课程 本学期选修的课程 为下学期选修的课程 课程信息 教课信息 教室信息学籍管理系统需求分析 保存在系统中的信息(二) 课程信息 课程名、课程号、开课院系、学时 开课学期(春、秋) 允许选修的最大人数 上课时间 教课

11、信息:为本学期开课的所有课程保留一条信息 课程 开课教师 开课地点 选课学期 教室信息:教室号和座位数学籍管理系统需求分析 数据完整性约束 Id号唯一 注册的学生数目不能大于该课程的最大人数 在相同时间,不能为一个教员指派两门课程 相同的时间,一个教室不能有两门课程 若学生选修一门课程,若该课程有预备课程则学生要选修了这门课程,且成绩至少为60。 一个学生不能注册在相同时间上课的两门课程 在一个学期内,一个学生选修课程的学分不能超过20分,分配给一个课程的教室座位数应该大于等于该课程的最大学生人数。学生教师教室课程选课管理课表选课错误选课课程信息教室信息 上课信息成绩选课成绩单开课信息单选课及

12、成绩课程信息学生 P3.1选课信息输入P3.2选课信息查询P3.3选课信息确认选课信息课程信息课程数据 学生选课信息学生选课数据选课信息教务员 选课信息查询选课审核确认的选课信息没确认的选课信息分层数据流图-选课管理数据字典序号数据流名来源流向组成1选课信息学生P3.1课程号+年号+开课学期2学生选课数据P3.1学生选课信息学号+课程号+年号+开课学期3选课信息查询教务员P3.2课程号+年号+学期数据流序号数据文件文件组成组织1学生选课信息学号+课程号+年号+学期按开课学年、学期降序数据存储数据库概念设计 什么是数据库概念设计 将需求分析得到的用户需求抽象为信息结构现实世界现实世界机器世界机器

13、世界信息世界信息世界需求分析需求分析概念结构设计概念结构设计数据库概念设计(1)能真实、充分地反映现实世界。是对现实世界的一个真实模型。(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。(4)易于向关系、网状、层次等各种数据模型转换。数据库概念设计 常用的概念设计 E-R UML建模设计概念结构的四类方法 自顶向下 首先定义全局概念结构的框架,然后逐步细化 自底向上 首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构 逐步扩张 首先定义最重要的核心概念结构,然后

14、向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构 混合策略 自顶向下自底向上逐步扩张三种常用抽象1. 分类(Classification)(实体型) 定义某一类概念作为现实世界中一组对象的类型 这些对象具有某些共同的特性和行为 它抽象了对象值和型之间的“is member of”的语义2. 聚集(Aggregation)(属性) 它抽象了对象内部类型和成分之间“is part of”的语义 在E-R模型中若干属性的聚集组成了实体型,就是这种抽象3. 概括(Generalization)(子类) 它抽象了类型之间的“is subset of”的语义 概括有一个很重要的性质:继承性。

15、ER集成的两种方式 一次集成 一次集成多个分E-R图 通常用于局部视图比较简单时 逐步累积式(P224图6.25(b)) 首先集成两个局部视图(通常是比较关键的两个局部视图) 以后每次将一个新的局部视图集成进来E-R集成冲突 两类属性冲突 属性域冲突:属性值的类型、取值范围或取值集合不同。例1, 由于学号是数字,因此某些部门(即局部应用)将学号定义为整数形式,而由于学号不用参与运算,因此另一些部门(即局部应用)将学号定义为字符型形式。 属性取值单位冲突。例:学生的身高,有的以米为单位,有的以厘米为单位,有的以尺为单位E-R集成冲突 两类命名冲突 同名异义:不同意义的对象在不同的局部应用中具有相

16、同的名字 例,局部应用A中将教室称为房间 局部应用B中将学生宿舍称为房间 异名同义(一义多名):同一意义的对象在不同的局部应用中具有不同的名字 例,有的部门把教科书称为课本 有的部门则把教科书称为教材E-R集成冲突 三类结构冲突 同一对象在不同应用中具有不同的抽象 例,“课程”在某一局部应用中被当作实体 在另一局部应用中则被当作属性 解决方法:通常是把属性变换为实体或把实体变换为属性,使同一对象具有相同的抽象。变换时要遵循两个准则。 同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同。 实体之间的联系在不同局部视图中呈现不同的类型学生学生学号学号 姓名姓名性别性别平均

17、成绩平均成绩学生学生学号学号 姓名姓名出生日期出生日期年级年级所在系所在系 学生学生平均平均成绩成绩 学号学号出生出生日期日期年级年级所在系所在系 姓名姓名性别性别(a)(b)合并学生课程教师教室选课排课mpnmn选课管理系统E-R图逻辑结构设计 逻辑结构设计的任务 概念结构是各种数据模型的共同基础 为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。 逻辑结构设计的步骤 E-R图关系模型SQL数据模型数据模型优化逻辑结构设计 转换内容 E-R图由实体、实体的属性和实体之间的联系三个要素组成 关系模型的逻辑结构是一组关系模式的

18、集合 将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。逻辑结构设计 一个实体型转换为一个关系模式。 一个m:n联系转换为一个关系模式。:与该联系相连的各实体的码以及联系本身的属性:各实体码的组合例,“选修”联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码: 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并(:在n端关系中加入1端关系的码和联系本身的属性)将其学生关系模式合并:学生(学号,姓名,出生日期,所在系,年级,班级号,平均成绩)逻辑结构设计 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对

19、应的关系模式合并。 三个或三个以上实体间的一个多元联系转换为一个关系模式。:与该多元联系相连的各实体的码以及联系本身的属性:各实体码的组合例,“讲授”联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、职工号和书号为关系的组合码:讲授(课程号,职工号,书号)逻辑结构设计 同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。 具有相同码的关系模式可合并。 目的:减少系统中的关系个数。 合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。优化数据模型的方法 确定数据依赖 对于各

20、个关系模式之间的数据依赖进行极小化处理, 按照数据依赖的理论对关系模式逐一进行分析,确定各关系模式分别属于第几范式。 按照需求分析阶段得到的各种应用对数据处理的要求,确定是否要对它们进行合并或分解。(并不是规范化程度越高越好)优化数据模型的方法 按照需求分析阶段得到的各种应用对数据处理的要求,对关系模式进行必要的分解或合并 水平分解元组(20/80原则) 垂直分解属性分解逻辑设计-学籍管理 教师、课程、学生、选课、讲授模式 教师(教师编号,教师姓名,性别,职称,电话,系编号) 课程(课程号,课程名,上课时间,学分,前修课程) 讲授(教师编号,课程号,开课年度,开课学期) 学生(学号,姓名,性别

21、,出生年月,电话,班级编号) 选课(学号,课程号,教师编号,开课年度,开课学期,成绩)转成数据表的结构设计物理设计 什么是数据库的物理设计 数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。 为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计。物理设计 选择物理数据库设计所需参数 数据库查询事务 查询关系、属性;连接的属性;投影属性 数据更新事务 被更新的关系 每个关系上的更新操作条件所涉及的属性 修改操作要改变的属性值 每个事务在各关系上运行的频率和性能要求物理设计 关系数据库物理设计的内容 1. 为关系模式选择存取方法(

22、建立存取路径) 索引方法,目前主要是B+树索引方法 聚簇(Cluster)方法 HASH方法 2. 设计关系、索引等数据库文件的物理存储结构索引 选择索引存取方法的主要内容根据应用要求确定 对哪些属性列建立索引 对哪些属性列建立组合索引 对哪些索引要设计为唯一索引索引 选择索引存取方法的一般规则 如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引) 如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引 如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引 关系上定义的索引数过多会带来较多的额外开销 维护索引的开销和 查找索引的开销物理设计-学籍管理 对信息系统中经常用查询的数据进行分析 成绩查询:针对学号和课程号建立唯一索引 课程信息查询:针对课程号和课程名建立索引 教师授课信息查询:针对教师编号和课程号建立唯一索引; 教师信息查询:根据教师编号、姓名、系部建立索引 学生信息查询:学号、姓名建立索引。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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