数据库第九章
- 格式:ppt
- 大小:381.00 KB
- 文档页数:2
9.1 名词解释(1)OODBS:是指面向对象数据库系统,它既具数据库管理的基本功能,又能支持面向对象的数据模型。
(2)ORDBS:基于对象关系数据模型的DBS称为对象关系数据库系统(ORDBS)。
(3)平面关系模型:传统的关系模型称为“平面关系模型”,它要求关系模式具有第一范式(1NF)性质,关系具有规范化的结构。
也就是规定属性值是不可分解的,即不允许属性值具有复合结构(元组或关系)。
(4)嵌套关系模型:是从平面关系模型发展而成的。
它允许关系的属性值又可以是一个关系,而且可以出现多次嵌套。
嵌套关系突破了1NF的定义框架,是“非1NF关系”。
(5)复合对象模型:在嵌套关系模型上进一步放宽要求。
在关系定义上,集合与元组不再有交替出现的严格限制,此时的关系中,属性类型可以是基本数据类型、结构类型(元组类型)或集体类型(即关系类型)。
(6)数据的泛化/细化:是对概念之间联系进行抽象的一种方法。
当在较低层上的抽象表达了与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的"泛化",而较低层上抽象是较高层上抽象的"细化"。
(7)对象关系模型:在传统关系数据基础上,提供元组、数组、集合等更为丰富的数据类型及处理新数据类型操作的能力而形成的数据模型。
(注:传统关系模型只支持字符、数值、字串,布尔值等等基本数据类型及其处理功能)(8)类型级继承性:当继承性发生在类型级时,子类型继承了超类型的属性。
也就是说,超类型所具有的属性,在子类上也具有。
(9)表级继承性:继承性也可发生在表级,(就是元组集合上发生继承),子表继承超表全部属性,超表中每个元组最多可以与子表中一个元组对应,而子表中的每个元组在超表中恰有一个元组对应,并在继承的属性值上具有相同的值。
(10)引用类型:数据类型可以嵌套定义,在嵌套引用时,不是引用对象本身,而是个用对象标识符(即指针),这种指针被称为引用类型。
第9章 应用程序接口任何客户端应用程序都是使用一种接口来与数据库进行通信的。
SQL编程技术可以提高应用程序和关系数据库之间的可操作性。
常用的SQL编程的方式有嵌入式SQL、ODBC、OLEDB、ADO和JDBC等。
9畅1 嵌入式SQL嵌入式SQL是指将SQL语句嵌入到程序设计语言中使用,即用某种程序设计语言(例如,C、C++、Java等)编写程序,该程序的某些函数或语句实际是SQL语句。
被嵌入的程序设计语言称为宿主语言,简称为主语言。
9畅1畅1 嵌入式SQL的处理过程图9畅1 嵌入式SQL的处理过程对于含有嵌入式SQL的程序,关系数据库管理系统的预处理程序会对整个程序进行扫描,识别出嵌入式SQL语句,再把这些嵌入式SQL转换成宿主语言的函数调用语句,该函数调用把SQL语句作为字符串参数并且执行该SQL语句,以便宿主语言编译程序能识别它们,然后由宿主语言的编译程序将纯的宿主语言程序编译成目标代码。
整个过程如图9畅1所示。
9畅1畅2 嵌入式SQL与宿主语言的接口嵌入式SQL和宿主语言程序之间是通过宿主语言变量来传递信息,嵌入式SQL和宿主语言都可以读或写宿主语言变量,这些变量称为主变量。
当SQL语句引用主变量时,主变量前面要加上冒号,但在宿主语言的语句中变量前没有冒号。
在宿主语言中使用SQL语句时,在SQL语句之前要加上关键字EXECSQL。
所有的主变量的说明必须放在以下两个嵌入式SQL语句之间。
EXECSQLBEGINDECLARESECTION;…EXECSQLENDDECLARESECTION;・712・华中科技大学管理学院这两个嵌入式SQL语句中间的内容称为说明段,说明段中变量说明的格式是宿主语言要求的。
说明之后,主变量可以在SQL语句中任何一个能够使用表达式的地方出现。
【例9‐1】 下列语句会出现在更新关系学生Student(学号,姓名,年龄)的C函数中。
EXECSQLBEGINDECLARESECTION;charSID[2],Sname[10];intAge;EXECSQLENDDECLARESECTION;其中,第一句和最后一句是说明段开始和结束所必需的。
第九章习题一、选择题:1.保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。
这是指数据的____。
A.安全性B.完整性C.并发控制D.恢复答案:A2.在数据系统中,对存取权限的定义称为____。
A.命令B.授权C.定义D.审计答案:B3.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的____。
A.可靠性B.一致性C.完整性D.安全性答案:D4.授权编译系统和合法性检查机制一起组成了____子系统。
A.安全性B.完整性C.并发控制D.恢复答案:A5.在数据库的安全性控制中,为了保证用户只能存取他有权存取的数据。
在授权的定义中,数据对象的____,授权子系统就越灵活。
A.范围越小B.范围越大C.约束越细致D.范围越适中答案:A6.按TCSEC(TDI)系统安全标准,系统可信程度逐渐增高的次序是________。
A. D、C、B、AB. A、B、C、DC. D、B2、B1、CD. C、B1、B2、D答案:A7.________是最低级别,在安全性方面几乎没有什么专门的机制来保障。
A.D级B.C2级C.B1级D.A级答案:A8.________是安全产品的最低档次,提供受控的存取保护(DAC)。
很多商业产品已得到该级别的认证。
A.D级B.C2级C.B1级D.A级答案:B9.________对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)以及审计等安全机制,能够较好地满足大型企业或一般政府部门对于数据的安全需求,是真正意义上的安全产品。
A.D级B.C2级C.B1级D.A级答案:C10.________提供验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。
A.D级B.C2级C.B1级D.A级答案:D二、填空题:1.保护数据安全性的一般方法是____。
答案:设置用户标识和存取权限控制2.数据的安全性是指____。
第9章数据库恢复技术1.试述事务的概念及事务的4 个特性。
答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务具有4 个特性:原子性(Atomicity )、一致性(consistency )、隔离性( Isolation )和持续性(Durability )。
这4 个特性也简称为ACID 特性。
原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:一个事务的执行不能被其他事务干扰。
即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性:持续性也称永久性(Perfnanence ) ,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
接下来的其他操作或故障不应该对其执行结果有任何影响。
2 .为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。
答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
例如某工厂的库存管理系统中,要把数量为Q 的某种零件从仓库1 移到仓库2 存放。
则可以定义一个事务T , T 包括两个操作;Ql = Ql 一Q , Q2= Q2 + Q。
如果T 非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q 。
3 .数据库中为什么要有恢复子系统?它的功能是什么?答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。
第9章MySQL中的事务及并发控制事务是多用户系统的一个数据操作基本单元,一个事务在执行过程中对资源的占用方式是动态的,同一时刻需要的资源是有限的。
如果事务按串行的方式执行,那么系统资源会大量处于空闲状态,为了提高系统资源的利用率,充分实现数据资源的共享,应允许多个事务并行地执行。
因此,数据库管理系统必须对多事务的并发操作加以控制,提供一整套完善的并发控制机制,以防止多用户并发使用数据库时造成数据错误和程序运行错误,从而保证数据的完整性。
【学习目标】●事务的概念及事务的ACID特性:原子性、持久性、隔离性和一致性●事务SQL控制语句●事务的可串行化调度●并发操作的三种问题:丢失修改、读脏数据和不可重复读●MySQL中的封锁机制及三个级别封锁协议9.1 事务9.1.1 事务的概念如果一个业务逻辑中包含的若干操作,要么都成功执行要么不执行其中任何一个操作,是一个不可分割的工作单元,那么这组操作序列我们定义为事务。
9.1.2 事务的ACID特性事务是用户定义的一组操作序列,这些操作要么全做要么全不做,事务的四个特性包括:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
1. 原子性:事务里面的操作要么都执行,要么都不执行2. 一致性:事务执行之前和执行之后数据库状态保持一致3. 隔离性:一个事务的执行不被其他事务干扰4. 持久性:事务对数据库的改变是永久性的9.1.3 MySQL事务控制语句MySQL中可以使用BEGIN开始事务,使用COMMIT结束事务,中间可以使用ROLLBACK回滚事务。
COMMIT的作用是提交,即提交事务的所有操作,事务提交是将事务中所有对数据的更新写回到磁盘上的物理数据库中去,事务正常结束;ROLLBACK的作用是回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤销,回滚到事务开始时的状态。
第九章数据库应用设计方法1.试述数据库设计的基本过程。
答:数据库设计过程通常包括六个阶段: ( l )需求分析; ( 2 )概念结构设计; ( 3 )逻辑结构设计及优化; ( 4 )数据库物理设计; ( 5 )数据库实现; ( 6 )数据库运行和维护。
这是一个完整的实际数据库及其应用系统的设计过程。
设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。
2.简述需求分析的步骤。
答:一般来说,需求分析工作可分为需求调研、需求分析、需求规范说明书编制和需求验证4个步骤。
1)需求调研是通过了解用户的组织机构情况、了解用户各部门的业务活动情况、确定系统边界等工作完成用户需求的收集、调查。
2)需求分析。
完成对用户活动的调查分析后,还需要进一步分析和抽象用户的需求,使之转换为后续各设计阶段可用的形式。
具体来说就是用户对数据库应用系统的各种需求,包括用户对数据信息存储的需求、数据信息的处理需求、业务数据流需求等。
需求分析的方法主要包括原型化方法、结构化方法及数据流分析方法等。
3)需求规范说明书编制。
需求规范说明书阐述数据库应用系统所必须提供的功能和性能要求,以及运行的实际约束条件。
需求规范说明书以书面方式记录用户与开发方所达成的产品需求协议条款,不仅是用户对最终产品的接受基础,也是开发方在进行设计、实现与测试运行的规范。
4)需求验证。
需求验证主要包括有效性验证、一致性验证和完备性验证。
3.数据字典的内容是什么?答:数据字典存放了系统所用到的数据信息,通常数据字典包含了5个基本组成部分:数据项、数据结构、数据流、数据存储和处理过程。
1)数据项。
数据项记录了数据对象的基本信息,是不可再分的基本数据单位,描述了数据的静态特性。
数据项包含了对数据对象的区分数据对象完整性、一致性约束的描述。
2)数据结构。
数据结构反映了数据之间的组合关系,也可以是由多个数据结构的复合。
3)数据流。
数据流是对数据动态特性的描述,表示了数据结构沿着系统的事务和处理过程中的传输流向。