第五章数据库设计和模型.ppt
数据库5章数据库设计
E-R图向关系模型的转换:
码原则:
一个实体型转换为一个关系模式:实体的属性就是关系的 属 性,实体的码就是关系的码。
一个联系转换为一个关系模式:与该联系相连的各实体的码以 及联系的属性转换为该关系的属性。该关系的码有五种情况:
若联系是1:1:则每个实体的码均是该关系的候选码。 若联系是1:n:则关系的码是n端实体的码。 若联系是m:n:则关系的码是参加联系的诸实体的码的集合。 若联系是三个或三个以上的实体的一个多元联系可以转换为一个关系模
① 确定局部E-R图实体之间的函数依赖。 ② 求F的最小依赖集Fm,求其差集,即
D=F-Fm ③ 逐一考察D中每一函数依赖,确定是否为冗余,若是,就把 它去掉。
5.4 逻辑结构设计
任务:将基本E-R模型转换为DBMS所支持的数据模型。 关系型逻辑结构设计的步骤:
1) 将概念结构转换为关系模型 2) 优化模型 3) 设计适合DBMS的子模式
第五章 数据库设计
5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计
数据库技术的研究领域
数据库管理系统软件的研制(×)
DBMS的研制包括DBMS本身以及以DBMS为核心的饿一组相互联系的软 件系统。目标是扩大功能、提高性能和用户的生产率。
5.2 需求分析
5.数据库应用系统的数据字典 包括:
数据项 数据结构 数据流 数据存储 处理过程
5.2 需求分析
例:下图给出了某机器制造厂的零配 件采购子系统的数据流图。该子系统 要处理的工作是生产部门提出的生产 计划根据零配件当前价格计算成本送 主管部门审批,对已批准生产计划制 定采购计划,准备好订货单给供应商。
数据库原理与应用第五章课件
5.2 需求分析
5.2.2 需求分析的方法
需求分析常用的调查方法有以下几种: (1)亲自参与业务活动,了解业务处理的基本情况。 (2)请专人介绍。 (3)在对用户的需求了解过程中一定会存在许多疑问,可以通
过与用户座谈、询问等方式来解决这些疑问。 (4)设计调查表请用户填写。如果调查表设计得合理接受。 (5)查问记录。即查问原系统有关的数据记录。 (6)学习文件。及时了解掌握与用户业务相关的政策和业务规
5.6 数据库实施
所谓数据库的实施,就是根据数据库的逻辑结构 设计和物理结构设计的结果,在具体RDBMS支持的计算 机系统上建立实际的数据库模式、装人数据、并进行 测试和试运行的过程。 (1)散数据库的建立与调整 (2)数据库的调整 (3)应用程序编制与调试 (4)数据库系统的试逻辑结构设计阶段 物理结构设计阶段 数据库实施阶段 数据库运行和维护阶段
5.2 需 求 分 析
5.2.1 需求分析的任务
需求分析的任务是通过详细调查所要处理的对象(组织、 部门、企业等),充分了解原有系统的工作概况,明确用户的 各种数据需求、完整性约束条件、事务处理和安全性条件等, 然后在此基础上确定新系统的功能。新系统必须充分考虑今后 可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。
(1)一个实体型转换为一个关系模式; (2)实体的属性就是关系的属性,实体的码就是关系的码。
5.5 物 理 设 计
数据库物理设计阶段主要包括以下4个过程: (1)分析影响物理数据库设计的因素。 (2)为关系模式选择存取方法。 (3)设计关系、索引等数据库文件的物理存储结构。 (4)评价物理结构。
(1)数据库的转储和恢复。 (2)维持数据库的完整性与安全性。 (3)监测并改善数据库性能。 (4)数据库的重组和重构。
数据库设计ppt课件
• 课程 • 开课教师 • 开课地点 • 选课学期
– 教室信息:教室号和座位数
学籍管理系统需求分析
• 数据完整性约束
– Id号唯一 – 注册的学生数目不能大于该课程的最大人数 – 在相同时间,不能为一个教员指派两门课程 – 相同的时间,一个教室不能有两门课程 – 若学生选修一门课程,若该课程有预备课程则学生
程序编码、 编译联结、 测试
Main( ) …… if…… then …… end
运 行 、 性能监测、转储/恢复
维护
数据库重组和重构
新旧系统转换、运行、维护(修正性、 适应性、改善性维护)
需求分析
• 需求分析就是分析用户的需要与要求
– 需求分析是设计数据库的起点 – 需求分析的结果是否准确地反映了用户的实际要求,
E-R集成冲突
• 两类命名冲突
– 同名异义:不同意义的对象在不同的局部应用中具 有相同的名字 例,局部应用A中将教室称为房间 局部应用B中将学生宿舍称为房间
– 异名同义(一义多名):同一意义的对象在不同的 局部应用中具有不同的名字 例,有的部门把教科书称为课本 有的部门则把教科书称为教材
E-R集成冲突
3. 概括(Generalization)(子类)
– 它抽象了类型之间的“is subset of”的语义 – 概括有一个很重要的性质:继承性。
ER集成的两种方式
• 一次集成
• 一次集成多个分E-R图 • 通常用于局部视图比较简单时
• 逐步累积式(P224图6.25(b))
• 首先集成两个局部视图(通常是比较关键 的两个局部视图)
• 混合策略
Байду номын сангаас
Chapter5-大数据技术原理与应用-第五章-NoSQL数据库-pdf
《大数据技术原理厦与门应大用学》计算机科学系 厦门大学计算机科学系
林子雨 2015年ziy版ulin@
提纲
• 5.1 NoSQL简介 • 5.2 NoSQL兴起的原因 • 5.3 NoSQL与关系数据库的比较 • 5.4 NoSQL的四大类型 • 5.5 NoSQL的三大基石 • 5.6 从NoSQL到NewSQL数据库 • 本章小结
键/值对
典型应用
内容缓存,比如会话、配置文件、参数、购物车等
优点
扩展性好,灵活性好,大量写操作时性能高
缺点 使用者
无法iak)、BestBuy(Riak)、 Twitter(Redis和Memcached)、StackOverFlow(Redis)、 Instagram (Redis)、Youtube(Memcached)、Wikipedia (Memcache育计算机规划教材 《大数据技术原理与应用 ——概念、存储、处理、分析与应用》 (2015年6月第1版) 厦门大学 林子雨 编著,人民邮电出版社 ISBN:978-7-115-39287-9
欢迎访问《大数据技术原理与应用》教材官方网站: /post/bigdata
Dataset
Document_id-1
Document-1
Document_id-2
Document-2
Document_id-3
Document-3
Document_id-4
Document-4
文档数据库
KeyValue Node1
Key-Value2 Key-Value1
KeyValue Node3
数据完整性
容易实现
很难实现
任何一个RDBMS都可以很容易实现数据完整性,比如通过主键或 者非空约束来实现实体完整性,通过主键、外键来实现参照完整 性,通过约束或者触发器来实现用户自定义完整性 但是,在NoSQL数据库却无法实现
数据库原理第五章关系数据库的规范化设计
12
模式分解是关系规范化的 主要方法(二)
与TDC相比,分解为三个关系模式后,数据的冗余度明显 降低。 当新插入一个系时,只要在关系D中添加一条记录。 当某个教师尚未讲课,只要在关系T中添加一条教师记录, 而与TC授课关系无关,这就避免了插入异常。 当某个系的教师不再讲课时,只需在TC中删除该教师的 全部授课记录,而关系D中有关该系的信息仍然保留,从 而不会引起删除异常。 同时,由于数据冗余度的降低,数据没有重复存储,也不 会引起更新异常。
24
2.2 完全函数依赖和部分函数依赖
例如:学生成绩表中
姓名 王一 王二 王三 王一
学号 1 2 3 4
年龄 16 15 16 16
籍贯 河北 山东 北京 天津
姓名不能推出年龄,学号也不能推出年龄,但是 姓名 + 学号能推出年龄,故完全依赖;
学号能直接推出籍贯,故是部分依赖
25
2.3 传递函数依赖
当关系中的元组增加、删除或更新后都不能被破 坏这种函数依赖。因此,必须根据语义来确定属 性之间的函数依赖,而不能单凭某一时刻关系中 的实际数据值来判断。
20
函数依赖的定义和性质(六)
函数依赖可以保证关系分解的无损连接性
设R(X,Y,Z),X,Y,Z为不相交的属性集合,如果X Y或X Z,则有R(X,Y,Z)=R[X,Y]*R[X,Z],其中,R[X,Y]表示关 系R在属性(X,Y)上的投影,即 R等于其投影在X上的自然连 接,这样便保证了关系R分解后不会丢失原有的信息,称为 关系分解的无损连接性
第五章 数据库设计
运动会方面,实体集包括:运动员(编号,姓名,性别,队 伍号),比赛项目(项目名,比赛场地)。其中,一个比赛项 目可供多名运动员参加,一名运动员可参加多个项目。
根据上述条件,分别设计运动队和运动会两个局部E-R图。
第三节 概念结构设计 参赛项目 性别 队伍号 队伍名 教练名 运动员 性别 队伍号 运动员 m 参加 n n 属于
第三节 概念结构设计 分解变换。如果实体集的属性较多,可以进行分解。例如, 对于员工实体集,其属性为员工号、姓名、性别、生日、(所 属)支行名、岗位、工资、奖金。 性别 生日 支行名 岗位 工资 奖金
姓名 员工号 员工
第三节 概念结构设计 可以把员工信息分解为两部分,一部分属于固定信息,一部 分属于变动信息。为了区别这两部分信息,产生一个新的实体 和一个新的联系。
在视图合并阶段,设计者把所有视图有机地合并成统一的概 念模型,这个最终的概念模型支持所有的应用。
第三节 概念结构设计 概念结构设计的策略主要分为自顶向下、自底向上、自内向 外和混合策略四种。 这些方法中最常用的是自底向上方法:首先设计局部概念模 式,然后综合局部概念模式成全局概念模式,最后对全局概念 模式进行评估和优化。
P2 P1 D2明细 D3账目 E2会 E1客 D1付款 打印账目 账务处理 单 户 计
第二节 需求分析 元数据是描述数据的数据,通常由数据结构的描述组成,主 要描述数据及其使用环境,例如数据精度、来源、产生时间、 使用范围、注解等。 数据字典是一种用户可以访问的、记录数据库和应用程序元 数据的集合,通常是用来解释数据表、数据字段等数据结构的 意义,数据字段的取值范围、数据值代表的意义等。 简而言之,数据字典是描述数据的信息集合,是系统中所有 数据的定义集合。
数据字典通常由数据项、数据结构、数据流、数据存储和处 理过程组成。
《软件工程与项目管理》课件_第5章
图5.6 信息内聚模块
(7) 功能内聚。若一个模块中各个部分都是为完成一项 具体功能而协同工作、紧密联系、不可分割的,则称该模块 为功能内聚模块。功能内聚模块是内聚性最强的模块。
2.耦合性 耦合性是对模块之间的相对独立性(互相连接的紧密程 度)的度量。它取决于各个模块之间接口的复杂程度、调用 模块的方式以及哪些信息通过接口。 一般模块之间可能的连接方式有七种,构成耦合性的七 种类型。不同类型耦合的强弱关系如图5.7所示。
析,确定系统具体的实施方案,然后进行结构设计,确定软件结构。 总体设计的一般步骤如下:
(1) 设计系统方案。 (2) 选取一组合理的方案。 (3) 推荐最佳实施方案。 (4) 功能分解。 (5) 设计软件结构。 (6) 设计数据库和文件结构。 (7) 制定测试计划。 (8) 编写概要设计文档。 (9) 审查与复审概要设计文档。
(5) 标记耦合。如果一组模块通过参数表传递记录信息, 则它们之间的耦合称为标记耦合。事实上,这组模块共享了 某一数据结构的子结构,而不是简单变量。这就要求这些模 块都必须清楚该记录的结构,并按结构要求对记录进行操作。
图5.9 控制耦合
(6) 数据耦合。如果一个模块访问另一个模块时,彼此 之间通过数据参数(不是控制参数、公共数据结构或外部变 量)来交换输入、输出信息,而且交换的信息仅限于数据, 则称这种耦合为数据耦合。数据耦合是松散的耦合,模块之 间的独立性比较强。
(2) 逻辑内聚。这种模块把几种相关的功能组合在一起, 每次被调用时,由传送给模块的控制型参数来确定该模块应 执行哪一种功能。逻辑内聚模块比巧合内聚模块的内聚程度 要高,因为它表明了各部分之间在功能上的相关关系。
(3) 时间内聚(经典内聚)。这种模块大多为多功能模块, 但要求模块的各个功能必须在同一时间段内执行,例如初始 化模块和终止模块。时间内聚模块比逻辑内聚模块的内聚程 度又稍高一些。在一般情况下,时间内聚模块各部分可以以 任意的顺序执行,所以它的内部逻辑更简单。
数据库设计PPT课件
2、数据库设计方法 主要包括: • 计算机科学的基础知识; • 软件工程的原理和方法; • 程序设计的方法和技巧; • 数据库的基本知识; • 数据库设计技术; • 应用领域的知识。
新奥尔良(New Orleans)方法。该方法把数 据库设计分为若干阶段和步骤。并采用一些辅 助手段实现每一过程。它运用软件工程的思想, 按一定的设计规程用工程化方法设计数据库。 新奥尔良方法属于规范设计法。规范设计法从 本质上看仍然是手工设计方法,其基本思想是 过程迭代和逐步求精。
需求分析 概念结构设计 逻辑结构设计 物理设计 实施 运行维护
业务流程图,数据流程图 E-R图 功能模块说明,数据结构 存储方法说明 技术手册,用户手册
从严格意义上讲,后2步过程不属于 数据库设计。
在数据库设计开始之前,首先要选定参加设计 的人员,包括系统分析人员、数据库设计人员、系 统开发人员和部分用户代表。其中分析和设计人员 是数据库设计的核心人员,他们将自始至终参与数 据库设计,他们的水平一定程度上决定了数据库系 统的质量。
4、数据库设计各阶段的任务
需求分析 任务:明确用户的要求,提出新系统的处理方案。 文档:业务流程图,数据流程图,数据字典。
概念结构设计 任务:建立概念模型。 文档:E-R图。
逻辑结构设计 任务:建立数据模型。 文档:数据结构(表)。
物理结构设计 任务:确定存取策略。 文档轻重的,他们主 要参加需求分析和数据库的运行维护,他们的积极 参与(不仅仅是配合)不但能加速数据库设计,而 且也是决定数据库设计质量的重要因素。系统开发 人员(包括程序员和操作员)则在系统实施阶段参 与进来,分别负责建立数据库、编制程序和准备软 硬件环境。
在实际中,往往把数据库 设计的过程分为如下6步。
数据库设计ppt课件
完整版PPT课件
6
9.1.2 数据库设计的主要任务
管理信息系统中对于大量数据的存储与共享, 一信般息都需会要用以到某数 种据方库式的存支储持到,数即据录库入中的,大并量在数数据据或库 管理系统的支持下,对数据进行各种加工处理,以 实现查询、统计等功能。因此,管理信息系统开发 过程中,对于数据库的设计是一种重要的任务。
在系统开发过程中,首先要选择确定信息系统被管理的对象,如物资、 产品、原材料、定额、工序等,这些是客观事物。对客观事物进行分析, 抽取能够表述其特征与行为的属性,需要用到信息范畴的相关概念,我 们常用实体关系模型来表示对这些客观事物的认识和描述。最后,要把 这些信息存储在计算机管理信息系统中,则必须将其转变为数据库中的 相关概念,如关系、记录、字段等概念。
完整版PPT课件
13
9.2.2 实体-关系模型
(4)关系是实体之间的相互关联。如学生与老师间 的授课关系、学生与学生间的班长关系。关系有一 对一、一对多、多对多三种不同类型。关系也可以 有属性,如学生与课程之间有选课联系,每个选课 联系都有一个成绩作为其属性。
(5)关系的元或度,参与关联的实体集的个数称为 关系的元。图9.3中,学生选修课程是二元联系。
完整版PPT课件
3
现实世界 认识抽象 信息世界 概念模型
转换
计算机世界 DBMS支持的某种数据模型
图9.1 概念设计和模型设计的关系
完整版PPT课件
4
9.1.1 数据库的基本概念
1、数据库与数据库管理系统
– 数据库(DB)是长期储存在计算机内的、有组 织的、可共享的数据集合。数据库仅仅是一个概 念,是对这种数据集合的统称。数据库由数据库 管理系统(DBMS)统一管理,以保证数据的安全 性、可靠性和提供多用户共享。因此,数据库管 理系统是对这一类软件的统称,如Access、SQL Server是微软公司开发的一个数据库管理系统, 类似的Foxpro、Mysql、Oracle等都分别是一种 数据库管理系统。
数据库设计(共38张PPT)
可将“一方”实体的主关键字纳入“n方”实体转换后
的数据表中作为“外部关键字”,同时把关系的属性也一并
其中。
一对多中的关系转换为数据表
学号
姓名
年龄
性别
N
学生
班级(班级编号、班级名称)
属于
学生(学号、姓名、性别、年龄、班级编 号)
班级
1
编号
名称
多对多的关系转换为数据表
如果实体A和实体B之间是多对多的关系,必须按以下 原则转换化数据表:
第二范式
第二范式是在第一范式的基础上,确保表中的每列都 和主键相关。即要求一个表只描述一件事情。
职工信息
工程信息
劳资信息
第二范式
工程信息
职工信息 劳资信息
第三范式
第三范式是在第二范式的基础上,确保表中每列都 和主键直接相关,而不是间接相关。间接相关又称 为传递依赖。
假设数据表中A、B、C三列,如果A->B,而B->C,则
1. 必须对“关系”单独建立一个数据表。
2. 该数据表的属性中至少要包括实体A和实体B的主关键字作为
外键,并且如果关系有属性,也要归入这个关系中。
多对多的关系转换为数据表
学号
姓名
年龄
性别
学生
学生(学号、姓名、性别、年龄)
N
选课
课程(课程号、名称、课时、学分)
N
选课(编号、学号、课程号)
课程
课程号
名称
ID编号列,它没有实际含义,用于做主键。 例如:通知数据表中除了标题、内容外,还应加一个ID主键列 ,用以区分每条记录。
3. 如果实体之间有某种关系,还要在表中添加外键。
学生选课系统中各实体转换为数 据表
数据库设计方案基础
第五章 数据库设计基础
❖ (1)数据管理系统的功能 ❖ ① 定义数据库。包括:总体逻辑数据结构的定义,局部逻辑
数据结构的定义,存储结构定义,保密定义。 ❖ ② 管理数据库。包括:控制整个数据库系统的运行,数据存
取、插入、删除、修改等操作,数据完整性和完全性控制以及 并发控制等。 ❖ ③ 建立和维护数据库。包括:数据库的建立,数据更新,数 据库再组织,数据库的维护,数据库恢复以及性能监视等。 ❖ ④ 数据通信。具备与操作系统的联机处理、分时系统以及远 程作业输入的相应接口。 ❖ (2) 数据库管理系统中的主要程序模块 ❖ ① 语言处理部分 ❖ 语言处理部分 ❖ 语言处理部分又分为以下四个部分。 ❖ ·数据描述语言DDL解释程序。其中包括模式DDL、子模式 DDL和物理DDL。
第五章 数据库设计基础
❖ ② 由于数据是面向应用的,使程序与数据还是依赖。由于一个文件 中的数据只为一个或几个应用程序所专用,因此,为了适应一些新的 应用,要对文件中的数据进行扩展是很困难的。这是因为,一旦文件 中数据的饿结构被修改,应用程序也必须作相应的修改。同样,如果 在应用程序中对数据的使用方式有了变化,则文件中数据的结构也必 须随之做相应的修改。因此满载文件管理阶段,对数据的使用还是很 不方便的。
2024版《数据库设计》ppt课件
《数据库设计》ppt课件目录•数据库设计概述•需求分析•概念结构设计•逻辑结构设计•物理结构设计•数据库实施与维护•案例分析与实战演练01数据库设计概述数据库设计定义与重要性定义数据库设计是指根据用户需求,运用数据库技术,设计数据库结构、建立数据库及其应用系统的过程。
重要性数据库设计是信息系统开发过程中的重要环节,直接影响系统的性能、可扩展性、可维护性等。
01目标02满足用户需求03保证数据的完整性、一致性和安全性提高数据的共享性和利用率降低数据冗余度,提高数据独立性用户参与原则让用户参与数据库设计全过程,确保设计满足用户需求。
综合性原则综合考虑数据结构、数据操作、数据完整性、安全性等多方面因素。
标准化原则遵循国际、国家和行业标准,提高设计的通用性和可移植性。
优化原则在满足用户需求的前提下,优化数据库性能,提高系统效率。
流程1.需求分析2.概念结构设计1 2 33. 逻辑结构设计4. 物理结构设计5. 数据库实施•数据库运行和维护步骤1.收集和分析用户需求,确定系统功能和性能要求。
2.选择合适的数据模型,设计概念结构,形成概念模式。
02030401 3. 将概念模式转换为逻辑模式,进行逻辑优化。
4. 选择物理存储结构,设计物理模式,进行物理优化。
5. 用DDL 定义数据库结构,组织数据入库,编制与调试应用程序。
6. 试运行数据库系统,进行性能和安全测试,对系统进行评估和调整。
02需求分析需求收集与整理与用户沟通了解用户的业务需求、数据需求和处理需求。
收集资料从现有系统、文档、报表等资料中收集相关信息。
整理需求将收集到的需求进行分类、归纳和整理,形成规范化的需求描述。
数据流图与数据字典数据流图用图形化方式描述系统中数据的流动和处理过程,包括外部实体、数据流、数据存储和处理过程等元素。
数据字典对数据流图中出现的所有元素进行定义和描述,包括数据项、数据结构、数据流、数据存储、处理逻辑和外部实体等。
需求分析评审与确认需求分析评审组织专家和用户代表对需求分析结果进行评审,检查需求描述的完整性、准确性和一致性。
数据库设计与ER模型培训教程PPT课件( 74页)
5.1 数据库设计概述
在具备了DBNS、系统软件、操作系统和 硬件环境的时候,对数据库应用开发人 员来说,就是如何使用这个环境表达用 户的要求,转换成有效的数据库结构, 构成较优的数据库模式。 这个过程称为数据库设计。
4
5.1 数据库设计概述
软件工程
人们认为,应该用科学知识、工程方面的纪律指导软件开发 的过程,以提高软件质量和开发效率,降低开发成本 。
7
5.1 数据库设计概述
数据库工程
以数据库为基础的信息系统通常称为数据库应 用系统,它一般具有信息的采集、组织、加工、 抽取和传播等功能。数据库应用系统的开发是 一项软件工程,但又有自己特有的特点,所以 称为“数据库工程”。
一项数据库工程按内容可分为两部分。 一部分是作为系统核心的数据库应用系统的 设计与实现; 另一部分是相应的应用软件及其他软件(如 通信软件)的设计与实现。
9
5.1 数据库设计概述
(2)需求分析:收集数据库所有用户的信息内 容和处理需求,加以规格化和分析。在分析用 户要求时,要确保用户目标的一致性。
(3)概念设计:把用户的信息要求统一到一个 整体逻辑结构(即“概念模式”)中。此结构 应能表达用户的要求,且独立于DBMS软件和硬 件。
10
5.1 数据库设计概述
34
5.2.4 逻辑设计
(3)应用程序设计梗概:在设计完整的应用程序之 前,先设计出应用程序的草图,对每个应用程序 以内感设计出数据存取功能的梗概,提供程序上 的逻辑接口。
(4)模式评价:对数据库模式进行评价。评价数据 库结构的方法通常有定量分析和性能测量等方法。 定量分析有两个参数:处理频率和数据容量。 处理频率是在数据库运行期间应用程序的使用次 数;数据容量是数据库中记录的个数。数据库增 长过程的具体表现就是这两个参数值的增加。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
本章重要概念(1)
(1)系统目录及其和各子系统的联系。 (2)事务的定义,和的 语 义 , 事 务 的 性 质 , 事务的状态 变迁图。 (3)存储器类型,稳定存储器的实现, 数据传
送过程。 (4)恢复的定义、基本原则和实现方法,
故障的类型,检查点技术,和 操作,运行 记录优先原则。
标志事务开始执行。 和或一起保证了事务的四个性质。 对数据库访问的两个基本操作:读和写,但
完成写操作后,数据可能暂时放在内存中, 而非直接写进数据库。
14
事务的状态变迁图
READ/WRITE
活动状态
局部提交 状态
提交状态
失败状态
异常中止状态
图7.4 事务的状态变迁图
15
主要内容
7.1 系统目录 7.2 事务 7.3 数据库的恢复 7.4 数据库的并发控制 7.5 并发事务的可串行化和可恢复性 7.6 数据库的完整性 7.7 数据库的安全性 小结
REL_NAME KEY_NUMBER MEMBER_ATTR
(b)存储索引信息的目录关系
VIEW_QUERIER
VIEW_NAME
QUERY
VIEW_ATTRIBUTES
VIEW_NAME ATTR_NAME
ATTR_NUM
(c)存储视图信息的目录关系
7
系统目录的扩充图
关系名
属性名
数据类型
R_A
(B):把缓冲块B的 内容传送到磁盘中恰当 的物理块中
input(A)
A
output(B)
B
B
内存
磁盘
块操作
18
数据访问
事务
包含x的块 Bx存在, read(X)
xi
请求
开
read(X)
始
write(X) X
分配 事务工作区
包含x的块 Bx存在, input(B)
磁盘
系统
扫描内存
磁盘缓冲区
19
恢复和原子性的联系
16
存储器类型
易失性存储器( ) 内存、存储器 非易失性存储器( ) 磁盘和磁带 稳定存储器( ) 这是一个理论上的概念。存储在稳定存储器
中的信息是决不会丢失的。 稳定存储器的实现 数据备份 数据银行
17
块和块的操作
块、物理块和缓冲块
块的操作
(A):把物理块A的 内容传送到内存的缓冲 块中。
10
事务的定义
定义7.1 事务()是构成单一逻辑工作单元的操作 集合。 在程序中,事务以 语句开始,以语句或语句结束。 语句表示事务执行成功地结束(提交),此时告诉 系统,数据库要进入一个新的正确状态,该事务对数 据库的所有更新都已交付实施(写入磁盘)。 语句表示事务执行不成功地结束(应该“回退”), 此时告诉系统,已发生错误,数据库可能处在不正确 的状态,该事务对数据库的所有更新必须被撤消,数 据库应恢复该事务到初始状态。
11
事务的性质
性质 原子性():事务是一个不可分割的工作单元。 一致性():即数据不会应事务的执行而遭受破
坏。 隔离性():在多个事务并发执行时,系统应保
证与这些事务先后单独执行时的结果一样。 持久性():一个事务一旦完成全部操作后,它
对数据库的所有更新应永久地反映在数据库 中。
12
例: 事务及其性质
关系名,属性名,属性域(数据类型) 各种约束,主键,辅助键,外键,空值/
非空值 视图的外部级描述,存储结构和索引的
内部级描述 安全性和授权规则 数据完整性规则
注意:这些数据都以表格的形式存在
6
系统目录内容
REL_AND_ATTR_CATALOG
REL_NAM ATTR_NA ATTR_TYP MEMBER_
属性 I_A
K_A 键类型 键编号
K_I
键 外键
R_K
索引
关系 d
查询
基本关系
视图关系
R_F V_A
R_I
属性名
视图属性
索引名
索引类型
属性序号
8
7.1.3 系统目录和各子系统的联系
DML分析校 验程序
DDL编译程序
处理和检查三级 模式两级映象
检查查询涉及的 关系名属性名等
DML编译程序
DML命令的外 部级到概念级
2
本章重要概念(2)
(5)并发操作带来的三个问题,X锁、协议、 协议,S锁、协议、协议,活锁、饿死和死锁, 并发调度,串行调度,并发调度的可串行化,两 段封锁法,中事务的存取模式和隔离级别。 (6)完整性的定义,完整性子系统的功能,完 整性规则的组成。中的三大类完整性约束,3中 的触发器技术。
(7)安全性的定义、级别,权限,中的安全 性机制,几种常用的安全性措施,自然环境的安 全性。
E
ME
E
OF_PK
关系
属性
属性
主
外
名
名
类型
键
键
MEMBER_ OF_FK
FK_RELAT ION
外键 关系
RELATION_KEYS
REL_NAME
INDEX_NAM E
(a)存储键信息的目录关系
MEMBER_ATT R
INDEX_TYPE
ATTR_NO
ASC_DESC
RELATION_INDEXES
假设没有事 务的原子性, 那么重新启 动事务时, 要么A因为 再执行一遍 而为1800, 要么B因从 未执行而保
持原值。
银行转账系统 A=2000 B=1000
output(A)
DBMS
映象 将查询中的视图由外
部级导到概念级映象
处理和检查权限
将查询涉及的概念 模式转换成内模式, 产生访问计划
根据物理结构优 化查询执行方案
授权和安全程序 DML优化程序
9
主要内容
7.1 系统目录 7.2 事务 7.3 数据库的恢复 7.4 数据库的并发控制 7.5 并发事务的可串行化和可恢复性 7.6 数据库的完整性 7.7 数据库的安全性 小结
问题:设银行数据库中 有一转账事务T,从 账号A转一笔款子 ($50)到账号B。
相应的操作如下: (A) ;
–50 ;
(A);
(B) ;
50 ;
(B).
组合成一个事务:
; (A) ; 50 ; (A); (A<0) ; {(B); 50 ; (B); ;}
13
事务提交和事务撤销
事务的所有操作都完成了,则事务提交(), 否则事务撤销()。
3
主要内容和学习要求
7.1 系统目录 5 并发事务的可串行化和可恢复性 7.6 数据库的完整性 7.7 数据库的安全性 小结
4
7.1 系统目录
什么是系统目录 系统目录的重要性 系统目录的内容 元数据
5
7.1.1 系统目录的存储内容