数据库基础
数据库系统组成
- 数据库
- 数据库管理系统应用程序
- 数据库管理员
数据库系统特点
- 数据结构化 - 主要特点
- 数据的共享性高、冗余度低且易扩充
- 数据的独立性高
- 物理独立性:用户应用程序与数据库中数据的物理存储相互独立;
- 逻辑独立性:用户应用程序与数据库的逻辑结构相互独立 - 数据 有数据库管理系统统一管理和控制
关系模型
- 关系:对应一张二维表
- 元组:对应二维表中的一行
- 属性:对应二维表中的一列
- 码:表中的某个属性组
- 域:一组具有相同数据类型的值的集合
- 分量:元组中的一个属性值
数据库系统的结构
- 模式:也成逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。定义模式的时候需要定义①数据的逻辑结构、②数据之间的关系、③数据由光的安全性、完成新要求;
- 外模式:也称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示;
注:- 一个数据库可以有多个外模式;
- 外模式是保证数据库安全性的一个有利措施;
- 每个用户只能看见和访问对应的外模式中的数据;
- 内模式:也称存储模式,一个数据库只有一个内模式。是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式(记录的存储方式,索引的存储方式)
- 外模式-模式映像:但模式改变时(增加新关系、新属性)有数据库管理员对各个外模式-模式的映像做出相应改变,使外模式保持不变。应用程序根据外模式编写,从而使应用程序不需要修改,保证了数据与程序的逻辑独立性;
- 模式-内模式映像:模式-内模式的映像是唯一的,定义了数据全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变时,有数据库管理员对模式-内模式做出相应的改变,可以是模式保持不变从而应用程序不用发生改变,保证了数据与程序的物理独立性;
关系数据结构即形式化定义
- 域:一组具有相同数据类型的值的集合;
- 笛卡尔积:在域上的一种集合运算;
- 候选码:某一属性组的值,可唯一标识一个元组;
- 全码:所有属性都是这个关系的候选码;
基本关系的性质
- 列是同质的,列的分量来自同一域;
- 不同列可以来自不同域,但列名不同;
- 列的顺序无所谓;
- 任意两个元组的候选码不可取相同值;
- 行的顺序无所谓;
- 分量必须取原子值;
关系完整性
- 实体完整性:若属性A是基本关系R的主属性,则A不可取空置;
- 参照完整性:若属性或属性组F是基本关系R的外键,它与基本关系S的主键Ks相对应(基本关系R和S不一定是不同的关系),则对于R中的每个元组在F上的值必须为:
1. 空值,F的每个属性值均为空值;
2. S中某个元组中的主键值(主码值); - 用户定义完整性:针对某一具体的关系数据库的约束;
数据库安全
- 不安全因素:
- 非授权用户对数据库的恶意存取;
- 数据库中重要或敏感数据的泄露;
- 安全环境的脆弱性;
- 安全控制:
- 用户身份鉴别:静态口令、动态口令、生物特征、智能卡;
- 存取控制:
- 自主存取控制:用户对不同数据库对象有不同的存取权限,不同用户对同一对象也有不同的权限,且用户可以将相应的权限授出和收回;
- 强制存取控制:每一个数据库对象有一定的密级,用户拥有一个级别的许可,对任意对象,只有合法的许可才可以被访问;
- 视图机制;
- 审计:将用户对数据库的所有操作都自动记录放入日志中;
- 数据加密;
数据库设计
数据库设计基本步骤
- 需求分析:最终形成数据字典;
- 概念结构设计:将需求分析的需求抽象为信息结构的过程;
使用E-R模型; - 逻辑结构设计将概念模型转换为DBMS支持的数据模型,即将E-R图转换关系模型(数据库逻辑模式),并根据要求建立视图(外模式);
- 物理设计:为逻辑数据模型选取合适的物理结构(DBMS需要进行物理存储安排,建立索引形成内模式)
- 数据事实:建立数据库;
- 运行和维护;
关系查询处理步骤
- 查询分析:对语句扫描,词法分析,语法分析;
- 查询检查:对合法的语句进行语义检查,符号名转换,安全性检查,完整性初步检查;
- 查询优化:包括代数优化和物理优化;
- 查询执行:生成代码;
数据库恢复技术
- 数据转储;
- 登记日志文件;
- 数据库镜像;
.