软考——01 数据库基础

  • 软件设计师考试——数据库基础部分

  • 思维导图

database.png
  • 概述

    1. 首先是数据库相关的一些概念

      • 数据库(DB)、数据库管理员(DBA)、数据库管理系统(DBMS)

      • 三级模式

      外模式,也称为“用户模式”或“子模式”。可以理解为数据库系统对用户暴露出来的部分,用户对数据进行的基本操作,增删改查都是在这个层次进行;

      概念模式,也称为“模式”。可以理解为逻辑上的数据,更多的是反映人的思维和对显示数据的抽象;

      内模式,也称为“存储模式”。可以理解为物理上的数据,这部分就跟用户无关了,数据库系统对数据进行如何存储,用户都是不关心的

      • 两级映像

      外模式/模式映像,维护数据的逻辑独立性。数据的逻辑结构发生变化,对用户的操作还是不变的,变动的部分由外模式/模式映像去维护

      模式/内模式映像,维护数据的物理独立性。数据的物理存储发生变化,数据的逻辑结构不会发生变化,变动的部分由模式/内模式映像去维护

      简而言之,两级映像存在的目的是解耦数据库系统的三级模式

    2. 其次是数据模型

      • 数据模型分为概念模型基本数据模型
      • 概念模型主要用于数据库分析和设计,通过对现实世界进行抽象,形成逻辑关系,建立数据模型
      • 其代表为实体-关系模型,即E-R图
        • 除了基本的实体,联系(一对一,一对多,多对多),属性外,主要考虑扩充的E-R图,弱实体(依赖于其他实体的存在而存在),特殊化和普遍化这一对逆过程
      • 基本数据模型主要反映数据的逻辑结构,主要包括层状模型、网状模型、关系模型面向对象模型,其中关系模型使用最为广泛。
      • 基于关系模型,存在关系代数
        • 关系代数包括四类运算符:集合运算符比较运算符逻辑运算符专门的关系运算符
          • 集合运算符主要用于对数据集进行集合运算,对应到SQL中就是对结果集进行再处理
          • 比较运算则是数据属性之间的比较,对应到SQL中就是条件判断
          • 逻辑运算符是用于条件的组合,对用SQL中就是AND、OR、NOT
          • 专门的关系运算符就是对列进行筛选、对行进行筛选、表连接
          • 连接运算是比较复杂的,θ连接中的θ是比较运算符,当θ为“=”时则为等值连接自然连接为特殊的等值连接,要求进行比较的属性组必须相同,而且在结果集中要删除多余的属性组
          • 因为θ连接会将没有“连接上”的记录去掉,导致信息缺失,因此又有了外连接,具体分为左外连接右外连接全外连接,不同的连接方式,保留的属性值不同,不存在的属性值置为null
      • 基于关系代数,我们有了SQL,包括:
        • 数据定义语言(DDL),用于创建/修改/删除 数据库、表、视图、索引
        • 数据操作语言(DML),用于对表进行增删改
        • 数据查询语言(DQL),用于对表的查询
        • 数据控制语言(DCL),用于控制数据权限
    3. 最后是关系模式规范化

      • 要理解规范化,首先要明白什么是函数依赖:

        • 用数学的话来说就是两个变量之间存在函数关系。变量有域,自变量(X)有定义域,因变量(Y)有值域,存在函数关系就是说,x能算出y,即X→Y,Y函数依赖于X
        • 非平凡的函数依赖就是说,X和Y是两个不同的集合时,Y函数依赖于X
        • 平凡的函数依赖就是说,虽然Y函数依赖于X,但是Y是X的子集,这种依赖是显然的,没有特殊意义,因此一般而言都是考虑非平凡的函数依赖
        • 完全函数依赖就是说,对于每个x都能算出y,而X的真子集,不能完全算出Y(因为有部分y,需要真子集以外的x来计算出来)。对应到关系模式中,可能X包含多个属性列,比如3个属性,能推导出Y,但是其中任何2个属性组合在一起都不能推导出Y,那么就说Y完全函数依赖于X
        • 部分函数依赖与完全函数依赖相反,X的真子集也能推导出Y
        • 传递依赖就是三个属性列(组)之间的关系,Y非平凡依赖于X,Z函数依赖于Y,那么Z就函数依赖与X
      • 如果关系模式存在过多的函数依赖,那么就会存在异常:

        • 冗余,这个好理解,关系模式中会存储很多份同样的数据
        • 插入异常,若一个关系模式中既存储了教师信息,也存储了教师的课程信息,那么新来的教师如果没有开始教课的话那就无法插入了
        • 更新异常,更新一个教师信息就需要把所有该教师相关的信息都要更新一次
        • 删除异常,删除一个教师信息就会把该教师相关的课程信息都会删除掉
      • 范式

        • 1NF,所有的数据项都是原子项,不可再分。

          这是关系模式最基本的要求

        • 2NF,在1NF的基础上,非主属性完全依赖于码。

          比如关系模式R(A,B,C,D)码中有2个属性(A、B),另有一个非主属性(C)依赖于这两个主属性中的其中一个(A)(部分依赖于码),那就应该拆出来,作为另一个关系模式R1(A,C)

        • 3NF,在2NF的基础上,非主属性不能传递依赖于码。

          比如关系模式R(A,B,C),A是码,B、C完全依赖于A,同时C也依赖于B,那么C就传递依赖于A,那么应该把C拆出来,作为另外一个关系模式R2(B,C)

        • BCNF,3NF消除了非主属性与主属性之间的部分依赖和传递依赖,但是若主属性存在多个,那么也要消除主属性之间的部分依赖于传递依赖,这就是BCNF。

          比如存在关系模式R(A,B,C,D),(A,B)和(A,C)都是候选码,则(A,B,C)都是主属性,D完全依赖于码,B依赖于A,A依赖于B,这样的R是符合3NF的,但是依旧存在异常。因此可以把AB单独抽出来,最后形成两个关系模式R1(A,B),R2(A,C,D)/R2(B,C,D)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容