04735数据库系统管理
单选题:15题,每题2分,一共30分
填空题:10题,每题1分,一共10分
简答题:5题,每题6分,一共30分
设计题:5题,每题4分,一共20分
综合题:1题,每题10分,一共10分
第一章 数据库系统概述
第一小节 数据库基本概念
1. 数据(Data):数据是描述事物的符号记录,是指利用物理符号记录下来的、可以鉴别的信息,数据是信息存在的一种形式,只有通过解释或处理的数据才能称为有用的信息
2. 数据库(DB):是长期存储在计算机中的有组织的、可共享的数据集合
数据库要按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性,系统易于扩展,并可以被多个用户分享
3. 数据库中存储的数据的特点:永久存储、有组织的、可共享
4. 数据库管理系统(DBMS):专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间
5. 数据库管理系统的功能:数据定义功能;数据操纵功能;数据组织、存储和管理功能;数据库的运行管理功能;数据库的建立和维护功能;其他功能;
6. 数据库系统(DBS):在计算机引入数据库之后的系统
7. 数据库系统的构成:数据库、数据库管理系统、及相关的实用工具、应用程序、数据库管理员和用户
数据库系统最大,包括了所有东西
8. 数据库管理员(DBA):专门负责对数据库进行维护,并保证数据库正常、高效运行的人员

第二小节 数据管理技术的发展
9. 数据库发展三阶段:人工管理阶段(20世纪50年代中期以前)、文件系统阶段(20世纪50年代后期到60年代中期)、数据库系统阶段(20世纪60年代后期以来)
10. 人工管理阶段的3个特点:数据不保存;应用程序管理数据;数据面向应用程序
11. 文件系统阶段的3个特点:文件系统将数据的逻辑结构与物理结构分离;文件系统提供了数据的物理独立性;不能实现数据的普通共享,存在大量的数据冗余
12. 数据库系统的7个特点:数据集成(主要目的);数据共享性高;数据冗余小;数据一致性;数据独立性高;实施统一管理与控制;减少应用程序开发与维护的工作量;
数据一致性:引起数据不一致的根源是数据冗余,通过消除或控制数据冗余,可以在一定范围内避免数据的不一致性
数据独立:数据定义与使用数据的应用程序分离称为数据独立;数据库独立性包括数据的逻辑独立和数据的物理独立
实施统一管理与控制:数据库管理系统具有对数据的统一管理和控制功能,主要包括数据的安全性、完整性、并发控制和故障恢复等,即数据库保护
第三小节 数据库系统的结构(三层模式两级映像)

数据库的体系结构是三层模式是两级映像,为什么有数据库的体系结构呢?他保证了数据独立性
13. 数据库的独立性 :应用程序与数据之间相互独立,分为逻辑数据独立性和物理数据独立性
14. 逻辑数据独立性:外模式/模式映像保证了数据的逻辑独立性(就是外面那层),指用户的应用程序与数据库的逻辑结构是相互独立的,数据的逻辑结构改变了,应用程序也可以不变(就是你的接口逻辑改变了,你的应用程序不需要变动,因为应用程序直接调用这个接口就好了)
15. 物理数据独立性:模式/内模式映像保证了数据的物理独立性(就是底下那层),指用户的应用程序与磁盘上的数据库中数据是相互独立的,当数据库的物理存储改变了,应用程序不用改变
第四小节 数据模型(重点)
16. 数据模型:是对现实世界数据特征的抽象,描述的是数据的共性内容,数据模型是模型化数据和信息的工具,也是数据库系统的核心和基础
17. 数据模型三要素:数据结构、数据操作、数据约束
18. 数据模型数据的特征:静态特征(数据的基本结构、数据间的联系、数据取值范围的约束)、动态特征
19. 数据模型的分类:概念模型、物理模型、逻辑模型
20. 概念层数据模型:也称为数据的概念模型或信息模型,用于数据库的设计阶段,是对信息世界的建模(概念模型的表示方法一般使用E-R图,e-r图是实体-联系法)
21. 逻辑层数据模型:逻辑层是数据抽象级别的中间层,逻辑层数据模型,也称逻辑模型,任何DBMS都是基于某种逻辑数据模型,逻辑数据模型的类型有层次模型、网状模型、关系模型、面向对象模型
22. 逻辑层数据模型的类型-关系模型:用二维表结构来表示实体间的联系,优点是建立在严格的数学概念的基础上、概念单一、存取路径对用户透明,有更高的数据独立性,更好的安全保密性
23. 物理层数据模型:也称为物理模型,描述数据在存储介质上的组织结构,是逻辑模型的物理实现,是数据库最底层的抽象
24. 逻辑模型、概念模型、物理模型之间的关系:三个数据模型之间既相互独立,又存在着关联。从现实世界到概念模型的转换是由数据库设计人员完成的;从概念模型到逻辑模型的转换可以由数据库设计人员完成,也可以用数据库设计工具协助设计人员完成;从逻辑模型到物理模型的转换是由数据库管理系统完成的
第二章 关系数据库(重点)
第一小节 关系数据库概述
1. 关系数据库的基本特征:使用关系数据模型组织数据,这种思想来源于数学
2. 关系数据库的优点:高级的,分过程语言接口,较好的数据独立性,为商品化的关系数据库管理系统的研制做好了技术上的准备
第二小节 关系数据模型(重点,表和表的增删改查,表的关系代数操作)
3. 关系数据模型组成要素:关系数据结构、关系操作集合、关系完整性约束
4. 关系模型相关概念:表、关系、列、行、分量、域、数据类型、码或键、候选码或候选键、主属性或非主属性、主码或主键、全码或全键、外码或外键、参照关系和被参照关系、关系模式、关系数据库
5. 表:也称为关系,是一个二维的数据结构,由表名、列、若干行数据组成
6. 关系:一个关系逻辑上对应一张二维表,可以为每个关系取一个名称进行表示,基本关系、查询表、视图表(导出的虚表)
7. 列:也称为字段或属性,属性的个数称为关系的元或度(id,name,那么就称为xx关系有2度/元),列的值称为属性值,其取值范围称为值域
8. 行:也称为元组或记录。表中的数据按行存储
9. 分量:具体的数据项,元组中的一个属性值,称为分量({1,tom,man},像1,tom,man这种元组的属性值,就是分量)
10. 域:表示属性的取值范围
11. 数据类型:每个列都有对应的数据类型,它用于限制该列中存储的数据
12. 码或键:属性的值都能用来唯一标识该关系的元组,则称这些属性为该关系的码或键
13. 候选码或候选键:在码中不能从中移去任何一个属性,否则它将不再是这个关系的码或键,候选码或候选键是这个关系的最小超码或超键
14. 主属性或非主属性:包含或者不包含在任意一个候选码中的属性称为主属性或码属性
15. 主码或主键:在若干个候选码中指定一个唯一标识关系的元组
16. 全码或全键:一个关系模式的所有属性集合是这个关系的主码或主键,这样的主码或主键称为全码或全键
17. 外码或外键:某个属性不是这个关系的主码或候选码,而是另外一个关系的主码
18. 参照关系和被参照关系:他们是以外码相关联的两个关系,外键为主键的关系是被参照关系也是从关系;外键所在的关系称为参照关系也是主关系,通常同在一对多的联系上

19. 关系模式:关系模式是型,关系是值,即关系模式是对关系的描述,关系模式是静态的,关系是动态的,随着时间不断变化的
20. 关系数据库:所有关系的集合,构成一个关系数据库,以关系模型作为数据的逻辑模型,采用关系作为数据组织方式的数据库,数据库操作建立在关系代数的基础上
21. 关系数据库对关系(表)的要求:每一个属性不可再分;每一个关系只有一种关系模式;每一个关系模式中的属性必须命名,属性名不同;同一个关系不允许出现候选码值完全相同的元组;关系中行和列的顺序可以任意较换
关系代数
22. 关系操作集合—基本的关系操作:增删改查(选择、投影、并、差、笛卡尔积、连接、除、交)
23. 关系数据语言的分类:关系代数语言、SQL、关系演算语言,共同特点:具备完备的表达能力,是非过程化的集合操作语言,功能强,能独立也可以嵌入高级语言中使用
24. 关系代数--传统的集合运算(注意只有表中属性名称和个数相同才可以进行运算,除了笛卡尔积):并(∪,就是两个表合并,)、交(∩,就是两个表找相同的部分,比如a={1,2}b={2,3},a∩b={2})、差(-,就是两个表找相同的部分,然后去除比如a={1,2,3}b={1,4,5},a-b={2,3},而b-a={4,5})、笛卡尔积(×,看图)

25. 关系代数--专门的关系运算:选择 (σ) 、投影(π)、连接( ⋈等值连接和自然连接)、除(÷)
五个基本的关系代数操作是并、差、笛卡尔积、投影和选择,上面只是按类型分开
关系完整性约束
26. 关系的完整性约束:数据库中数据的正确性、相容性、一致性
27. 关系的完整性约束分类:实体完整性约束、参照完整性约束、用户自定义完整性约束
28. 实体完整性约束:指关系的主属性,即主码的组成不能为空值null,每个实体具有唯一性标识
29. 参照完整性约束:定义主键和外键之间的引用规则(就是这个表的外键对那个表的主键)
30. 用户定义完整性:针对某一具体关系数据库的约束条件
执行增删改对约束的顺序
插入:检查实体完整性约束-->检查参照完整性约束-->检查用户自定义完整性
删除:检查参照完整性
更新:上面两个综合
第三小节 关系数据库的规范化理论(难点,就是函数依赖和范式)
31. 关系模式中可能存在的冗余和异常问题:
数据冗余:只同一数据被反复存储的情况
更新异常:数据冗余造成的,多个内容更改使操作错误
插入异常:插入数据库中的数据库不能执行插入操作
删除异常:不应该删除的数据被删除的情形
32. 函数依赖:关系中属性间的对应关系,X->Y,意思是X可以决定Y,称为Y依赖于X,X可能是个集合,Y的值只有一个,不可能说学号->(姓名,年龄),只能是学号->姓名,学号->年龄

33. 平凡函数依赖和非平凡函数依赖:
X决定Y,但Y包含在X内部则称X-->Y是平凡函数依赖



34. 完全函数依赖和部分函数依赖:


35. 传递函数依赖

36. 范式化:一个低一级范式的关系模式通过模式分解可以转换成若干个高一级范式的关系模式的集合的过程
37. 第一范式(1NF):设R为任一给定关系,若R中每个列与行的交点处的取值都是不可再分的基本元素,则R为第一范式,存在非主属性对码的部分函数依赖
缺点:冗余高、插入数据异常、更新数据异常、删除数据异常(知道1nf最差就好了)
38. 第二范式(2NF):在1NF基础之上,消除非主属性对键的部分依赖,则称它为符合2NF(也就是拆表了)
缺点:插入数据异常、删除数据异常,优点:消除修改数据异常,减少冗余
39. 第三范式(3NF):设R为任一给定关系,R的每一个非主属性即不部分函数依赖于候选码也不传递依赖于候选码
优点:基本上解决冗余过大、数据异常
40. BC范式(BCNF):设关系模式R为1NF,如果对于R的每个函数依赖x->y,若y不属于x,则x必包含有候选码,那么R为BCNF

第三章 数据库设计
第一小节 数据库设计概述
1. 数据库的生命周期分为两个阶段:数据库分析与设计阶段、数据库实现与操作阶段
2. 数据库分析与设计阶段:需求分析、概念设计、逻辑设计、物理设计
3. 数据库实现与操作阶段:实现、操作与监督、修改与调整
4. 数据库设计的目标:满足应用功能需求(增删改查),和良好的数据库性能
5. 数据库设计的内容:是从用户对数据的需求出发,研究并构造数据库的过程,主要包括数据库结构设计和数据库行为设计
数据库结构设计(静态的):包括数据库概念结构设计、逻辑结构设计、物理结构设计
数据库行为设计(动态的)
6. 数据库设计方法:直观设计法、规范设计法(包括新奥尔良设计方法、基于第三范式设计方法、基于E-R模型设计方法)、计算机辅助设计法(CASE工具)
7. 数据库设计过程:

第二小节 数据库设计的基本步骤
8. 需求分析:是数据库设计的起点,目标是了解与分析用户的信息及应用处理的要求,并将结果按一定的个数整理而形成需求分析报告(需求分析报告是后面数据库建立与维护的依据)
9. 需求分析四个步骤:确定数据库范围、应用过程分析、收集与分析数据、编写需求分析报告
10. 需求分析四个步骤--确定数据库范围:有效地利用计算机设备及数据库系统的潜在能力;提高数据库的应变能力;避免应用过程中对数据库做太多或太大的修改;延长数据库的生命周期;
11. 需求分析四个步骤--应用过程分析:是数据库结构设计的重要依据
12. 需求分析四个步骤--收集与分析数据:收集与分析的任务是了解并分析数据的组成个数及操作特征
13. 需求分析四个步骤--编写需求分析报告:数据库的应用功能目标;标明不同用户视图范围;应用处理过程需求说明;数据字典;数据量;数据约束;
14. 概念结构设计:独立于任何软件于硬件,主要目标是最大限度满足用户有有需求;关系的规范化理论主要用于概念设计阶段,设计方法有实体分析法(自顶向下法)、属性综合法(自底向上法)、概念模型(自顶向下)
15. 逻辑结构设计(是设计关系模式):目标将概念模型转换为等价的、并为特定DBMS所支持数据模型结构,在基本表的基础上建立必要的视图,形成数据的外模式,逻辑结构设计步骤是模型转换、子模式设计、编制应用程序设计、设计评价
16. 物理设计:就是设计表的属性、数据类型、长度等等
17. 数据库实施:加载数据输入与校验不是由人工完成、应用程序设计、数据库试运行
18. 数据库运行和维护:保证数据库的正常运行
第三小节 关系数据库设计方法(重点)
19. 关系数据库设计过程与各级模式:概念模式(E-R图)、逻辑模式(关系模型)、内模式(物理模型)
20. 概念模式的E-R图:实体型(矩形)、属性(椭圆)、联系(菱形,有一对多1:n、多对多n:m、一对一1:1),冲突有属性冲突、命名冲突、结构冲突
21. 逻辑模式设计:就是将e-r图转换为关系模型,然后对关系模型优化,然后设计面向用户的外模式
22. 物理设计方法:建立索引、建立聚集(将相关数据集中存放的物理存储技术)
第四章 SQL与关系数据库基本操作(重点)
第一小节 SQL概述
1. SQL语言:结构化查询语言,是专门用来与数据库通信的语言,他可以帮助用户操作关系数据库
2. SQL3/SQL-99:1999年颁布的SQL标准(目前没有一个数据库语言能够支持SQL标准的全部概念和特性)
3. SQL的特点:SQL不是某个特定数据库供应商专有的语言;SQL简单易学;SQL强大、灵活,可以进行非常复杂和高级的数据库操作
4. SQL的组成:数据查询、数据定义语言(DDL)、数据操纵(DML)、数据控制(DCL)

5. 数据定义语言DDL:就是对数据库和表的操作,create创建数据库/对象、alter修改数据库/对象、drop删除数据库/对象
6. 数据操纵语言(DML):就是对表和视图的数据的操作select、insert、update、delete
7. 数据控制语言(DCL):就是对权限进行控制,grant(授予权限)、revoke(收回权限)
8. SQL调用和会话规则:包括SQL例题和调用规则,以便提高SQL的灵活性、有效性、共享性的特征
第二小节 MYSQL预备知识
9. MYSQL:是一个关系数据库管理系统,他具有客户、服务器体系结构,其具有体积小、速度快、开放源码等特性
10. MYSQL的两种架构:LAMP(linux)、WAMP(window)
11. MYSQL扩展语言要素:常量、变量(用户变量@开头、系统变量@@开头,用于临时存储数据,变量中的数据可以随着程序的运行而变化,变量属性有名字、数据类型)
12. MYSQL常用运算符:

13. 表达式:常量、变量、列名、复杂计算、运算符和函数的组合
第三小节 数据定义
14. 数据库模式定义:创建数据库(create)、选择、删除

15. 表定义:

16. 索引定义
索引类型:普通索引(index、key)、唯一性索引(unique)、主键(primary key)


第四小节 数据更新(重点)

第五小节 数据查询
17. 数据查询:是SQL语言的核心功能,是使用最多的操作,查询结果是由0行或多行记录组成的记录集合
普通查询:

From子句与多表连接查询
交叉连接:又叫笛卡尔积,使用cross join 来连接两个表

内连接:通过设置连接条件的方式,来一出查询结果集某些数据之后的交叉连接

外连接:交叉连接时,有时会输出不满足条件的记录,有左外连(left join Table_name on)、右外连接(right join Table_name on)
左外右外连接的区别:左边以左边表为条件也就是form的表为条件去查询另外一张表,如果没有数据就展示null,右外连接以右边的表也就是join的表为条件去查询另外一张表,如果没有数据就展示null
WHERE子句与条件查询
Where子句:指定过滤,从from子句的中间结果选取适当的数据行,实现数据过滤
条件查询:范围判定有between和in关键字(有填空题)

子查询(重点):分为几类:标量子查询、列子查询、行子查询、表子查询


其他子查询子句:将结果集中的数据行根据选择列的值进行逻辑分组,实现对每个组的聚集计算
GROUP BY分组:

Select后面只能是group by里面的字段
HAVING子句:跟着group by后面使用的,对分组后的数据进行筛选,可以使用聚合函数

ORDER BY子句: 排序,DESC(从大到小) ACS(从小到大)
LIMIT子句:分页查询,limit 1,意思是显示5条,limit 2,10,从第2行开始显示10条

第六小节 视图
18. 视图:视图不是数据库中真实的表,而是一张虚拟表,其自身并不存储数据(就是把查询的数据放在一个地方)
19. 使用视图优点:集中分散数据、简化查询语句、重用SQL语句、保护数据安全、共享所需数据、更改数据格式
视图的操作

对视图数据操作就是对表数据操作,如果建立视图给了条件,对视图进行插入数据,如果数据不满足之前给的条件,那不会展示在视图里
删除视图中的数据:如果视图依赖多个表的数据,则不可以使用DELETE
第五章 数据库编程(难点)
第一小节 存储过程
1. 存储过程:是一组为了完成某项特定功能的sql语句集(就是一段存储在数据库中的代码,存储过程可以由声明式的sql语句和过程式的sql语句组成)
2. 存储过程优点:可增强sql语言的功能和灵活性;良好的封装性;高性能;可减少网络流量;可作为一种安全机制来确保数据库的安全性和数据的完整性
3. 创建存储过程:
用户定义的结束符(DELIMITER $$ end $$)

局部变量:声明不需要@符号,并且只能在begin...end里面声明和使用
用户变量:声明时在名称前面使用@符号,声明后的用户变量在整个会话中使用

游标(cursor):是一个被select语句检索出来的结果集,相当于一个指针,他指向当前的一行数据
使用游标注意点:游标只能用于存储过程或存储函数中,不能单独在查询操作中使用;在存储过程中可以定义多个游标,但是在一个begin..end语句块中每一个游标的名字必须是唯一;游标不是一条select语句,是被select语句

循环:需要背诵

4. 调用存储过程:使用CALL语句在程序或者其他存储过程中调用它,语法call sp_name(参数)
5. 删除存储过程:DROP PROCEDURE [IF exists] sp_name

第二小节 存储函数
6. 存储函数:与存储过程一样,都是有sql语句和过程式语句所组成的代码片段,并且可以被其他应用程序和其他sql语句调用
7. 存储函数和存储过程的区别:存储函数不能拥有输出参数;可以直接对存储函数进行调用,而不使用call;存储函数中必须包含一条return语句
8. 定义存储函数:

9. 调用存储函数:select fn_name()
10. 删除存储函数:drop function [if existe] fn_name
第六章 数据库安全与保护
第一小节 数据库完整性(重点)
1. 数据库的安全保护:
完整性控制:是指数据库中数据的正确性和相容性(会考填空题)
安全性控制:数据库防止不合法的操作而造成数据泄露、更改或破坏
并发控制:事务就是为了保证数据一致性而产生的一个概念和基本手段
数据库的备份与恢复:保证数据库的可靠性和完整性
2. 数据库完整性约束的作用:防止数据库中存在不符合语义的数据
3. 数据库完整性约束条件的作用对象:列级约束(对列的类型、取值范围、精度等约束)、元组约束(指元组中各个字段之间的相互约束)、表级约束(指若干元组、关系之间的联系的约束)
完整性约束条件是完整性控制机制的核心
4. 定义与实现完整性约束:实体完整性、参照完整性、用户自定义完整性
5. 实体完整性:在mysql中,实体完整性是通过主键约束和候选键约束实现的(会考填空题)
主键列必须遵守的规则:每一个表只能定义一个主键;主键的值必须能够唯一标志表中的每一行记录,且不能为null;复合主键不能包含不必要的多余列;一个列名在复合主键的列表中只能出现一次

主键约束和候选键约束的区别:一个表只能创建一个主键,可以定义若干个候选键,主键约束的关键字是primary key,候选键约束的关键字是unique
6. 参照完整性:通过在创建表或更新表的同时定义一个外键声明来实现的
声明外键方式:在表中某个列的属性定义后直接加上“reference definition”语法项;在表中所有列的属性定义后添加“foreign key(字段名1,字段名2...)”

7. 用户自定义完整性:非空约束、check约束、触发器
完整性约束不能直接被修改,实际上是用alter table先删除在新建一个新的约束,使用alter table可以独立删除完整性而不会删除表


第二小节 触发器(难点)
8. 触发器:是用户定义在关系表上的一类由事件驱动的数据库对象,也是一种保证数据库完整性的方法
9. 触发器的组成:事件、条件、动作
10. 触发器的作用:实现主键和外键不能保证的复杂的参照完整性和数据一致性,从而有效保护表中的数据

添加一个触发器,在banner表执行insert操作时,用户变量msg为“有新纪录添加”

每个事件只允许一个触发器,每个表最多支持6个触发器
第三小节 安全性与访问控制
11. 数据安全性:是指保护数据库以防止不合法的使用而造成数据泄露、更改或破坏
12. 安全性与访问控制:身份验证、数据库用户权限确认使用create user语句创建mysql账号

使用grant为用户授权:grant后面是权限名称 on后面是权限级别

使用revoke:和grant语法一样,但是to要改为from

第四小节 事务与并发控制
13. 事务:用户定义的一个数据操作序列,这些操作可作为一个完整的工作单元,要么全部执行,要么全部不执,是一个不可分割的工作单位,事务中的操作一般是对数据的更新操作,包括增删改
14. 事务的特征(ACID)(简答题会考):原子性、一致性、隔离性(数据不一致是破坏了隔离性)、持续性(永久性)

15. 并发操作问题:丢失更新、不可重复读、读“脏”数据
16. 控制并发的技术:封锁
17. 封锁的基本思想:需要时,食物通过向系统请求对它所希望的数据对象加锁,以确保他不被非预期改变
18. 锁(会有填空题):一个锁实质上就是允许或阻止一个事务对一个数据库对象的存取特权
19. 基本的封锁类型:排它锁(X锁,用于备份) 、共享锁(S锁,用于恢复数据)
20. 封锁的工作原理:
21. 封锁的粒度(考简答题):用来描述封锁的数据单元大小,锁的粒度越细,并发性就越大但软件复杂性和开销也越大
22. 封锁的级别:又称一致性级别或隔离度,有0级封锁,1级封锁,2级封锁,3级封锁
23. 活锁的处理方案(有填空题):先来先服务
24. 死锁的预防方案:一次性封锁请求、锁请求排序、序列化处理、资源剥夺
25. 死锁检测:图论的方法检测死锁,并以正在执行的事务为节点
26. 可串行性:一组事务的一个调度就是他们的基本操作的一种排序,在数据系统中,可串行性就是并发执行的正确性准则,即当一组事务的并发执行调度室可串行化的,才认为他们是正确的
27. 两段封锁法:发展或加锁阶段、收缩或释放锁阶段
第五小节 备份与恢复
28. 数据库备份与恢复的概念:数据备份是指通过导出数据或复制表文件的方式来制作数据库的副本,数据恢复是指遭到破坏时,将备份的数据库加载到系统,从而使数据库错误状态恢复到备份时的正确状态,数据库的恢复是以备份为基础的,他是与备份相对应的系统维护和管理操作(考填空题)
29. 备份数据:select * into ...outfile ’备份的文件名’ export_options
30. 恢复数据:load data ... infile
备份是需要在指定的表上使用lock tables 表名 read,做一个读锁定,防止备份过程中被其他用户更新,恢复数据时,则需要使用lock table write 语句做一个写锁定,以避免发生数据冲突,在操作完后,使用unlock table进行解锁
第七章 数据库应用设计与开发实例
第一小节 需求描述与分析
1. 功能需求:有具体的完成内容的需求
2. 非功能性需求:指软件产品为满足用户业务需求而必须具有除功能需求以外的特征,包括系统的性能、可靠性、可维护性、可扩展性和对技术的业务适应性等
数据库的并发操作带来的问题:丢失更新问题、读脏数据、不可重复读问题
DBMS提供子模式描述语言严格地定义子模式
数据聚集结构的一种有效方式是块结构方式
物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。即,数据在磁盘中如何存储应用程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。
逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的,即,当数据的逻辑结构改变时,用户程序也可以不变。