一 事务处理介绍 事务是这样一种机制,它确保多个SQL语句被当作单个工作单 元来处理。
事务具有以下的作用: * 一致性:同时进行的查询和更新彼此不会发生冲突,其他 用户不会看到发生了变化但尚未提交的数据。 * 可恢复性:一旦系统故障,数据库会自动地完全恢复未完 成的事务。
二 事务与一致性 事务是完整性的单位,一个事务的执行是把数据库从一个一 致的状态转换成另一个一致的状态。因此,如果事务孤立执行时 是正确的,但如果多个事务并发交错地执行,就可能相互干扰, 造成数据库状态的不一致。
在多用户环境中,数据库必须避免同 时进行的查询和更新发生冲突。这一点是很重要的,如果正在被 处理的数据能够在该处理正在运行时被另一用户的修改所改变, 那么该处理结果是不明确的。
不加控制的并发存取会产生以下几种错误: 1 丢失修改(lost updates) 当多个事务并发修改一个数据时,不加控制会得出错误的结 果,一个修改会覆盖掉另一个修改。 2 读的不可重复性 当多个事务按某种时间顺序存取若干数据时,如果对并发存 取不加控制,也会产生错误。
3 脏读(DIRDY DATA),读的不一致性 4 光标带来的当前值的混乱 事务在执行过程中它在某个表上的当前查找位置是由光标表 示的。光标指向当前正处理的记录。
当处理完该条记录后,则指 向下一条记录。在多个事务并发执行时,某一事务的修改可能产 生负作用,使与这些光标有关的事务出错。
5 未释放修改造成连锁退出 一个事务在进行修改操作的过程中可能会发生故障,这时需 要将已做的修改回退(Rollback)。如果在已进行过或已发现错 误尚未复原之前允许其它事务读已做过修改(脏读),则会导致 连锁退出。
6 一事务在对一表更新时,另外的事务却修改或删除此表的 定义。 数据库会为每个事务自动地设置适当级别的锁定。
对于前面 讲述的问题:脏读、未释放修改造成的连锁退出、一事务在对一 表更新时另外的事务却修改或删除此表的定义,数据库都会自动 解决。而另外的三个问题则需要在编程过程中人为地定义事务或 加锁来解决。
三 事务和恢复 数据库本身肩负着管理事务的责任。事务是最小的逻辑工作 单元,在这个工作单元中,对数据库的所有更新工作,要么必须 全部成功,要么必须全部失败(回退)。
只要应用程序指定了某 段程序为一个事务并做了相应的处理(提交或回退),数据库系 统会自动维护事务本身的特性。 四 ORACLE数据库的事务定义 ORACLE事务从COMMIT、ROLLBACK、连接到数据库或开始第一 条可执行的SQL语句时开始,到一条COMMIT、ROLLBACK语句或退出 数据库时结束。
如果在一个事务中包含DDL语句,则在DDL语句的 前后都会隐含地执行COMMIT语句,从而开始或结束一个事务。 如果一个事务由于某些故障或者由于用户改变主意而必须在 提交前取消它,则数据库被恢复到这些语句和过程执行之前的状 态。
利用ROLLBACK语句可以在COMMIT命令前随时撤消或回退一个 事务。可以回退整个事务,也可以会退部分事务,但是不能回退 一个已经被提交的事务。
回退部分事务的ROLLBACK命令为: ROLLBACK to savepoint 存储点名 存储点是用户放入事务中的标记,用来表示一个可被回退的 位置。存储点通过在事务中放入一个SAVEPOINT命令而被插入。
该 命令的语法是: SAVEPOINT 存储点名 如果在ROLLBACK语句中没有给出存储点名,则整个事务被回 退。 五 SYBASE数据库的事务定义 SYBASE通过使用BEGIN TRANsaction和COMMIT TRANsaction命令指 示SQL将任意数目的语句作为一个单元来处理。
ROLLBACK TRANsaction 命令则允许用户恢复到事务的开始,或恢复到事务内部已经被用SAVE TRANsaction命令定义的存储点上。 BEGIN TRANsaction和COMMIT TRANsaction能够包含任意数目的SQL 语句和存储过程,方法很简单: BEGIN TRANsaction [事务名称] COMMIT TRANsaction 如果一个事务由于某些故障或者由于用户改变主意而必须在提交 前取消它,则数据库被恢复到这些语句和过程执行之前的状态。
利用ROLLBACK TRANsaction命令可以在COMMIT TRANsaction命令 前随时回退一个事务。可以回退整个事务,也可以回退部分事务,但 是不能回退一个已经被提交的事务。
ROLLBACK TRANsaction命令为: ROLLBACK TRANsaction [事务名|存储点名] 存储点名是用户放入事务中的标记,用来表示一个可以被回退的 位置。存储点名通过在事务中放入一个SAVE TRANsaction命令而被插 入。
该命令的句法是: SAVE TRANsaction 存储点名 如果在ROLLBACK TRANsaction中没有给出存储点名或事务名,则 事务被回退到批处理中的第一个BEGIN TRANsaction语句处。
第一章 数据库基础知识本章以概念为主,主要是了解数据库的基本概念,数据库技术的发展,数据模型,重点是关系型数据。
第一节:信息,数据与数据处理一、信息与数据:1、信息:是现实世界事物的存在方式或运动状态的反映。或认为,信息是一种已经被加工为特定形式的数据。
信息的主要特征是:信息的传递需要物质载体,信息的获取和传递要消费能量;信息可以感知;信息可以存储、压缩、加工、传递、共享、扩散、再生和增值2、数据:数据是信息的载体和具体表现形式,信息不随着数据形式的变化而变化。数据有文字、数字、图形、声音等表现形式。
3、数据与信息的关系:一般情况下将数据与信息作为一个概念而不加区分。二、数据处理与数据管理技术:1、数据处理:数据处理是对各种形式的数据进行收集、存储、加工和传输等活动的总称。
2、数据管理:数据收集、分类、组织、编码、存储、检索、传输和维护等环节是数据处理的基本操作,称为数据管理。数据管理是数据处理的核心问题。
3、数据库技术所研究的问题不是如何科学的进行数据管理。4、数据管理技术的三个阶段:人工管理,文件管理和数据库系统。
第二节:数据库技术的发展一、数据库的发展:数据库的发展经历了三个阶段:1、层次型和网状型: 代表产品是1969年IBM公司研制的层次模型数据库管理系统IMS。2、关系型数据型库: 目前大部分数据库采用的是关系型数据库。
1970年IBM公司的研究员E.F.Codd提出了关系模型。其代表产品为sysem R和Inges。
3、第三代数据库将为更加丰富的数据模型和更强大的数据管理功能为特征,以提供传统数据库系统难以支持的新应用。它必须支持面向对象,具有开放性,能够在多个平台上使用。
二、数据库技术的发展趋势:1、面向对象的方法和技术对数据库发展的影响:数据库研究人员借鉴和吸收了面向对旬的方法和技术,提出了面向对象数据模型。2、数据库技术与多学科技术的有机组合:3、面向专门应用领域的数据库技术三、数据库系统的组成:数据库系统(DBS)是一个采用数据库技术,具有管理数据库功能,由硬件、软件、数据库及各类人员组成的计算机系统。
1、数据库(DB):数据库是以一定的组织方式存放于计算机外存储器中相互关联的数据集合,它是数据库系统的核心和管理对象,其数据是集成的、共享的以及冗余最小的。2、数据库管理系统(DBMS):数据库管理系统是维护和管理数据库的软件,是数据库与用户之间的界面。
作为数据库的核心软件,提供建立、操作、维护数据库的命令和方法。3、应用程序:对数据库中数据进行各种处理的程序,由用户编写。
4、计算机软件:5、计算机硬件:包括CPU、内存、磁盘等。要求有足够大的内存来存放操作系统、数据库管理系统的核心模块以及数据库缓冲;足够大的磁盘能够直接存取和备份数据;比较主的通道能力;支持联网,实现数据共享。
6、各类人员。四、数据库系统的特点:1、数据共享:2、面向全组织的数据结构化:数据不再从属于一个特定应用,而是按照某种模型组织成为一个结构化的整。
它描述数据要身的特性,也描述数据与数据之间的种种联系。3、数据独立性:4、可控数据冗余度:5、统一数据控制功能:数据安全性控制:指采取一定的安全保密措施确保数据库中的数据不被非法用户存取而造成数据的泄密和破坏;数据完整性控制:是指数据的正确性、有效性与相容性。
并发控制:多个用户对数据进行存取时,采取必要的措施进行数据保护;数据恢复:系统能进行应急处理,把数据恢复到正确状态。第三节:数据模型一、数据组织:关系型数据库中的数据层次如下:1、数据项(field):又称字段,用于描述实体的一个属性,是数据库的基本单位。
一般用属性名作项名;2、记录(Record):又称为结点,由若干个数据项组成,用于描述一个对象;3、文件(File):由若干个记录组成;4、数据库(Data Base):由逻辑相关的文件组成。二、数据模型:数据的组织形式称为数据模型,它决定 数据(主要是结点)之间联系的表达方式。
主要包括层次型、网状型、关系型和面向对象型四种。层次型和网状型是早期的数据模型,又称为格式化数据系统数模型。
以上四种模型决定了四种类型的数据库:层次数据库系统,网状数据库系统,关系型数据库系统以及面向对象数据库系统。目前微机上使用的主要是关系型数据库。
1、层次型:是以记录为结点的有向树;图如教材P7图1--22、网状型:树的集合,它的表示能力以及精巧怀强于层次型,但独立性下降。3、关系型:在关系型中,数据被组织成若干张二维表,每张表称为一个关系。
一张表格中的一列称为一个“属性”,相当于记录中的一个数据项(或称为字段),属性的取值范围称为域。表格中的一行称为一个“元组”,相当于记录值。
可用一个或若干个属性集合的值标识这些元组,称为“关键字”。每一行对应的属性值叫做一个分量。
表格的框架相当于记录型,一个表格数据相当于一个同质文件。所有关系由关系的框架和若干元组构成,或者说关系是一张二维表。
关系型。
1)select b.name from book as a ,student as b where a.title like '数据库原理';2)select a.sid form student as a, lend as b,return as c where (b.sid = a.sid or c.sid = a.sid )and ldate = rdate;3)select distinct (t.title)书名,(select(max(a.price) from book as a)价格 from book as t。
判断题:对错错错对对错对错对
填空题:1.操作系统 2.order by , group by 3.表,元组,属性。4.数据结构,完整性约束 5.关系 6.一对一,一对多,多对多 7.创建,修改,删除 8.min,sum 9.视图,虚拟或查询 10.exec 11. 系统存储过程,用户定义存储过程
数据库是“按照数据结构来组织、存储和管理数据的仓库.J.Martin给数据库下了一个比较完整的定义:数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。
当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。 数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。
(1)物理数据层。 它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。
这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。 (2)概念数据层。
它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。
它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。 (3)逻辑数据层。
它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。 数据库不同层次之间的联系是通过映射进行转换的。
数据库的主要特点 (1)实现数据共享。 数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
(2)减少数据的冗余度。 同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。
减少了大量重复数据,减少了数据冗余,维护了数据的一致性。 (3)数据的独立性。
数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。 (4)数据实现集中控制。
文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
(5)数据一致性和可维护性,以确保数据的安全性和可靠性。 主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏 (6)故障恢复。
由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。
比如对系统的误操作造成的数据错误等。
一、数据 数据是数据库中存储的基本对象。
1. 定义 :描述事物的符号记录。 2. 种类 :文字、图像、图形、声音。
3. 特点 :数据与其语义是不可分的。 二、数据库 1. 定义 :长期存储在计算机内、有组织的、可共享的大量数据集合。
2. 特征 : 1)数据按一定的数据模型组织、描述和存储 2)可为各种用户共享 3)冗余度较小 4)数据独立性较高 5)易扩展 三、数据库管理系统(DBMS) 1. 定义:数据库管理系统(Database Management System 即DBMS)是位于用户与操作系统之间的数据管理软件。 2. 用途 :科学地组织和存储数据、高效地获取和维护数据 3. 功能 :1)数据库定义功能 2)数据操纵功能 3)数据库的运行管理 4)数据库的建立和维护功能(实用程序) 四、数据库系统 1. 定义:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
2. 特点:数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由DBMS统一管理和控制。 五、数据库管理技术 1. 定义:对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题 2. 发展过程: 1)人工管理阶段(40年代中--50年代中) 2)文件系统阶段(50年代末--60年代中) 3)数据库系统阶段(60年代末--现在) 3. 发展动力: 1)应用需求的推动 2)计算机硬件的发展 3)计算机软件的发展 六、数据模型 1. 定义:数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。
2. 作用:在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟,现有的数据库系统均是基于某种数据模型的。
3. 三要素: 1)数据结构 2)数据操作 3)完整性约束 4. 常用的数据模型: 1)层次模型 2)网状模型 3)关系模型:ORACLE、SQL、SYBASE、INFORMIX、DB/2、COBASE、PBASE、EasyBase、DM/2、OpenBase 4)面向对象模型 5. 层次: 1)概念模型:也称信息模型,它是按用户的观点来对数据和信息建模。 2)数据模型:主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模 七、关系模型 1. 基本概念: 1)关系:一个关系对应通常说的一张表。
2)元组:表中的一行即为一个元组。 3)属性:表中的一列即为一个属性,给每一个属性起一个名称即属性名。
2. 关系模型的优缺点: 优:1)建立在严格的数学概念的基础上 2)概念单一,数据结构简单、清晰,用户易懂易用 3)关系模型的存取路径对用户透明 缺:1)存取路径对用户透明导致查询效率往往不如非关系数据模型 2)为提高性能,必须对用户的查询请求进行优化增加了开发数据库管理系统的难度 3. 关系模型的组成:关系数据结构、关系操作集合、关系完整性约束 八、关系数据理论 1. 基本概念 关系:描述实体、属性、实体间的联系。从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。
关系模式:用来定义关系。 关系数据库:基于关系模型的数据库,利用关系来描述现实世界。
从形式 上看,它由一组关系组成。 关系数据库的模式:定义这组关系的关系模式的全体。
2. 范式: 范式是符合某一种级别的关系模式的集合。 1)1NF的定义 若关系模式中的所有属性值都是不可再分的原子值,则称该种关系模式为第一范式。
2)2NF的定义 若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R ∈2NF。 3)3NF的定义 若一个数据表已满足2NF,且该数据表中的任何两个非主键字段的数值之间不存在函数依赖关系,则该数据表满足第三范式。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:7.057秒