day3 数据库技术考点汇总

一、重点知识点

  • 基本概念:三级模式-两级映像、数据库设计
  • 数据库模型:E-R模型、关系模型、关系代数(结合SQL语言)
  • 规范化:函数依赖、健与约束、范式、模式分解
  • 事务并发:并发三种问题、三级封锁协议
  • 数据库新技术:数据库安全与备份、反规范化、分布式数据库、缓存数据库、数据库集群

二、三级模式-两级映像

  • 内模式:管理如何存储物理的数据,对应具体物理存储文件,
  • 模式:又称为概念模式,就是我们通常使用的基本表,根据应用、需求将物理数据划分成一张张表。
  • 外模式:对应数据库中的视图这个级别,将表进行一定的处理后再提供给用户使用。
  • 外模式-模式映像:是表和视图之间的映射,存在于概念级和外部级之间,若表中数据发生了修改,只需要修改此映射,而无需修改应用程序。
  • 模式-内模式映像:是表和数据的物理存储之间的映射,存在于概念级和内部级之间,若修改了数据存储方式,只需要修改此映射,而不需要去修改应用程序。

day3 数据库技术考点汇总_第1张图片

三、数据库设计

  • 需求分析:即分析数据存储的要求,产出物有数据流图、数据字典、需求说明书。
  • 概念结构设计:就是设计E-R图,也即实体-属性图,与物理实现无关,说明有哪些实体,实体有哪些属性。
  • 逻辑结构设计:将E-R图,转换成关系模式,也即转换成实际的表和表中的列属性,这里要考虑很多规范化的东西。
  • 物理设计:根据生成的表等概念,生成物理数据库。

day3 数据库技术考点汇总_第2张图片

四、E-R模型

  • 实体:客观存在并可相关区别的事务。可以是具体的人、事、物或抽象概念。
  • 若实体和强实体:若实体依赖于强实体的存在而存在。
  • 属性:实体所具有的特性。
  • 属性分类:简单属性和符合属性;单值属性和多值属性;NULL属性;派生属性。
  • 域:属性的取值范围称为该属性的域。
  • 码(key):唯一标识实体的属性集。
  • 联系:在E-R图中反应实体内部的联系和实体之间的联系。
  • 联系类型:一对一1:1、一对多1:N、多对多M:N。

day3 数据库技术考点汇总_第3张图片

五、关系模型

  • 关系模型中数据的逻辑结构是一张二维表,由行列组成:day3 数据库技术考点汇总_第4张图片
  •  E-R模型转换为关系模型:每个实体都对应一个关系模式:联系分为三种:
    • 1:1联系中,联系可以放到任意的两端实体中,作为一个属性(要保证1:1的两端关联),也可以转换为一个单独的关系模式;
    • 1:N的联系中,联系可以单独作为一个关系模式,也可以在B端中加入1端实体的主键;
    • M:N的联系中,联系必须作为一个单独的关系模式,其主键是M和N端的联合主键。

六、关系代数

  • 笛卡尔积:S1*S2,产生的结果包括S1和S2的所有属性列,并且S1中每条记录依次和S2中所有记录组合成一条记录,最终属性列为S1+S2属性列,记录数为S1*S2记录数。
  • 投影:实际是按条件选择某关系模式中的某列,列也可以用数字表示。
  • 选择:实际是按条件选择某关系模式中的某条记录

day3 数据库技术考点汇总_第5张图片

  •  自然连接的结果是显示全部的属性列,但是相同属性列只显示一次,显示两个关系模式中属性相同且值相同的记录。

       

七、函数依赖

  • 给定一个X,能唯一确定一个Y,就成X确定Y,或者说Y依赖于X,例如Y=X*X函数。函数依赖又可扩展一下两种规则:
    • 部分函数依赖:A可确定C,(A,B)也可确定C,(A,B)中的一部分(即A)可以确定C,称为部分函数依赖。
    • 传递函数依赖:当A和B不等价时,A可确定B,B可确定C,则A可确定C,是传递函数依赖;若A和B等价,则不存在传递,直接就可确定C。day3 数据库技术考点汇总_第6张图片
  • 超键:能唯一标识此表的属性的组合。
  • 候选键:超键中去掉冗余的属性,剩余的属性就是候选键。
  • 主键:任选一个候选键,即可作为主键。
  • 外键:其他表中的主键。
  • 主属性:候选键内的属性为主属性,其他属性为非主属性。

八、范式     

  • 第一范式1NF:关系中的每一个分量必须是一个不可分的数据项
  • 实例:用一个单一的关系模式学生来描述学校的教务系统:学生(学号、学生姓名、系号、系主任姓名、课程号、成绩)
  • 依赖关系(学号→学生姓名,学号→系名,系名→系主任姓名,(学号,课程号)→成绩)day3 数据库技术考点汇总_第7张图片
  •  第二范式:如果关系R属于1NF,且每个非主属性完全函数依赖于任何一个候选码,则R属于2NF。通俗地说,2NF就是在1NF的基础上,表中的每一个非主属性不会依赖符合主键中的某一个列。按照定义,上面的学生表就不满足2NF,因为学号不能完全确定课程号和成绩(每个学生可以选多门课)。将学生表分解为:
    • 学生(学号、学生姓名、系名、系主任)
    • 选课(学号、课程号、成绩)
    • 每张表均属于2NF。
  • 第三范式:在满足1NF的基础上,表中不存在非主属性对码的传递依赖。
  • 继续上面的实例,学生关系模式就不属于3NF,因为学生无法直接决定系主任,是由学号→系名,再由系名→系主任,因此存在非主属性对主属性的传递依赖
  • 将学生表进一步分解为:
    • 学生(学号、学生姓名、系编号)
    • 系(系编号,系号,系主任)
    • 选课(学号、课程号、成绩)
    • 每张表都属于3NF

 九、SQL语句关键字

  • 数据库查询select…from…where;
  • 分组查询group by,分组时要注意select后的列名要适应分组,having为分组查询附加条件:select sno,avg(score)from student group by sno having(avg(score)>60)
  • 更名运算as: select sno as “学 号”from t1
  • 字符串匹配like,%匹配多个字符串,_匹配任意一个字符串:select*from t1 where sname like 'a_'
  • 数据库插入insert into…values(): insert into t1 values('a',66)
  • 数据库删除delete from…where: delete t1 where sno=4
  • 数据库修改update…set…where: update t1 set sname='aa' where sno=3
  • 排序order by,默认为升序,降序要加关键字DESC: select* from t1 order by sno desc
  • 授权Grant,with grant option允许授权他人
  • DISTINCT:过滤重复的选项,只保留一条记录。
  • UNION : 出现在两个SQL语句之间,将两个SQL语句的查询结果取或运算,即值存在于第一句或第二句都会被选出。
  •  INTERSECT : 对两个SQL语句的查询结果做与运算,即值同时存在于两个语句才被选出。
  • MIN、AVG、MAX:分组查询时的聚合函数

十、并发控制

  • 丢失更新:事务1对数据A进行了修改并写回,事务2也对A进行了修改并写回,此时事务2写回的数据会覆盖事务1写回的数据,就丢失了事务1对A的更新。即对数据A的更新会被覆盖。
  • 不可重复读:事务2读A,而后事务1对数据A进行了修改并写回,此时若事务2再读A,发现数据不对。即一个事务重复读A两次,会发现数据A有误。
  • 读脏数据:事务1对数据A进行了修改后,事务2读数据A,而后事务1回滚,数据A恢复了原来的值,那么事务2对数据A做的事是无效的,读到了脏数据。

day3 数据库技术考点汇总_第8张图片

 

十一、分布式数据库

  • 局部数据库位于不同的物理位置,使用一个全局DBMS将所有局部数据库联网管理,这就是分布式数据库。
  • 分片模式
    • 水平分片:将表中水平的记录分别存放在不同的地方。
    • 垂直分片:将表中的垂直的列值分别存放在不同的地方。
  • 分布透明性
    • 分片透明性:用户或应用程序不需要知道逻辑上访问的表具体是如何分块存储的。
    • 位置透明性:应用程序不关心数据存储物理位置的改变。逻辑透明性:用户或应用程序无需知道局部使用的是哪种数据模型。
    • 复制透明性:用户或应用程序不关心复制的数据从何而来。

day3 数据库技术考点汇总_第9张图片day3 数据库技术考点汇总_第10张图片

你可能感兴趣的:(系统分析师,数据库)