zoukankan      html  css  js  c++  java
  • 数据库系统理论概念

    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范式:每个属性( 包括主属性 ) 既不存在部分函数依赖也不存在传递函数依赖于主码。

  • 相关阅读:
    Android ELF文件格式
    AWS发布架构师认证的专业解决方案
    python django模型内部类meta详细解释
    SQL_substr功能测试
    猫学习IOS(四)UI半小时就搞定Tom猫
    使用jquery点击一个实现button或连接,进行以下div显示,在点击隐藏
    hdu2852--KiKi's K-Number(段树,求第一k的数量)
    信息安全官谁:逼近的挑战,你准备好了吗?
    VS2010使整个过程说明了安装包
    进程的创建与可执行程序的加载
  • 原文地址:https://www.cnblogs.com/moveofgod/p/2680164.html
Copyright © 2011-2022 走看看