ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库系统概论&数据库原理

2022-01-21 21:57:59  阅读:159  来源: 互联网

标签:关系 事务 数据库 调度 并发 数据库系统 概论 属性


笔记更新记录】2022.1.21

数据库–事务

  • “事务”,是什么/定义】。事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元。所谓事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是个不可分割的工作单位。例如,在关系数据库中,一个事务可以是一条SQL 语句、一组SQL语句或整个程序。事务和程序是两个概念。一般地讲,一个程序中包含多个事务。
  • 明确辨识事务和操作】如,某公司在银行中有A,B两个账号,现在公司想从账号A中取出一万元,存入账号B,这就可以定义一个事务,该事务包括两个操作,第一个操作是从账号A中减去一万元第二个操作是向账号B中加入一万元。
  • 事务处理技术,主要包括】数据库恢复技术和并发控制技术。
  • 事务相关SQL语句】
  • 事务的ACID特性,和对特性内涵的理解】事务具有4个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。
  • 事务的ACID特性,可能遭受的破坏因素】(1)多个事务并行运行时,不同事务的操作交叉执行;(2)事务在运行过程中被强行停止。在第一种情况下,数据库管理系统必须保证多个事务的交叉运行不影响这些事务的原子性;在第二种情况下,数据库管理系统必须保证被强行终止的事务对数据库和其他事没有任何影响。这些就是数据库管理系统中恢复机制和并发控制机制的责任。
  • 数据库恢复技术,是什么】由于数据库系统可能发生故障,数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能,这就是数据库的恢复。
  • 数据库系统可能发生的故障】

数据库–并发

  • 数据库系统可能发生并发情景】某一个数据库允许多个用户同时使用,这样的系统在同一时刻会并发运行很多个事务,可能这些事务会同时存取同一数据的情况,所以对于并发操作要加以控制,防止破坏事务的一致性和数据库一致性,保证事务的一致性和隔离性。
  • 并发控制的技术】并发控制的主要技术有封锁(locking)、时间戳(timestamp)、乐观控制法(optimistic scheduler)和多版本并发控制(multi-version concurrency control, MVCC) 等。大多数数据库采用封锁技术。
  • 并发控制机制,目的】保证事务的隔离性和一致性。
  • 处理并发过程中出现的术语名词"调度",是什么/解释】对于多个并发事务涵盖的操作的先后顺序排列。
  • 数据库系统如何处理多个并发事务】对多个并发事务采取调度,可以采用串行调度或可串行调度。
  • 如何判断多个事务的并发调度是正确的/怎样是正确的并发调度】串行调度是正确的。可串行化的并发调度是正确的。
  • “可串行化调度”,是什么/定义】当此调度结果与按某一次序串行地执行这些事务时的结果相同,称这种调度策略为可串行化(serializable)调度
  • “串行调度“,是什么】多个不同事务,按顺序一个事务的操作全部执行完后,再执行另一个事务,这样的调度方式叫作串行调度。
  • “冲突操作”,是什么】冲突操作是指不同的事务对同一个数据的读写操作和写写操作:
  • 如何判断两个连续的操作是否冲突】
  • “冲突可串行化的调度”,是什么】一个调度 Sc在保证冲突操作的次序不变的情况下,通过交换两个事务不冲突操作的次序得到另一个调度Sc’,如果Sc’是串行的,称调度Sc为冲突可串行化的调度。
  • 如何判断这个调度是可串行化调度】若一个调度是冲突可串行化的,则一定是可串行化的调度,这是个充分条件。
  • 如何使封锁机制能够产生可串行化的调度】方法:两段锁(2PL)协议

数据库----关系模式

  • 关系模式,是什么】关系模式是关系模型中的一个术语,关系模式是对关系的描述,一般表示为:关系名(属性1,属性2,…,属性n)。关系模式:关系的描述称为关系模式( relation schema)。它可以形式化地表示为R(U,D , DOM , F) 其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。关系是关系模式在某一时刻的状态或内容。
  • 一个关系模式是有对应的关系模式实例,即数据表。一个好的模式应当不会发生插入异常、删除异常和更新异常,数据冗余应尽可能少。
  • 关系模型的一个特点是,实体以及实体之间的联系都可以使用相同的结构类型来表示。

数据库-----关系代数

  • 关系代数,是什么】关系代数是一种抽象的查询语言,它用对关系的运算来表达查询。关系代数的运算对象是关系,运算结果亦为关系。关系代数用到的运算符包括两类:集合运算符和专门的关系运算符。关系代数用对关系的运算来表达查询要求。
  • 关系代数的运算符】关系代数的运算按运算符的不同可分为传统的集合运算和专门的关系运算两类。其中,传统的集合运算将关系看成元组的集合,其运算是从关系的“水平”方向,即行的角度来进行;而专门的关系运算不仅涉及行,而且涉及列。比较运算符和逻辑运算符是用来辅助专门的关系运算符进行操作的。
    专门的关系运算】:选择、投影、连接、除运算。
    传统的集合运算】是二目运算,包括并、差、交、笛卡儿积4种运算。

数据库系统–数据模型

数据库系统–数据模型,是什么】数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。数据模型通常由数据结构、数据操作和数据约束三部分组成。数据模型是数据库系统的核心和基础。
数据库系统–数据模型,常见的数据模型】层次模型、网状模型、关系模型等

数据库系统—概念模型

数据库原理—概念模型,是什么】将现实世界抽象为信息世界。最经常使用的概念模型是E-R模型
数据库原理—概念模型中的术语理解:实体、实体型、实体集、实体间的关系、属性、码。

数据库系统—关系模型

数据库系统—关系模型,是什么】关系模型是最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。

关系模型中涉及术语解释】

  • 术语"关系":通俗来讲:一个关系对应通常说的一张表。标准定义:在域D1,D2,…Dn上笛卡尔积D1×D2×…×Dn的子集称为关系。关系是关系模式在某一时刻的状态或内容。关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表。其中,基本表是实际存在的表,它是实际存储数据的逻辑表示。查询表是查询结果对应的表。视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
  • 候选码的诸属性称为主属性(prime attribute)。不包含在任何候选码中的属性称为非主属性(non-prime attribute)或非码属性(non-key attribute)。
  • 术语"属性":通俗来讲:表中的一列即为一个属性。标准定义:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。
  • 术语"域":通俗来讲:属性的取值范围。标准定义:域是一组具有相同数据类型的值的集合。
  • 术语"元组":表中的一行即为一个元组。标准定义:关系中的每个元素时关系中的元组。
  • 术语"码":表中的某个属性组,它可以唯一确定一个元组。
  • 术语"分量":元组中的每一个值叫做一个分量。
  • 术语"候选码":函数依赖角度,“候选码”,定义:若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码(candidate key)。
  • 术语"外码":设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码K,相对应,则称F是基本关系R的外部码( foreign key),简称外码。
  • 术语"主码":若一个关系有多个候选码,则选定其中一个为主码(primary key)。
  • 关系模式:对关系的描述,一般表示为关系名(属性1,属性2,…,属性n)。

关系模型中的关系操作】
关系操作的特点是集合操作方式,即操作的对象和结果都是集合。
关系模型中常用的关系操作包括两部分,①查询(query)操作 ②插入(insert)、删除(delete)修改(update)操作。 查询操作又可以分为选择(select)、投影(project)、连接(join)、除(divide)、并(union)、差(except)、交(intersection)、笛卡儿积等,其中选择、投影、并、差、笛卡儿积是5种基本操作。
关系操作能力的表示方式,即关系数据语言:1.关系代数语言 2.关系演算语言 3.具有关系代数和关系演算双重特点的语言,如SQL

关系模型三类完整性约束】
关系模型中都用关系来描述:实体及实体间的联系。

两段锁(2PL)协议】

两段锁(2PL)协议,是什么/解释】所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。·在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁。;·在释放一个封锁之后,事务不再申请和获得任何其他封锁。所谓“两段”锁的含义是,事务分为两个阶段,第一阶段是获得封锁,也称为扩展阶段,在这个阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁;第二阶段是释放封锁,也称为收缩阶段,在这个阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁。
两段锁(2PL)协议,作用】在数据库使用封锁的机制实现并发控制时,为保证封锁机制下的调度能够产生可串行化调度。若并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度策略都是可串行化的。事务遵守两段锁协议是可串行化调度的充分条件,而不是必要条件。

标签:关系,事务,数据库,调度,并发,数据库系统,概论,属性
来源: https://blog.csdn.net/weixin_45703743/article/details/122629794

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有