数据库概念
第一章 绪论
1.4个基本概念
- 数据
- 数据库
- 数据库管理系统
- 数据库系统
2.数据管理技术的生产和发展
- 人工管理阶段
- 数据不保存
- 应用程序管理数据
- 数据不共享
- 数据不具有独立性
- 文件管理阶段
- 特点:
- 数据可以长期保存(与人工管理阶段相比的优点)
- 由文件系统管理数据
- 缺点:
- 数据共享性差,冗余度大
- 数据独立性差
- 数据库管理阶段
- 从文件系统到数据库系统标志着数据库管理技术的飞跃。
3.数据库系统的特点
- 数据结构化
- 数据的共享性高,冗余度低且易扩充
- 数据独立性高
- 物理独立性
- 逻辑独立性
- 数据由数据库管理系统统一管理和控制
- 数据的安全性保护
- 数据库的完整性检查
- 并发控制
- 数据恢复
4.数据模型(数据库的核心和基础)
层次模型和网状模型中的单位是基本层次联系,这是指两个记录以及它们之间的一对多(包括一对一)的联系
-
概念模型:从现实世界到概念模型
- 实体
- 属性
- 码
- 实体型
- 实体集
- 联系
概念模型的一种表示方法:实体-联系方法**(E-R图)**
-
逻辑模型:从概念模型到逻辑模型
- 层次模型:
- 子女结点与双亲节点的联系是唯一的。
- IBM公司的IMS数据库为层次模式。
- 网状模型:
- 子女结点与双亲节点的联系可以是不唯一的。
- 关系模型:
- 关系:一个关系对应通常说的一张表
- 元组:表中的一行即为一个元组
- 属性:表中的一列即为一个属性
- 关系的完整性约束:
- 实体完整性
- 参照完整性
- 用户定义完整性
- 面向对象数据模型
- 对象关系数据模型
- 半结构化数据模型
- 层次模型:
-
物理模型:
- 从逻辑模型到物理模型
5.关系模型的优缺点
优点:
- 它是简历在严格的数学概念的基础上的。
- 关系模型的概念单一。
- 关系模型的存取路径对用户隐蔽。
6.数据模型的组成要素
- 数据结构(静态特性)
- 数据操作(动态特性)
- 数据的完整性约束条件
7.三级模式
模式是相对稳定的,而实例是相对变动的。数据库管理系统提高模式定义语言(模式DDL)来严格地定义模式。
-
外模式:
- 外模式也称子模式和用户模式。
- 它是数据库用户能看见和使用的局部数据的逻辑结构和特征的描述。
- 是数据库用户的数据视图与某一应用有关的数据的逻辑表示。
-
模式:
- 模式也称为逻辑模式。
- 是数据库中全体数据的逻辑结构和特征的描述。
- 是所有用户的公共数据视图。
-
内模式
- 内模式也称为存储模式。
- 一个数据库只有一个内模式。
- 它是数据物理结构和存储方式的描述。
- 是数据在数据库内部的组织方式。
-
外模式/模式映像:保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
-
模式/内模式映像:保证了数据与程序的物理独立性,检查数据的物理独立性。
第二章 关系数据库
1.关系模型的三个组成部分
- 关系数据结构
- 关系操作集合
- 关系完整性约束
2.关系数据语言的特点和分类
- 分类:
- 关系代数语言
- 关系演算语言
- 特点:
- 具有关系代数和关系演算双重特点的语言。
3.关系模型的一个特点是,实体以及实体之间的联系都考研使用相同的结构类型来表示。
4.候选码可以退唯一地标识一个元组
第三章 关系数据库表尊语言SQL
1.SQL的特点
- 综合统一
- 数据定义语言(DDL)
- 数据操作语言(DML)
- 数据控制语言(DCL)
- 高度非过程化
- 面向集合的操作方式
2.RESTRICT和CASCADE的区别
- RESTRICT表示表的修改删除是有限制条件的。要删除的基本表帮你背其他表的约束所引用,不能有视图,不能有触发器,不能有存储过程或函数等。如果存在这些依赖该表的对象,则表不能被删除。
- CASCADE表示表的删除没有限制条件,在删除基本表的同时,相关的依赖对象(如视图)都将被删除。
3.简述视图的优点
- 视图能够简化用户的操作。
- 视图使用户能以多种角度看待同一数据。
- 视图对重构数据库提供了一定程度的逻辑独立性。
- 视图能够对机密数据提供安全保护。
4.那类视图可以更新,那类不能更新
- 基本表的行列子集视图一般是可以更新的
- 弱视图的属性来自聚合函数、表达式,则该视图肯定是不可以更新的。
5.视图属于外模式
6.SQL语言的功能
- 数据定义
- 数据查询
- 数据操纵
7.SQL语言的数据定义功能包括
- 模式定义
- 表定义
- 视图定义
- 索引定义
第四章 数据库安全
1.上面是数据库的安全性
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
2.实现数据库安全性控制的常用方法和技术
- 用户身份鉴别
- 自主存取控制和强制存取控制(多层存取控制)
- 视图机制
- 审计
- 数据加密
3.自主存取和强制存取控制
- 自主存取控制方法:定义各个用户对不同数据对象的存取权限。防止不合法用户对数据库的存取。
- 强制存储控制方法:每一个数据对象被(强制地)标以一定的密级。
自主存取控制中自主的含义是:用户可以将自己拥有的存取权限“自主”地授予别人。
第五章 数据库完整性
1.数据库的完整性指
- 数据的正确性
- 数据的相容性
2.DBMS的完整性控制机制应具有
- 定义功能
- 检查功能
- 违约处理功能
3.CREATE TABLE用户定义的完整性可以通过
- NOT NULL
- UNIQUE
- CHECK
4.系统采用的策略
- 拒绝删除
- 级联删除
- 设为空值
第七章 数据库设计
1.试述数据库设计过程
- 需求分析
- 概念结构设计
- 逻辑结构设计
- 数据库物理设计
- 数据库实施
- 数据库运行和维护
2.数据库设计过程中形成的数据库模式
- 概念结构设计阶段形成 E-R图
- 逻辑结构设计阶段将E-R转换成数据模型,在基本表的基础上再建立必要的视图,形成数据的外模式。
- 物理结构设计阶段,需要进行物理存储安排 ,建立索引,形成数据库内模式。
3.数据字典的内容包括
- 数据项
- 数据结构
- 数据流
- 数据存储
- 处理过程
4.数据字典的作用
数据字典是关于数据库中数据的描述,再需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实和完善。
5.数据库的 “外模式” 是在数据库 “逻辑结构设计” 阶段设计的。
6.生成DBMS系统支持的数据模型是在“逻辑结构设计” 阶段完成的。
7.数据库的 “索引” 是在数据库 “数据库物理设计” 阶段完成的
8.数据库设计方法
- 新奥尔良法
- 基于E-R模型
- 3NF设计方法
- 面向对象设计方法
- 统一建模语言(UML)方法
9.集成局部E-R分两个步骤
- 合并
- 修改和重构
10.数据库常见的存取方法有
- 索引存放方法
- 聚簇存储方法
- Hash方法
第八章 数据库编程
1.嵌入式SQL在语句前加 “EXEC” 用于区分,以 “分号” 结束。
2.主变量可以附加一个指示变量,指示变量可以表示输入主变量是否为 “空值”。
3.SQL是 “面向集合” 的,主语言是 “面向记录” 的,可以使用 “游标” 解决这一问题。
4.存储过程经过 “编译” 、 “优化” 之后存储在 “数据库服务器之中”
5.应用程序中 “访问” 和 “管理数据库” 的方法有
- 嵌入式SQL
- PL/SQL
- ODBC
- JDBC
- OLEDB
第九章 关系查询处理和查询优化
1.数据库管理系统查询优化的一般准则
- 选择运算应尽可能先做
- 把投影运算和选择运算同时进行
- 把投影同其前或其后的双目运算结合起来执行
- 把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算
- 找出公共子表达式
- 选取合适的连接算法
第十章 数据库恢复技术
1.数据库事务的4个特性:ACID
- 原子性(Atomicity)
- 一致性(Consistency)
- 隔离性(Isolation)
- 持久性(Durability)
第十一章 并发控制
1.“并发控制技术” 能保证事务的 “一致性” 和 “隔离性”
2.并发操作会产生几类数据不一致
- 丢失修改
- 不可重复读
- 读脏数据
3.并发控制技术包括
- 封锁方法
- 时间戳方法
- 乐观控制方法
- 多版本并发控制方法