数据库系统概念总结

三大经典数据模型

  1. 关系模型:表的形式组织数据
  2. 层次模型:树的形式组织数据
  3. 网状模型:图的形式组织数据

书写关系代数表达式的基本思路

  1. 检索是否涉及多个表,如不涉及,则可直接采用并、差、交、选择与投影,只要注意条件书写正确与否即可。
  2. 如涉及多个表,则检查:
    • 能否使用自然连接,将多个表连接起来;
    • 如不能,能否使用等值或不等值连接;
    • 还不能,则使用广义笛卡尔积。
  3. 连接完后,可以继续使用选择、投影等运算,即所谓数据库的“选投联”操作。
  • 学会书写关系代数表达式,有助于SQL语句的书写,因为它们有着千丝万缕的联系。

关系运算

  • 关系运算有三种:关系代数、关系元组演算和关系域演算。
  • 三种关系运算都是抽象的数学运算,体现了三种不同的思维。
    1. 关系代数:以集合为对象的操作思维,由集合到集合的变换。
    2. 元组演算:以元组为对象的操作思维,取出关系的每一个元组进行验证,有一个元组变量则可能需要一个循环,多个元组变量则需要多个循环。
    3. 域演算:以域变量为对象的操作思维,取出域的每一个变量进行验证看其是否满足条件。
  • 三种运算之间是等价的。“关系代数”与“安全的元组演算表达式”与“安全的域演算表达式”是等价的,即一种形式的表达式可以被等价地转换为另一种形式。
  • 三种关系运算都是非过程性的。相比之下,域演算的非过程性最好,元组演算次之,关系代数最差。
  • 三种关系运算虽是抽象的,但却是衡量数据库语言完备性的基础。
    • 一个数据库语言如果能够等价地实现这三种关系运算的操作,则可以说该语言是完备的。
    • 目前大多数数据库语言都能够实现这三种运算的操作,在此基础上还增加了许多其他的操作,如赋值操作、聚集操作等。

事务的ACID特性

  1. 原子性Atomicity:DBMS能够保证事务的一组更新操作是原子不可分的,即对DB而言,要么全做,要么全不做。
  2. 一致性Consistency:DBMS保证事务的操作状态是正确的,符合一致性的操作规则,它是进一步由隔离性来保证的。
  3. 隔离性Isolation:DBMS保证并发执行的多个事务之间互相不受影响。例如两个事务T1和T2,即使并发执行,也相当于先执行了T1,再执行T2(或相当于先执行了T2,再执行T1)
  4. 持久性Durability:DBMS保证已提交事务的影响是持久的,被撤销事务的影响是可恢复的。
  • 换句话说:具有ACID特性的若干数据库基本操作的组合体被称为事务。
  • 事务处理是DBMS的核心技术。