基本概念
• 数据(data):描述事物的符号记录称为数据。
• 数据库(DataBase,DB):是长期存储在计算机内、有组织的、可共享的大量数据的集合,具有永久存储、有组织、可共享三个基本特点。
• 数据库管理系统(DataBase Management System,DBMS):是位于用户与操作系统之间的一层数据管理软件。
• 数据库系统(DataBase System,DBS):是有数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DataBase Administrator DBA)组成的存储、管理、处理和维护数据的系统。
• 实体(entity):客观存在并可相互区别的事物称为实体。
• 属性(attribute):实体所具有的某一特性称为属性。
• 码(key):唯一标识实体的属性集称为码。
• 实体型(entity type):用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
• 实体集(entity set):同一实体型的集合称为实体集。
• 联系(relationship):实体之间的联系通常是指不同实体集之间的联系。
• 模式(schema):模式也称逻辑模式,是数据库全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
• 外模式(external schema):外模式也称子模式(subschema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
• 内模式(internal schema):内模式也称为存储模式(storage schema),一个数据库只有一个内模式。他是数据物理结构和存储方式的描述,是数据库在数据库内部的组织方式。
常用数据模型
-
层次模型(hierarchical model)
-
网状模型(network model)
-
关系模型(relational model)
o 关系(relation):一个关系对应通常说的一张表
o 元组(tuple):表中的一行即为一个元组
o 属性(attribute):表中的一列即为一个属性
o 码(key):表中可以唯一确定一个元组的某个属性组
o 域(domain):一组具有相同数据类型的值的集合
o 分量:元组中的一个属性值
o 关系模式:对关系的描述,一般表示为 关系名(属性 1, 属性2, …, 属性 n) -
面向对象数据模型(object oriented data model)
-
对象关系数据模型(object relational data model)
-
半结构化数据模型(semistructure data model)
并发控制
• 事务是并发控制的基本单位。
• 并发操作带来的数据不一致性包括:丢失修改、不可重复读、读 “脏” 数据。
• 并发控制主要技术:封锁、时间戳、乐观控制法、多版本并发控制等。
• 基本封锁类型:排他锁(X 锁 / 写锁)、共享锁(S 锁 / 读锁)。
• 活锁死锁:
o 活锁:事务永远处于等待状态,可通过先来先服务的策略避免。
o 死锁:事务永远不能结束
预防:一次封锁法、顺序封锁法;
诊断:超时法、等待图法;
解除:撤销处理死锁代价最小的事务,并释放此事务的所有的锁,使其他事务得以继续运行下去。
• 可串行化调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同。可串行性时并发事务正确调度的准则。