学习目标:
由浅入深系统性的学习数据库基本概念,以及前沿数据库技术
学习内容:
一,基本概念
1.1 数据库管理系统(DataBase-Management System DBMS)是有互相关联的数据集合和一组用以访问这些数据的程序组成。这个数据集合通常称作数据库。
1.2 数据模型
数据库结构的基础是数据模型,数据模型是描述数据,数据联系,数据语义及一致性约束概念工具的集合,数据模型提供了一种描述物理层,逻辑层,视图层数据库设计的方法。
数据模型可划分为四类:
1.关系模型(relational model):关系型模式用表的集合来描述数据与数据之间的关系,每个表有多列,每列有唯一的列名。每个表包含某种特定类型的记录,每个记录类型定义了固定数目的字段(或属性)
2.实体-联系模型(entity-relational model):实体-联系模型(E-R)基于对现实世界的这样一种认识:现实世界是由一组称作实体的对象以及实体对象之间的联系组成。实体是现实世界可区别于其他对象的一种“物体”或者“事物”。
3.基于对象的数据模型:面对对象的数据模型可以看成是E-R模型增加了封装,方法和对象标识等概念的拓展
4.半结构化的数据模型:半结构化的数据模型允许相同类型的数据项拥有不同的属性集的数据定义
二,关系查询处理和查询优化
基本概念
-
关系型数据库查询处理可以分为四个阶段:查询分析、查询检查、查询优化和查询执行。
-
查询优化按照其优化层次分为代数优化和物理优化。其总目标是选择有效的策略,求得给定关系表达式的值,使得查询代价最小(实际上是较小)。代数优化通过改变代数表达式的操作顺序和组合,使得查询更加高效;物理优化是指存取路径和底层操作算法的选择,一般有基于规则(rule based)的、基于代价(cost based)的和基于语义(semantic based)**的。
-
选择操作的主要实现算法有:全表扫描方法和索引(散列)扫描方法;连接操作的主要实现算法有:嵌套循环方法、排序-合并方法、索引连接方法和Hash Join 方法。