数据库原理及应用(九)数据模型详解

本文深入探讨了数据库的两种主要类型:关系型数据库(如MSSQL)和非关系型数据库(noSQL)。在关系数据库中,重点介绍了关系数据模型,包括关系、属性、主码和候选码等概念,以及实体完整性和参照完整性的完整性约束。此外,还讨论了关系操作,如增删改查,并提到了SQL作为关系数据语言的特点。最后,概述了关系代数作为数据查询语言的基础,以及其基本运算符。
摘要由CSDN通过智能技术生成

数据库的类型

 

        1.关系型:MSSQL,基本数据结构是表

        2.非关系型:noSQL,基本数据结构不是表

关系数据模型

        1.关系数据结构

单一的数据结构--关系

数据的逻辑结构--二维表

        域:相同数据类型的值的集合(一列)

        属性:域的名字(列名)

        码:特定的属性/属性集

                主码:元组标识的候选键,一个关系必须指定一个主码(只能是一个;可以组合)

                候选码:能唯一标识元组的属性(可能是多个;可以组合)

                主属性:候选码的各个属性   

                主码是候选码的子集

        元组:(一行)

        笛卡尔积:域的积(域可以相同、也可以部分相同)

                所有域所有取值的组合(排列组合),不能重复

                可以以集合/二维表表示        {(元组1),(元组2)}

        关系:笛卡尔积(D1XD2X...XDn)的子集称作关系

                记作 R(D1,D2,...Dn)                R:关系名        n:关系的

        查询表:查询结果对应的表

        视图:导出的表(虚表,并不实际存储)

        基本表:

                列是同质的,每一列来自于同一个域

                不同的列可以出自不同的域

                列的顺序无所谓、行的顺序无所谓

                任意两个元组不能完全相同

                分量(单元格)必须取原子值(不可再分)

        关系模式

                对关系的描述,是关系是值

                关系模式与关系的区别:

                        关系模式--对关系的描述、静态的、稳定的

                        关系--关系模式某一时刻的内容、动态的、不断变化的

        关系数据库

                所有实体和他们之间关系的集合构成了一个数据库(可能包含多个关系模式

        2.关系操作

        常见操作:增删改查

        特点:集合操作方式

        语言种类:        关系代数预言

                                  关系演算预言

                                  同时具备上述特点的语言--SQL(结构化查询语言)

                关系数据语言的特点

                        非过程化

                        能够嵌入高级语言中使用

        3.完整性约束

        分类:实体完整性、参照完整性(前两者由系统自动支持)、用户定义的完整性

        实体完整性

                主码唯一且不为空(主码可以是属性的组合)

                主属性不能为空值

        完整性约束条件

列级元组关系
静态

列定义

        类型

        格式

        域值

        空值

元组值应满足的条件

实体完整性约束

参照完整性约束

函数依赖约束

统计约束

动态修改列定义或列值元组新旧值之间应满足的约束条件关系新旧状态间应满足的约束条件

        完整性约束机制

                        定义功能:允许用户自定义各种类型完整性约束

                        检查功能:立即执行的约束(语句结束完成后立刻检查)

                                          延迟执行的约束(整个事务结束后再进行检查)

                        违约反应:拒绝该操作、其他处理方法

        参照完整性

                关系模式的引用:不同的表通过冗余属性进行连接(有意义的重复属性)

                外码:关系R中的属性F对应着另一关系S主码K,那么F就是R的外码

                        S是被参照关系、R是参照关系

                规则(外码取值)

                        或者取空值,可以暂时为空

                        或者等于被参照表中某个元组的主码值

                        !!!外码不能凭空捏造一个主码中不存在的值

                违约反应:        级联删除(删掉含有外码值的元组)受限删除(有外码值时不允许删除)、置空值删除(NULL)

关系代数

        DBMS处理SQL查询时会将其转换为关系代数

        关系代数是一种抽象的数据查询语言

                用关系运算来表达查询

        传统的集合运算符

                并、交、差

                所有运算对象必须具有相同的结构

        专门关系运算符

                选择、投影、笛卡尔积、连接、重命名

                        投影:从R中选择出若干属性列组成新的关系

                                πL(R)        L为R中的属性列表,结果会去掉重复元组

                                例如:\pi _{sname,sage}(Student)--从学生表中取出名字和年龄

                        选择:从R中昂选择满足给定条件的各元组

                                \sigma _{c}R        不会去掉重复项

                                \sigma _{ssex='man'}(Student)--从学生列表中选择性别为男的学生(ssex还可替换为其列号--不推荐)

                                查询条件可以用逻辑运算符叠加\sigma _{length>=100 ^\wedge studioName= 'Fox'}(Moive)

                        笛卡尔积

                                R X S 将R中的每个元组t1和S中的每个元组t2配对连接

                                        R(m个属性、k1个元组)        S(n个属性,k2个元组)

                                        列数:n+m        前n列是关系R的一个元组

                                        行数:k1*k2        R和S中有重名属性时,以R.A   S.A表示

                         连接

                                R ∞ S

                                从两组关系的笛卡尔积中选择符合条件的元组

                                大于连接:

                                等值连接:从关系R和S的笛卡尔积中选取A、B属性相等的元组

                                自然连接:在公共属性上进行的等值连接。(必须具有公共属性、结果会把重复的属性去除)

                                例:

大于连接(C>D)                                  等值连接(C=D)

  

 等于连接(R.B=S.B)                             自然连接(有几个公共属性就要相等几个公共属性 )

   

 等值连接(R.B=S.B)                            自然连接

  

                重命名\rho _{S(A1,...,An)}(R)   将R中的原列名改为新列名(表)

        辅助运算符

                比较运算符:< <= > >= = <>

                逻辑运算符:非、与、或

        运算符优先级(无括号情况下)

        1.弹幕运算符得而优先级最高--select、project

        2.笛卡尔积和连接运算

        3.交

        4.并与和

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值