An Introduction to Database System

Slides:



Advertisements
Similar presentations
2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
Advertisements

2014 年 10 月. 学生入学考试 15 位编号 号工号 ****** 北科 MBA 网址: 如: 初试密码为身份证 后六位,登录成功 后可进行修改。
1 计算机软件考试命题模式 计算机软件考试命题模式 张 淑 平 张 淑 平. 2  命题模式内容  组织管理模式 − 命题机构和人员组成 − 命题程序  试卷组成模式.
数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
第六章 数据库技术基础 本章要点  数据库系统概述 数据库系统概述  关系数据库 关系数据库  数据库设计 数据库设计.
Chapter 3: SQL.
计算机科学引论 数据库系统.
数据库系统概论 第一章 绪论 An Introduction to Database Systems
Database Theory and Application Database Theory and Application
单项选择题 判断题 陈 琳.
An Introduction to Database System An Introduction to Database System
An Introduction to Database System
An Introduction to Database System
第七章 数据库设计 7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计
Principle and Application of Database
第七章 数据库设计 7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计
初级会计电算化 (用友T3) 制作人:张爱红.
第7章 数据库设计.
第六章 数据库和ADO.NET 褚龙现 软件学院.
Database Technology and Application
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
数据库原理与应用 计算机与信息工程学院 1/.
第五章 数据库设计 5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计 本章小结.
第1章 数据库基础知识 1.1 数据处理技术的发展 1.2 数据抽象与模型 1.3 关系模型.
数据库系统教程 第2章 数据模型与数据库结构 开场白: 2017年3月21日11时33分2017年3月21日11时33分 1.
常用逻辑用语复习课 李娟.
Database Principles & Applications
Oracle数据库 Oracle 子程序.
工作任务之: 1、“网上考试系统”数据库分析 2、“网上考试系统”数据库概要设计 3、“网上考试系统”数据库逻辑设计
第五章 数据库设计 数据库设计概述 需求分析 概念结构设计 设计案例 逻辑结构设计 数据库物理设计 本章小结.
第八章 数据库设计 8.1 数据库设计概述 8.2 需求分析 8.3 概念结构设计 8.4 逻辑结构设计 8.5 数据库的物理设计
刘红岩 清华大学 管理科学与工程系 第6章 ER模型向关系模型的转换 刘红岩 清华大学 管理科学与工程系
第8章 数据库设计 8.1 数据库设计概述 8.2 数据库需求分析 8.3 数据库结构设计 8.4 数据库行为设计 8.5 数据库的实施
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
计算机基础知识 丁家营镇九年制学校 徐中先.
《数据库原理及应用》课程介绍 信息工程学院 孙俊国
作业4讲评.
面向对象建模技术 软件工程系 林 琳.
元素替换法 ——行列式按行(列)展开(推论)
段磊 王慧锋 TEL: qq群: 数据库系统原理课程设计 实验环节2 段磊 王慧锋 TEL: qq群:
An Introduction to Database System
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第17章 网站发布.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
数据库设计是信息系统的核心组成部分 从现实世界到数据世界的转换的过程
整合思维导图的初中英语教学设计 主讲人:卢璐.
《编译原理与技术》 期末复习 计算机科学与技术学院 郑启龙 李 诚 25/12/2018.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
解决变化问题的自底向上 流程建模方法 严志民 徐玮.
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
VisComposer 2019/4/17.
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
第6章 数据库建模 大多数软件系统都需要处理大量数据,数据库是软件系统的重要组成部分,数据库也是软件系统的基础。在面向数据流的软件设计方法中,是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构,并由此建立E-R图,确定数据库结构。而在面向对象的软件开发过程中,通常是先建立设计模型,然后将永久类及永久类之间的关系映射为数据库的表结构等,我们将在第7章的第9节介绍采用人工和建模工具的自动映射方法。
数据集的抽取式摘要 程龚, 徐丹云.
1.把下面的关系模式转化为E-R图 1)系(系号,系名,电话) 2)教师(工号,姓名,性别,年龄,系号)
Visual Basic程序设计 第13章 访问数据库
第一章 绪论 1.1 引言 1.2 逻辑结构和存储结构 1.3 算法.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
VB与Access数据库的连接.
第三节 数量积 向量积 混合积 一、向量的数量积 二、向量的向量积 三、向量的混合积 四、小结 思考题.
学习数据结构的意义 (C语言版) 《数据结构》在线开放课程 主讲人:李刚
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
入侵检测技术 大连理工大学软件学院 毕玲.
Presentation transcript:

An Introduction to Database System 数据库系统概论 An Introduction to Database System 第七章 数据库设计 计算机学院

7.1 数据库设计概述 数据库设计 (Database Design) 7.1 数据库设计概述 数据库设计 (Database Design) 概念:是指对于一个给定的应用环境,设计最优的数据库模式 ,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。 目标:是在DBMS的支持下,按照应用的要求,为某一部门或组织设计一个结构合理、使用方便、效率较高的数据库及其应用系统

7.2 数据库设计的基本步骤 数据库设计分6个阶段 需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库实施 数据库运行和维护

7.2 数据库设计的基本步骤 其中, 需求分析和概念设计独立于任何数据库管理系统 逻辑设计和物理设计与选用的DBMS密切相关

7.2 数据库设计的基本步骤之一  ⒈需求分析阶段 调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。 最困难、最耗费时间的一步

1. 需求分析的任务 详细调查现实世界要处理的对象(组织、部门、企业等) 充分了解原系统(手工系统或计算机系统) 明确用户的各种需求 确定新系统的功能 充分考虑今后可能的扩充和改变

分析和表达用户需求 -------数据流图 1.首先把任何一个系统都抽象为DFD:是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。 DFD由数据流、加工、数据存储和外部实体4个要素构成。外部实体是指存在于软件系统之外的人员或组织,它指出系统所需数据的发源地和系统所产生数据的归宿地。 数据流 数据 存储 信息要求 来源 处理 输出 处理要求

进一步分析和表达用户需求(续) 2.分解处理功能和数据 3.将分析结果再次提交给用户,征得用户的认可 (1)分解处理功能 (2)分解数据 将处理功能的具体内容分解为若干子功能 (2)分解数据 处理功能逐步分解同时,逐级分解所用数据,形成若干层次的数据流图DFD (3)表达方法 处理逻辑:用判定表或判定树来描述 数据:用数据字典来描述 3.将分析结果再次提交给用户,征得用户的认可

需求分析过程 需求分析过程

什么是数据字典 数据字典:数据库中所有对象及其关系的信息集合。 数据字典的用途:进行详细的数据收集和数据分析所获得的主要结果 数据字典的内容 数据项 数据结构 数据流 数据存储 处理过程

数据字典举例 例:学生学籍管理子系统的数据字典。 (1)数据项,以“学号”为例: 编号: 1 数据项名称 学号 数据项别名 Sno 说 明 唯一标识每个学生 类 型 字符型 长 度 10 取值范围及含义 0000000000至9999999999,前4位是入学年份,5-6位院系编号,7-8位专业编号,9-10位自然序号

数据字典举例 (2)数据结构,以“学生”为例 “学生”是该系统中的一个核心数据结构: 数据结构 学生 数据结构 学生 含义说明 是学籍管理子系统的主体数据结构, 定义了 一个学生的有关信息 组成 学号,姓名,性别,年龄,所在系,年级

数据字典举例 (3)数据流,“学生成绩数据”可如下描述: 编号: 12 数据流名称 学生成绩数据 数据流别名 无 说 明 学生所选课程的成绩 数据流来源 院系(教师) 数据流流向 教务处 数据流组成 学生基本信息数据=学号+姓名+性别+年龄+所在系+年级 数据流量 1次/半年

数据字典举例 (4)处理过程“分配宿舍”可如下描述: 处理过程 分配宿舍 说明 为所有新生分配学生宿舍 输入 学生,宿舍 输出 宿舍安排  处理过程 分配宿舍  说明    为所有新生分配学生宿舍  输入    学生,宿舍  输出    宿舍安排  处理    在新生报到后,为所有新生分配学生宿舍。 要求同一间宿舍只能安排同一性别的学生, 同一个学生只能安排在一个宿舍中。 每个学生的居住面积不小于3平方米。 安排新生宿舍其处理时间应不超过15分钟。

数据字典小结 数据字典是关于数据库中数据的描述,是元数据,而不是数据本身 数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善 元数据:描述数据及其环境的数据

需求分析小结 设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充 必须强调用户的参与

7.2 数据库设计的基本步骤之二 ⒉ 概念结构设计阶段 整个数据库设计的关键  ⒉ 概念结构设计阶段 整个数据库设计的关键 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型 概念结构是对现实世界的一种抽象

⒉ 概念结构设计阶段 现实世界 机器世界 信息世界 需求分析 概念结构设计 工具:DFD,DD 工具:E-R

概念结构设计的特点 概念结构设计的特点 (1) 能真实、充分地反映现实世界 (2) 易于理解 (3) 易于更改 (4) 易于向关系、网状、层次等各种数据模型转换

概念结构设计的方法与步骤 常用策略 自顶向下地进行需求分析 自底向上地设计概念结构

设计 E-R 模型 在多层的数据流图中选择一个适当层次的数据流图,作为设计分E-R图的出发点 通常以中层数据流图作为设计分E-R图的依据

设计 E-R模型 设计分E-R图的出发点

逐一设计分E-R图(续) [实例]销售管理子系统分E-R图的设计 销售管理子系统的主要功能: 处理顾客和销售员送来的订单 工厂是根据订货安排生产的 交出货物同时开出发票 收到顾客付款后,根据发票存根和信贷情况进行应收款处理 接受订单 生产 提交货物 开发票 收款处理 收款处理

逐一设计分E-R图(续) 下图是第一层数据流图,虚线部分划出了系统边界 图7.18 销售管理子系统第一层数据流图

逐一设计分E-R图(续) 上图中把系统功能又分为4个子系统,下面四个图是第二层数据流图 图7.19 接收订单

逐一设计分E-R图(续) 图7.20 处理订单

逐一设计分E-R图(续) 图7.21 开发票

逐一设计分E-R图(续) 图7.22 支付过账

逐一设计分E-R图(续) 参照第二层数据流图和数据字典,遵循两个准则,进行如下调整: (1) 订单与订单细节是1∶n的联系 (2) 原订单和产品的联系实际上是订单细节和产品的联系。 (3) 图7.21中“发票主清单”是一个数据存储,不必作为实体加入分E-R图 (4) 工厂对大宗订货给予优惠

逐一设计分E-R图(续) 得到分E-R图如下图所示 销售管理子系统的分E-R图

逐一设计分E-R图(续) 对每个实体定义的属性如下: 顾客:{顾客号,顾客名,地址,电话,信贷状况,账目余额} 订单:{订单号,顾客号,订货项数,订货日期,交货日期,工种号,生产地点} 订单细则:{订单号,细则号,零件号,订货数,金额} 应收账款:{顾客号,订单号,发票号,应收金额,支付日期,支付金额, 当前余额,货款限额} 产品描述:{产品号,产品名,单价,重量} 折扣规则:{产品号,订货量,折扣}

7.2 数据库设计的基本步骤(续) ⒊逻辑结构设计阶段 逻辑结构:是一种由具体的DBMS支持的数据模型。 主要任务:按照一定的规则,将概念结构(独立于任何DBMS的数据结构)转换为某个DBMS所支持的一组关系模式,并利用关系数据库的规范理论对这组关系模式进行规范化设计和处理。

逻辑结构设计的步骤 对于E-R图表示的概念结构来说,逻辑结构的设计一般分为三个步骤: (1)将由E-R图表示的概念结构转换成关系模型 (2)利用规范化理论对关系模型进行规范化设计 (3)对关系模型进行优化

步骤1: E-R图向关系模型的转换 E-R图向关系模型转换的一般规则 : (1)一个1:1联系可以转换为一个独立关系模式,也可以与任意一端对应的关系模式合并. 如“院系”和“系主任”. (2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并. 如”院系”和”学生” (3) 一个m:n联系转换为一个关系模式。 例,“选修”联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:   选修(学号,课程号,成绩)

步骤1: E-R图向关系模型的转换(续) (4)三个或三个以上实体间的一个多元联系转换为一个关系模式。 例,“讲授”联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、职工号和书号为关系的组合码:   讲授(课程号,职工号,书号)

步骤1: E-R图向关系模型的转换(续) (5)具有相同码的关系模式可合并 目的:减少系统中的关系个数 合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序

步骤1: E-R图向关系模型的转换(续) 注意: 从理论上讲,1:1联系可以与任意一端对应的关系模式合并. 但在一些情况下,与不同的关系模式合并效率会大不一样。因此究竟应该与哪端的关系模式合并需要依应用的具体情况而定。 由于连接操作是最费时的操作,所以一般应以尽量减少连接操作为目标。 例如,如果经常要查询某个班级的班主任姓名,则将管理联系与教师关系合并更好些。

步骤1: E-R图向关系模型的转换(续) [例] 把图7.30(P223)中虚线上部的E-R图转换为关系模型 部门实体对应的关系模式 部门(部门号,部门名,经理的职工号,…) 此关系模式已包含了联系“领导”所对应的关系模式 经理的职工号是关系的候选码 职工实体对应的关系模式 职工(职工号、部门号,职工名,职务,…) 该关系模式已包含了联系“属于”所对应的关系模式

步骤1: E-R图向关系模型的转换(续) [例] 把图7.30中虚线上部的E-R图转换为关系模型(续) 产品实体对应的关系模式 产品(产品号,产品名,产品组长的职工号,…) 供应商实体对应的关系模式 供应商(供应商号,姓名,…) 零件实体对应的关系模式 零件(零件号,零件名,…)

步骤1: E-R图向关系模型的转换(续) [例] 把图7.30中虚线上部的E-R图转换为关系模型(续) 联系“参加”所对应的关系模式 职工工作(职工号,产品号,工作天数,…) 联系“供应”所对应的关系模式 供应(产品号,供应商号,零件号,供应量)

步骤2: 关系数据模型的规范化设计 关系模型的规范化设计就是按照函数依赖理论和范式理论,对逻辑结构设计的第一步所设计的关系模型进行规范化设计 规范化设计的方法:

步骤2: 关系数据模型的规范化设计(续) 规范化设计的方法 1. 确定数据依赖 按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖 2. 消除冗余的联系 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。

步骤2: 关系数据模型的规范化设计(续) 规范化设计的方法 3. 确定所属范式 按照数据依赖的理论对关系模式逐一进行分析 考查是否存在部分函数依赖、传递函数依赖、多值依赖等 确定各关系模式分别属于第几范式

步骤3: 关系数据模型的优化 注意:并不是规范化程度越高的关系就越优 一般说来,第三范式就足够了 关系数据模型的优化 前面两步基本上是一些形式化的方法,没有太多考虑用户的需求。 关系模型的优化,按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。 注意:并不是规范化程度越高的关系就越优 一般说来,第三范式就足够了

步骤3: 关系数据模型的优化 例:在关系模式 学生成绩单(学号,英语,数学,语文,平均成绩) 中存在下列函数依赖: 问题1:属于几范式? 问题2:该模式的优劣? 存在传递函数信赖,是2NF关系  学号→英语  学号→数学  学号→语文  学号→平均成绩 (英语, 数学, 语文)→平均成绩 虽然平均成绩可以由其他属性推算出来,但如果应用中需要经常查询学生的平均成绩,为提高效率,仍然可保留该冗余数据,对关系模式不再做进一步分解.

7.2 数据库设计的基本步骤(续) ⒋数据库物理设计阶段 为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法) 它取决于DBMS

7.2 数据库设计的基本步骤(续) 运用DBMS提供的数据库语言(如SQL)及宿主语言,根据逻辑设计和物理设计的结果 ⒌数据库实施阶段 建立数据库 编制与调试应用程序 组织数据入库 进行试运行

7.2 数据库设计的基本步骤(续) ⒍数据库运行和维护阶段 数据库应用系统经过试运行后即可投入正式运行 在数据库系统运行过程中必须不断地对其进行评价、调整与修改

小结

数据库设计各个阶段的设计描述

下课了。。。 攀 登 休息一会儿。。。