• 数据库之关系运算和完整性约束(软考中级)


    1.关系模式

    关系模型由关系数据结构,关系操作集合和完整性约束三部分组合

    1.1关系模式基本术语

    关系: 关系指的是一张二维表,每个关系有一个关系名。

    元组: 表中的一行即为一个元组。

    属性: 表中的列称为属性,每一个列有一个属性名。属性值相当于记录中的数据项或字段值。

    域: 属性的取值范围。

    关系模型: 关系的描述,由关系名和 属性集合构成,格式为:关系名(属性名1,属性名2,属性名3 …,属性名n)

    候选码(候选键): 属性或者属性组合,其值能够唯一标识一个元组。

    主码(主键): 在一个关系中可能有多个候选码,从中选出一个作为主码。

    主属性: 在候选码中的属性称为主属性,不在的称为非主属性。

    外码(外键): 如果一个关系中的属性或属性组不是该关系的码,但他们是另外一个关系的码,则称其为该关系的外码

    全码: 一个关系模式中的所有属性都是候选码,则称全码。

    超码(超键): 一个包含码的属性集称为超码,例如学号是码,则(学号,姓名)就是一个超码

    image-20221029170114108

    1.2关系模式完整性约束

    1. 实体完整性: 关系中的主码不能为空或者部分为空

    2. 参照完整性: 若一个关系R的外码是X,则这个关系R的外码必须在依赖的主码中必须存在,就好比学生信息中的专业编号,这个专业编号必须在另一个专业关系表中必须存在。

    3. 用户自定义完整性: 指用户对某一具体数据指定的约束条件进行检验。

    1.3关系模型的集合操作

    关系模型常用的操作有:选择,投影,连接,除,并,交,差等查询操作和增加,删除操作

    1.3.1关系的数学定义

    (1)笛卡尔积

    image-20221029172424640

    (2)关系( 不用看 )

    image-20221029172452276

    (3)关系的性质不用看 )

    image-20221029172502003

    1.3.2关系代数运算

    关系代数是施加于关系之上的一组集合代数运算,每一个运算都以一个或多个关系作为运算对象,并生成另外一个关系作为该关系运算的结果。关系代数包含传统的集合运算和专门的关系运算两类

    image-20221029172929719

    (1)传统的集合运算

    传统的集合运算有并,差,交和笛卡尔积运算

    ①并

    关系R和关系S所有元组的集合,删除重复的元组,组成一个新的关系
    
    • 1

    ②差

    关系R和关系S中的差表示,除去关系R中S中的那部分元组,剩余的组成一个新的关系
    
    • 1

    ③交

    关系R和关系S中公共的那部分元组
    
    • 1

    ④笛卡尔积

    笛卡尔积参照上面解释,表示为R×S
    
    • 1

    例如:

    image-20221029173818913

    (2)专门的关系运算

    ①投影

    image-20221029174316764

    ②选择

    image-20221029174550452

    ③连接

    image-20221029180157212

    自然连接:

    image-20221029181024493

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8DQa2lVD-1667040996286)(D:/%E6%A1%8C%E9%9D%A2/%E7%AC%94%E8%AE%B0/%E8%BD%AF%E4%BB%B6%E8%AE%BE%E8%AE%A1%E5%B8%88%E8%B5%84%E6%96%99/image/%E6%95%B0%E6%8D%AE%E5%BA%93.assets/image-20221029181048140.png)]

    image-20221029181105326

    image-20221029181116123

    自然连接:首先求出笛卡尔积,然后抽取出公共的属性列相等的元组,其得出的结果就是自然连接

    ④除

    例题1:

    image-20221029183021004

    image-20221029183030369

    答案:B,A

    例题2:

    image-20221029183611936

    答案B

    例题3:

    image-20221029183936048

    答案:C,D

    例题4:

    image-20221029184147827

    答案:C,A

    例题5:

    image-20221029184327385

    答案:C,B

    例题6:

    image-20221029184559303

    答案:D

    例题7:(易错)

    image-20221029184658628

    答案:B,D

    例题8:

    image-20221029184910077

    答案:C,B

    例题6:

    image-20221029184559303

    答案:D

    例题7:(易错)

    image-20221029184658628

    答案:B,D

    例题8:

    image-20221029184910077

    答案B

  • 相关阅读:
    国庆来临,外贸人出货必须注意的几个点(附节日营销技巧)
    Elasticsearch最详细集群环境搭建
    深度学习之情感分析
    Spring JDBC(配置数据源,操作数据库)
    【Koltin Flow(三)】Flow操作符之中间操作符(一)
    Flink系列之Flink中Source_Transform_Sink整理和实战
    这种动态规划你见过吗——状态机动态规划之股票问题(中)
    c语言练习题56:变种水仙花
    程序员的三重境界:码农,高级码农、程序员!
    java-net-php-python-90儿童失踪登记网站计算机毕业设计程序
  • 原文地址:https://blog.csdn.net/qq_52699757/article/details/127590558