数据库学习笔记【1】
...
1.
关系运算:➗可以理解为for all.
q = r ➗ s, 则q中拥有的的字段等于r中的所有字段去掉s中所有的字段之后剩下的字段。
====================================================
2.
select 相当于 投影运算
form 相当于 笛卡尔积
where 相当于 选择运算
====================================================
3.
SQL中的选择子句(select ... from ... where ...)相当于关系代数表达式的多重集版本。即:
====================================================
4. SQL查询语句语法总结
====================================================
5. 视图可以更新必须满足的条件
====================================================
6.
如果关系模式(Relation Schema)R中所有的属性的域都是原子的,则R称为属于第一范式(1NF)
====================================================
7.
候选码是最小超码,它的任意真子集都不能成为超码。
====================================================
8.
====================================================
9.
函数依赖集F的 闭包F+ 和 正则覆盖Fc 是相对立的两个概念。
====================================================
10.
关系型数据库遵循ACID规则
事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性:
1、A (Atomicity) 原子性
原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。
比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了100元。
2、C (Consistency) 一致性
一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。
例如现有完整性约束a+b=10,如果一个事务改变了a,那么必须得改变b,使得事务结束后依然满足a+b=10,否则事务失败。
3、I (Isolation) 独立性
所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。
比如现有有个交易是从A账户转100元至B账户,在这个交易还未完成的情况下,如果此时B查询自己的账户,是看不到新增加的100元的。
4、D (Durability) 持久性
持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。
...