跟我一起复习数据库(二)

下面是一些重要的概念和解释,均摘选自原书

数据库:

数据库系统是指一个计算机存储记录的系统,即,它是一个计算机系统,该系统的目标是存储信息并支持用户检索和更新所需要的信息。

数据模型:
数据模型 是对对象、操作等的一个抽象的、自包含的逻辑定义,这些定义合起来构成了一个面对用户的抽象机。

数据库方法的优点:

(1) 数据共享( 2) 减少冗余 (3) 避免不一致 (4) 提供事务支持 (5) 保持完整性 (6) 增强安全性 (7) 平衡相互冲突的请求 (8) 加强标准化

ANSI/SPARC体系结构分为三层:即内模式、概念模式和外模式。广义地讲:

• 内模式(存储模式)是最接近物理存储的—也就是,数据的物理存储方式;
• 外模式(用户模式)是最接近用户的—也就是,用户所看到的数据视图;
• 概念模式(公共逻辑模式,或有时称逻辑模式)是介于前两者之间的间接的层次。

“外部视图”(即外模式)会有许许多多,每一个都或多或少地抽象表示整个数据库的某一部分,而“概念视图” (概念模式)只有一个,它包含对现实世界数据库的抽象表示。 大多数用户只对整个数据库的某一部分感兴趣)。同样,“内部视图”(即内模式)也只有一个,表示数据库的物理存储。

直观地说,关系系统是这样的系统:
1) 结构化方面:数据库中的数据对用户来说是表,并且只是表;
2) 完整性方面:数据库中的这些表满足一定的完整性约束(在本节最后讨论);
3) 操纵性方面:用户可以使用用于表操作的操作符。

从一个表导出另一个表的操作符。其中,选择、投影和连接这三种尤为重要。
• 选择操作是从表中提取特定的几行。
• 投影操作是从表中提取特定的几列。
• 连接操作是根据某一列的值将两个表连接起来。

事务:事务是一个逻辑工作单元,通常包括几个数据库操作,并指出当不同的操作处于同一事务中时,用户要通知系统。 BEGIN TRANSACTION、COMMIT 和ROLLBACK操作就是基于这一考虑提出的。

注意以下几点问题:
1) 要保证事务的原子性 ,也就是说,即使系统在处理中发生故障,也要保证(从逻辑的
观点)事务中的操作要么都做,要么都不做。
2) 要保证事务的持续性 ,一旦事务成功地执行了 COMMIT,即使随后系统发生故障,也
要确保它的更新写入数据库中。注意:本质上,是事务的持续性保证了数据库中数据
的持久性。
3) 要保证事务的隔离性,事务 T1对数据库的更新操作对任何不同的事务 T2来说是不可见
的,直到或除非 T1成功执行 COMMIT。COMMIT使事务的更新对其他事务来说是可见
的;这些更新已经提交,并且要保证不能取消。若事务执行了ROLLBACK,所有事务
的更新操作都要取消(回滚) 。对后一种情况,其结果应该就像事务一开始就没有执行
一样。
4) 要保证一组并发事务的交叉执行(通常)是可串行的,即其结果与按某一未指明的次
序串行地执行时的结果相同。

基本关系变量和视图的不同在于:
• 基本关系变量是“真实存在”,意味着它们所表示的数据真正存在于数据库中。
• 相反,视图并不“真实存在”,只是提供了观察“真实数据”的各种方式。