zoukankan      html  css  js  c++  java
  • 《系统架构师》——数据库系统

    考点分布:

     

    三级模式 - 两级映射

     

    E-R模型:实体-关系-属性

    关系代数:

    并:两个模式中直接合并成一个模式,新模式的行数=两个模式行数之和

    交:两个模式中所有属性值完成相同的行

    差:模式A 与 模式B 之差 = 模式A -(模式A 并 模式B)

    笛卡尔积:新模式的行数=两个模式行数之积,新模式的列包括两个模式的所有列

    联接:根据指定属性值来联接两个模式,组成一个新模式。

    投影:针对单个模式而言,即选择指定列出来,作为一个新模式

    选择:针对单个模式而言,容易与投影混淆,选择出指定列为指定值的行作为一个新模式

     

     

     

     

    非规范化的关系模式,可能存在数据冗余、更新异常、插入异常和删除异常的问题。

     

    超键:唯一标识元组(可以存在冗余)

    候选键:在超键的基础上消除多余属性(应该就是我们常设计的无冗余的联合主键),一般一个模式只有一个候选键,但也有多个候选键的情况

    主键:在候选键中任选一个(联合主键中的其中一项)

    外键:其它关系的主键

     

    函数依赖:

    1、完全函数依赖:其它属性可以由超键推导,而不能由超键中任何一个子集推导,就称为完全函数依赖,从规范上来说是好的设计。

    2、部分函数依赖:超键中的某一个子集也能推导出其它属性,就称为部分函数依赖,这是我们需要避免的。(避免了这个就达成了2NF)

    3、传递函数依赖:超键可以推导出属性A,属性A也可以推导出属性B,则B传递函数依赖于超键。(避免了就达成了3NF)

     

     

    将 E-R 模型转换成关系模式时,一个实体都转换成一个关系模式,1:1联系不用单独转换成关系模式, 1:n 关系可以单独转换也可以不转换,m:n 关系单独转换成一个关系模式。

     

    求候选键的方法:

    1、将关系模式按函数依赖关系用有向图表示

    2、找所有入度为0的结点,遍历该有向图,若能遍历,则这些结点就是候选键

    3、如果上一步无法完全遍历,则加入一些中间结点,直至可以遍历所有结点,则这些结点就是候选键。

     

    数据库范式:逐步解决插入异步、删除异常、数据冗余

    1NF:属性不可拆分(其实就是避免一个属性值包括复合数据)

    2NF:消除非主属性对候选键的部分依赖(满足完全函数依赖,对候选键去冗余)

    3NF:消除非主属性对候选键的传递依赖(消除传递依赖,非主属性只能依赖于主属性,不能依赖于其它非主属性)

    BCNF:消除主属性对候选键的传递依赖(不允许某个主属性可以由其它主属性或非主属性推导,当只有一个候选键时,等同于3NF)

    BCNF要侧重说明,比如一张关系表为 (玩家ID,昵称,物品编号,物品数量),其中昵称不允许重复。那 (玩家ID,物品编号) ->(昵称,物品数量),(昵称,物品编号)->(玩家ID,物品数量),这样这张关系表就存在两个候选键 (玩家ID,物品编号) 和 (昵称,物品编号)了,而这里玩家ID和昵称作为主属性,是可以被其它属性推导出来的。这样就不符合BCNF了。所以,BCNF只有当存在多个候选键时才和3NF有所区别。

     

    无损分解:个人总结,判断是否为无损分解,先将依赖关系中所有入度为0(即无法被推导)的属性作为一个子模式(如果没有拆分出这样的子模式,一定是有损分解,当然有该子模式的超集也是可以的),在这个子模式基础上根据依赖关系,如果能推导出所有属性就是无损分解。

     

    并发控制:

    封锁协议

    S锁:共享锁(share locks),又称读锁,只可以读取数据,当某事务对对象加上S锁之后,其它事务只能对该对象加S锁,而不能加X锁,直到所有的S锁都被释放。

    X锁:排它锁(eXclusive lock),又称写锁,可以读取和修改数据,当事务对对象加上X锁之后,其它事务都不能对该对象加任何锁,直到该X锁被释放。

    数据库完整性约束:

    1、实体完整性约束

    2、参照完整性约束

    3、用户自定义完整性约束

    触发器

     

    数据库安全:

     

     

    数据备份:

     

    分布式数据库的体系结构:

     

    分布式数据库概念:

     

     

    数据仓库和数据挖掘:

     

    联邦数据库:

     

    NoSQL:

     

    反规范化:

     

    大数据:

  • 相关阅读:
    社会影响力入门:打造有所作为的公司
    JSP中的include有哪些?有什么差别?
    关于程序猿怎样降低程序Bug的若干建议
    linux文件打开模式
    IntelliJ IDEA 问题总结之中的一个 —— jar包、assets、maven、git
    linux下改动内核參数进行Tcp性能调优 -- 高并发
    思科模拟器配置三层交换机局域网
    MFC调试小技巧
    JAVA基础编程50题(10-12题)具体解释
    加速度传感器的原理和应用-手机翻转、失重检测、运动检测、位置识别
  • 原文地址:https://www.cnblogs.com/ldsweely/p/9951024.html
Copyright © 2011-2022 走看看