数据库系统概论学习手记(四)(完)

死锁和活锁
    #
    *活锁
        事物没有一个排序,某个事物一直等待//解决:采用先来先先服务策略
    *死锁
        都上锁,相互请求解锁
        //解决:
            $预防:
               &一次封锁法
               &顺序封锁法
            $允许,诊断解锁
                &超时法
                &等待图法
8.5 并发调度的可穿行性
    #
    *多个事物的并发执行是正确的,当且仅当其结果与按某一次序串行地执行他们时的结果相同,我们称这种调度策略是可串行化的调度
    *可串行性是并发事物正确性的准则,按这个准则规定,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度。
    //理解:事物的结果是不会因为串行方式不同而结果不同就是可串行化的
8.6 两段锁协议
    #
    简单的说就是先加锁且不解锁
    解锁且不加锁

    *意义:若并发执行的所有事物均遵循两段锁协议,则对这些事物的任何并发调度策略都是可串行化的。
    *两段锁协议可能发生死锁
封锁粒度
    #
    *封锁对象的大小叫封锁粒度
    *封锁的粒度越大,数据库能够封锁的数据单元就越少,并发度就越小,系统开销也就越小,反之,封锁的粒度越小,并发度越高,系统开销越大。

    *多粒度封锁协议允许多粒度数中的每个结点被独立加锁
        $显式封锁:应事物直接在数据对象加锁
        $隐式封锁:数据的上级结点被解锁,自身也就被锁了

    *意向锁
        *意向共享锁IS//下级S
        *意向排他锁IX//下级X
        *共享意向排他锁//下级先S再IX
        是如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁;对任一结点加锁时,必须先对它的上层结点加意向锁。
第十章 数据库完整性
    #
    *数据库的完整性是指数据的正确性和相容性//比如学号必须唯一,性别只能是男或女;
    *数据的完整性和完全性是两个完全不同的概念;
    *加载数据据库数据之上的语义约束条件称为数据库的 完整性约束条件,它们作为数据库的一部分存入数据库中;
    *而DBMS中检查数据是否满足完整性条件的机制称为 完整性检查;
完整性约束条件
    #
    静态约束条件//一个列的取值域说明
    静态元组约束//元组各个列之间的约束关系
    静态关系约束//各个元组之间、若干关系之间的各种关系或约束
    动态列级约束//修改列定义或者列值时应该满足的条件
    动态元组约束//元组中各个字段间需要满足的各种条件
    动态关系约束//关系变化前后状态上的限制条件
完整性控制
    #
    D(Data)约束作用的数据对象
    O(Operation)触发完整性检查的数据操作
    A(Assertion)数据对象必须满足的断言或语义约束,这是规则主体;
    C(Condition)选择A作用的数据对象值得谓词
    P(Procedure)违反完整性规则时的触发过程
数据库管理系统(DBMS)
DBMS的主要功能
    #
    数据库定义
    数据库数据存储
    数据库运行管路
    数据库组织和存储管理
    数据库建立和维护
    ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值