数据库系统理论概念

1.  数据抽象

     物理层 , 逻辑层 , 视图层

2.  数据独立性

     应用程序不依赖于物理模式 ( 即应用程序不关心后台如何实现 , 数据如何存储 , 只是关心逻辑层 )

3.  事务的性质

     事务是对数据库几个操作合起来形成的一个逻辑单元 .

Sample : 资金转账 A账户转出 到 B账户

原子性 : 要么转出 , 转入都发生 , 要么都不放生 .

     一致性 : A + B 的和 应该是保持不变 .

     持久性 : 成功结束后 , 即是发生系统故障 , A和B的值也应该保持不变 .

4.  原子域 : 如果域的元素被看作是不可再分的单元,称为原子的 .

5.  超码 , 候选码 , 主码

    超码 : 属性的集合, 在一个关系中可以唯一标识一个元组 .

    候选码 : 它的任意真子集都不能成为超码 .

    主码 : 数据库设计者选中的用来区分不同元组的候选码 .

6. 除运算

                        关系R

A

B

C

D

2 1 a c
1 2 a d
3 2 b d
3 2 b c
2 1 b d

                       关系S

C

D

E

a c 5
a c 2
b d 6

求 :R 除 S ?

本题中,R的属性有 A,B,C,D ,而S的属性有C,D,E ,故此,R 除 S 的属性只能有 A,B 。( 首先,R 除 S 的结果肯定是 R 中元组的部分属性 。

求除法的简单方法是:在关系R中寻找属性C,D的值同时满足S中属性C,D的所有元组的元组。

例如本例 : R中左半部分全部一样 2,1 而右边包括 关系S中 C,D 属性的全体。所以求得的结果就是图中彩色部分。

Sample 2 :

关系 R ( 学生名 )                        关系 S ( 课程名 )                            关系 RS ( 学生名 课程名 )

张三                                            语文                                                张三 语文

李四                                            数学                                                张三 数学

王五                                                                                                   李四 语文

求:选修了所有课程的学生 ?

实质是 : RS / S : 结果为 张三 。

7. SQL 准许定义转义字符 ,转义字符直接放在特殊字符前面,表示特殊字符被当成普通字符。例如:\ , \% 。

8. NULL

    如果 NULL 参与 + - * / 运算 ,结果是 NULL。

    如果 NULL 参与 比较运算,结果是unknown ( unknown 不是 is null , 也不是 is not null ) 。

    如果 NULL 参与逻辑运算 ( and , or , not ) :

    and : true and unknown = nuknown , false and unknown = false , unknown and unknown = unknown .

    or   : true or unknown = true , false or unknown = unknown , unknown or unknown = unknown .

    not : not unknown = unknown .

9. 目录与模式 ( catalog & schema )

    如何知道自己定义的表没有和别人定义的表重名 ,当用户登录时,系统会自动提供该用户的默认目录与模式。例如一个table的名称为 Accont ,但是

    实际这个table的名称应该为 catalog5.schema.Accont 。

10. 约束

    not null , unique , check , references 。

11. ER图设计

    设计要根据实际情况 , 在确定用实体集还是联系集时可采用的一个原则是:当描述发生在实体间的行为时采用联系集。

12. 函数依赖

    设R(u) 是一个属性集 u 上的关系模式,x 和 y 是 u 上的子集,若对 R(u)的任意一个可能的关系 r ,  r 中不存在两个元组 在 x 上的属性值相等,而在 y 上的属性值不等,

    则称,x 函数确定 y 或 y 函数依赖于 x . x -> y ( y = f(x) )。

    非平凡函数依赖:x->y , 但是 y 不是 x 的子集。

    平凡函数依赖: x->y , y 是 x 的子集。

    部分函数依赖: x->y , 存在 x 的真子集 x' , 使得 x'->y 。

    完全函数依赖: x->y , 对于 x 的任意真子集 x' , 都不存在 x'->y。

    传递函数依赖:若 x->y , y->z , 而 y ! ->x , 则有 x -> z 。

13. 范式

    第一范式:如果一个关系模式R的所有属性域都是原子的 ( 同上 ),则R是第一范式。

    第二范式:满足第一范式,并且每个非主属性完全函数依赖于主码。

    第三范式:瞒足第一范式,并且不存在非主属性对主码的传递函数依赖 ( 必须都是直接的 )。

    BCNF范式:每个属性( 包括主属性 ) 既不存在部分函数依赖也不存在传递函数依赖于主码。

posted @ 2012-09-11 14:36  神之一招  阅读(403)  评论(0编辑  收藏  举报