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:

     

    反规范化:

     

    大数据:

     

  • 相关阅读:
    MVP模式与MVVM模式
    webpack的配置处理
    leetcode 287 Find the Duplicate Number
    leetcode 152 Maximum Product Subarray
    leetcode 76 Minimum Window Substring
    感知器算法初探
    leetcode 179 Largest Number
    leetcode 33 Search in Rotated Sorted Array
    leetcode 334 Increasing Triplet Subsequence
    朴素贝叶斯分类器初探
  • 原文地址:https://www.cnblogs.com/tianyajuanke/p/7655742.html
Copyright © 2011-2022 走看看