数据库系统——第三讲 关系模型之基本概念

  • 什么是关系模型
  • 什么是关系
  • 关系有什么特性
  • 候选码与外码
  • 关系模型的完整性
  • 小结

什么是关系模型

重点与难点:一组概念的区分:围绕关系的相关概念,如域、笛卡尔积,关系,关系模式,关键字/键/码,外码/外键,主码/主键,主属性与非主属性。
关系模型最早由E.F.Codd在1970年提出,是从表(Table)及表的处理方式中抽象出来的, 是在对传统表及其操作进行数学化严格定义基础上,引入集合理论与逻辑学理论提出的,是数据库的三大经典数据模型之一, 也是现在大多数商品化数据库系统所仍然使用的数据模型,标准的数据库语言(SQL语言)是建立在关系模型基础之上的, 数据库领域的众多理论也都是建立在关系模型基础之上的。

关系模型的三个要素(详细内容在后面讲述)

  • 基本结构:Relation/Table
  • 基本操作:Relation Operator
    并、差 、广义积、选择、投影、交、连接、除运算
  • 完整性约束:实体完整性、参照完整性和用户自定义的完整性

什么是关系

  1. 域(Domain)
    一组值的集合,这组值具有相同的数据类型
    如整数的集合、字符串的集合、全体学生的集合
    再如, 由8位数字组成的数字串的集合,由0到100组成的整数集合
    集合中元素的个数称为域的基数(Cardinality)
  2. 笛卡尔积(Cartesian Product)
    一组域D1 , D2 ,…, Dn的笛卡尔积为:
    D1×D2×…×Dn = { (d1 , d2 , … , dn) | di∈Di , i=1,…,n }
    笛卡尔积的每个元素(d1 , d2 , … , dn)称作一个n-元组(n-tuple)
  3. 关系(Relation)
    一组域D1 , D2 ,…, Dn的笛卡尔积的子集
    笛卡尔积中具有某一方面意义的那些元组被称作一个关系(Relation)
    由于关系的不同列可能来自同一个域,为区分,需要为每一列起一个名字,该名字即为属性名。
  4. 关系模式与关系
     同一关系模式下,可有很多的关系
     关系模式是关系的结构, 关系是关系模式在某一时刻的数据
     关系模式是稳定的;而关系是某一时刻的值,是随时间可能变化的

关系有什么特性

  1. 列是同质:即每一列中的分量来自同一域,是同一类型的数据
  2. 不同的列可来自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
  3. 列位置互换性:区分哪一列是靠列名
  4. 行位置互换性:区分哪一行是靠某一或某几列的值(关键字/键字/码字)
  5. 关系是以内容(名字或值)来区分的,而不是属性在关系的位置来区分
  6. 如下面两个关系是完全相同的关系
  7. 理论上,关系 的任意两个元组不能完全相同。(集合的要求:集合内不能有相同的两个元素);现实应用中,表(Table)可能并不完全遵守此特性。
  8. 元组相同 是指两个元组的每个分量都相同。
  9. 属性不可再分特性:又被称为 关系第一范式

候选码与外码

关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作 候选码
例如:“学生(S#, Sname, Sage, Sclass)”,S#就是一个候选码,在此关系中,任何两个元组的S#是一定不同的,而这两个元组的Sname, Sage, Sclass都可能相同(同名、同龄、同班),所以S#是候选码。
再如:“选课(S#, C#, Sname, Cname, Grade)”,(S#,C#)联合起来是一个候选码。

  • 主码(Primary Key)/主键:
    当有多个候选码时,可以选定一个作为主码。
    DBMS以主码为主要线索管理关系中的各个元组。

  • 主属性与非主属性:
    包含在任何一个候选码中的属性被称作主属性,而其他属性被称作非主属性。

  • 外码(Foreign Key)/外键
    关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键。


关系模型的完整性

重点与难点:实体完整性,参照完整性和用户自定义的完整性
一、实体完整性
1、关系的主码中的属性值不能为空值;
2、 空值:不知道或无意义的值;
3、意义:关系中的元组对应到现实世界相互之间可区分的一个个个体,这些个体是通过主码来唯一标识的;若主码为空,则出现不可标识的个体,这是不容许的。

二、参照完整性
1、如果关系R1的外码Fk与关系R2的主码Pk相对应,则R1中的每一个元组的Fk值或者等于R2 中某个元组的Pk 值,或者为空值。
2、意义:如果关系R1的某个元组t1参照了关系R2的某个元组t2,则t2必须存在。
3、例如关系Student在D#上的取值有两种可能:
(1)空值,表示该学生尚未分到任何系中。
(2)若非空值,则必须是Dept关系中某个元组的D#值,表示该学生不可能分到一个不存在的系中。

三、用户自定义完整性
1、用户针对具体的应用环境定义的完整性约束条件
2、如S#要求是10位整数,其中前四位为年度,当前年度与他们的差必须在4以内


小结

数据库系统——第三讲 关系模型之基本概念相关推荐

  1. 【数据库系统】第三讲 关系模型的基本概念

    3.1 关系模型概述 1.关系模型的提出 2.关系模型的研究内容 一个关系就是一个Table 关系模型就是处理Table的,由三部分组成: 描述DB各种数据的基本结构形式(Table/Relation ...

  2. 数据库知识点2——关系模型之基本概念

    关系模型之基本概念 1. 关系模型概述? 2. 什么是关系? 3. 关系模型中的完整性约束 1. 关系模型概述? 形象地说,一个关系(relation)就是一个Table  关系模型就是处理Tabl ...

  3. 数据库原理—关系模型的基本概念(七)

    数据库原理-关系模型的基本概念(七)

  4. 数据库系统(上):模型与语言 第3讲-关系模型之基本概念

    1某关系R的外键是指______ A.其它关系的候选键,可以是R中的主属性或非主属性 B.该关系除主键之外的另一个候选键 C.其它关系的候选键,同时作为R的主属性 D.其它关系的候选键,同时作为R的非 ...

  5. 哈工大数据库系统(上):关系模型之基本概念(三)课后测验与作业

    文章目录 前引 第三章课后习题 前引 这段时间每天看三章吧 感觉现在又是进入全理论的感觉了 有点刚开始学计算机网络那味了 但是后面应该还是有很多编程作业吧 还要再介绍SQL语言 待会把习题做了 早点回 ...

  6. 数据库MySQL关系模型之基本概念

    1.什么是关系模型 1.1关系模型研究什么 一个关系(relation)就是一个Table 关系模型就是处理Table的,它由三个部分组成: 描述DB各种数据的基本结构形式(Table/Relatio ...

  7. IBM DB2 学习笔记:关系模型、基本概念、数据库实例基本操作、数据库对象

    文章目录 1. 关系数据模型 1.1 什么是数据? 1.2 为什么使用数据库? 1.3 数据库管理系统(DBMS) 1.4 数据模型 1.5 关系数据模型 1.6 关系数据库 1.6.1 表 1.6. ...

  8. 2.1 关系模型的基本概念

    文章目录 2.1.1 基本术语 定义2.1 用二维表格表示实体集,用关键码表示实体间联系的数据模型称为关系模型(relational Model). 在关系模型中, 关键码(key,简称键)由一个或多 ...

  9. 关系模型基本概念笔记

    第三讲关系模型之基本概念 ​ 关系模型简述 关系模型是从表(table)以及表的处理方式中抽象出来的 形象的说,一个关系(relatioin)就是一个Table 关系模型组成: 描述数据库的数据的基本 ...

最新文章

  1. 电视信号——行场同步
  2. C语言字符串大小写转换_只愿与一人十指紧扣_新浪博客
  3. python爬虫 爬取bilibili新番榜
  4. linux的spio在服务器间,scp 将数据从一台linux服务器复制到另一台linux服务器
  5. python的matplotlib库内的函数_如何在matplotlib中找到函数下面的区域?
  6. 在Spring 4.2中更简单地处理异步事务绑定事件
  7. db2 语句包括不必要的列表_列表推导和生成器表达式的滥用
  8. Spring中 BeanFactory 与 FactoryBean 的区别
  9. the railway problem(the example of stack)
  10. 构造函数与new关键字
  11. 织梦++高级搜索php,织梦高级搜索页面advancedsearch.php调用自定义字段
  12. 中英文对照 —— 软件与病毒、电子与硬件
  13. jmeter处理带表单的接口请求
  14. PR转场FilmImpact 蓝屏 error699966
  15. 通过算法为宝宝选保姆,数据辅助决策靠谱吗?
  16. 路由器修改html,徒手修改大麦路由器dw33d,变luci中文界面,并开启ssh
  17. 【社招】 中/高级C++ Developer - 美国顶尖交易公司Akuna Capital–上海
  18. 交换机中查找IP与mac对应关系命令
  19. GIAC 2017全球互联网架构大会将于12月在上海举行
  20. macOS 安装postman 中文语言包

热门文章

  1. 用户注册场景-手机短信验证解决
  2. worker_connections exceed open file resource limit: 1024
  3. ListView加载网络图片--------闪图问题解决
  4. GeoServer默认密码
  5. 人工智能点燃哈尔滨高发展新引擎
  6. 智慧危管系统二维码 怎样管好全南京学校实验室?
  7. 转:Vim实战指南(二):光标移动技巧
  8. 关于《人生护城河》的些许思考
  9. Cisco Packet Tracer 自动获取IP地址
  10. 精准找到B站大家爱看的王冰冰——用Python