数据库系统小结:(不包括详细知识点,更像一个大纲)

数据库的发展:

层次网状数据库
关系数据库
分布式数据库

理论基础:

关系代数运算:

选择运算、投影运算、更名运算
并运算、集合差运算、笛卡尔积运算
集合交运算、自然连接运算、赋值运算、
广义投影、聚集运算、外连接

数据模型:

关系模型、E-R模型、基于对象的数据模型、半结构化数据模型

关系数据库:

基本结构:
关系(表)、属性
E-R模型中实体联系转化为关系模型中的关系(表)
 

分别站在数据库设计者和数据库使用者的角度:

数据库设计者:

面对的问题:

数据冗余和不一致、数据访问困难、数据孤立、完整性问题、原子性问题、并发访问异常问题、安全性问题

设计目标

设计一个好的关系需要考虑的问题:

更新数据时的出错机率(单一存储、多个存储)
数据冗余
数据依赖
选择一个更大的还是更小的关系模式
同一个数据在不同大小关系模式中的表示转换: (有损分解、无损分解)

关系模式设计是遵循的准则:

1NF-->2NF-->BCNF/3NF-->4NF-->5NF(一般达到3NF要求即可,一事一地)
即使在设计时每个表都遵循上述准则要求,也可能出现问题。在设计前还需要和客户沟通,并且要
注意,信息化的目的是为了更加简单有效的处理信息,在设计表模式时,不能仅仅是将用户手工管
理的内容移植到数据库中,还需要引导用户对信息整理,处理信息同名不同义,同义不同名的问题

数据库系统的层次结构:

物理层、逻辑层、视图层

存储优化:

使用缓存技术
缓冲区管理(LRU、MRU)

文件和记录的组织:

堆文件、顺序文件、散列文件(散列文件的桶溢出问题-->偏斜、溢出链)

索引的使用:

聚集索引、辅助索引
稠密索引、稀疏索引
应用多级索引和辅助索引
B+树索引
散列索引

查询处理和查询优化:

查询-->语法分析器与翻译器-->关系代数表达式-->优化器-->执行计划-->执行引擎-->查询结果
嵌套循环
块嵌套循环
索引嵌套循环
关系表达式的转换

事务:

ACID准则
并发调度相关

所支持的数据类型:

基本域类型:
char(n)、varchar(n)、int、smallint、numeric、real double precision、float(n)
SQL內建数据类型:
date、time、timestamp
用户定义类型(create type):
独特类型、结构化数据类型

数据库使用者(DBA、Developer):

规范化(选择合适的关系模式):
 
SQL:

DDL、DML、完整性、视图定义、事务控制、嵌入式SQL和动态SQL、授权

DDL、DML:

数据库与表的创建、删除、修改
SQL的增删改查
子查询
递归查询
连接查询
空值的影响

完整性约束:

not null、unique、check(谓词)  (单个关系上的)
主键(超键、候选键)、外键(有的书上翻译为码...)   (参照完整性约束)
断言(assertion)
触发器trigger

视图的使用

安全性:

授权(grant):
包括delete、insert、select、update权限
用户user、角色role

加密技术:

数据库与应用程序交互:

嵌入式SQL、动态SQL、JDBC、ODBC
原文地址:https://www.cnblogs.com/lnlin/p/9901425.html