关系模型和关系代数

来源:互联网 发布:udp端口号是多少 编辑:程序博客网 时间:2024/05/10 20:57

关系模型的3类完整性规则

为了维护数据库中数据和现实中的一致性,关系型数据库的数据与更新要遵循的规则

  1. 实体完整性规则
    主键的属性不能为空值

  2. 参照完整性规则
    如果k是R1的主键,k也是R2的外键,那么在R2中k的值可能是空值或者R1中某个主键。
    外键是否可以为空根据具体问题而定

  3. 用户自定义完整性规则
    如:定义一个学生的年龄范围

    DDL:数据定义语言,主要是定义SQL模式、基本表、视图、索引(create、drop、alter)
    DML:数据操纵语言,分为查询语句(select)和更新语句(insert、update、delete)
    DCL:数据控制语言,主要是对基本表和视图的授权、事务控制、完整性规则

    关系代数

    (1) 传统的集合操作:并、差、交、笛卡儿积(乘)、迪卡儿积逆运算(除)
    (2) 扩充的关系操作:对关系进行垂直分割(投影)、水平分割(选择)、关系的结合(连接、自然连接)

    关系代数的5个基本操作
    1、并
    关系R和S具有相同的关系模式,RUS是属于R或属于S的元组构成的集合

    2、差
    R-S是属于R的元组但不属于S的元组

    3、迪卡儿积
    R*S如果R有m个元组,S有n个元组,那么R*S有m*n个元组

    4、投影
    相当于对关系进行垂直分割,消去一些列重新安排顺序
    π4,1(R)代表关系的第1列为关系R的第4列,第2列为R的第1列

    5、选择
    对关系做水平切割,选取符合条件的元组
    5种基本关系操作的例子

    关系代数的4个组合操作
    1、交
    R∩S是基于R有属于S的元组,R∩S=R-(R-S)

    2、连接
    连接是迪卡儿积和选择操作组合而成
    连接

    3、自然连接
    一般自然连接使用在R和S有公共属性的情况中,如果两个关系没有公共属性,那么自然连接转化为迪卡儿积
    自然连接

    4、除法
    比较复杂,看图解释
    除法

0 0