数据库系统——第三讲 关系模型之基本概念
数据库系统——第三讲 关系模型之基本概念
- 什么是关系模型
- 什么是关系
- 关系有什么特性
- 候选码与外码
- 关系模型的完整性
- 小结
什么是关系模型
重点与难点:一组概念的区分:围绕关系的相关概念,如域、笛卡尔积,关系,关系模式,关键字/键/码,外码/外键,主码/主键,主属性与非主属性。
关系模型最早由E.F.Codd在1970年提出,是从表(Table)及表的处理方式中抽象出来的, 是在对传统表及其操作进行数学化严格定义基础上,引入集合理论与逻辑学理论提出的,是数据库的三大经典数据模型之一, 也是现在大多数商品化数据库系统所仍然使用的数据模型,标准的数据库语言(SQL语言)是建立在关系模型基础之上的, 数据库领域的众多理论也都是建立在关系模型基础之上的。
关系模型的三个要素(详细内容在后面讲述)
- 基本结构:Relation/Table
- 基本操作:Relation Operator
并、差 、广义积、选择、投影、交、连接、除运算 - 完整性约束:实体完整性、参照完整性和用户自定义的完整性
什么是关系
- 域(Domain)
一组值的集合,这组值具有相同的数据类型
如整数的集合、字符串的集合、全体学生的集合
再如, 由8位数字组成的数字串的集合,由0到100组成的整数集合
集合中元素的个数称为域的基数(Cardinality)
- 笛卡尔积(Cartesian Product)
一组域D1 , D2 ,…, Dn的笛卡尔积为:
D1×D2×…×Dn = { (d1 , d2 , … , dn) | di∈Di , i=1,…,n }
笛卡尔积的每个元素(d1 , d2 , … , dn)称作一个n-元组(n-tuple)
- 关系(Relation)
一组域D1 , D2 ,…, Dn的笛卡尔积的子集
笛卡尔积中具有某一方面意义的那些元组被称作一个关系(Relation)
由于关系的不同列可能来自同一个域,为区分,需要为每一列起一个名字,该名字即为属性名。
- 关系模式与关系
同一关系模式下,可有很多的关系
关系模式是关系的结构, 关系是关系模式在某一时刻的数据
关系模式是稳定的;而关系是某一时刻的值,是随时间可能变化的
关系有什么特性
- 列是同质:即每一列中的分量来自同一域,是同一类型的数据
- 不同的列可来自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
- 列位置互换性:区分哪一列是靠列名
- 行位置互换性:区分哪一行是靠某一或某几列的值(关键字/键字/码字)
- 关系是以内容(名字或值)来区分的,而不是属性在关系的位置来区分
- 如下面两个关系是完全相同的关系
- 理论上,关系 的任意两个元组不能完全相同。(集合的要求:集合内不能有相同的两个元素);现实应用中,表(Table)可能并不完全遵守此特性。
- 元组相同 是指两个元组的每个分量都相同。
- 属性不可再分特性:又被称为 关系第一范式
候选码与外码
关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作 候选码 。
例如:“学生(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以内
小结
数据库系统——第三讲 关系模型之基本概念相关推荐
- 【数据库系统】第三讲 关系模型的基本概念
3.1 关系模型概述 1.关系模型的提出 2.关系模型的研究内容 一个关系就是一个Table 关系模型就是处理Table的,由三部分组成: 描述DB各种数据的基本结构形式(Table/Relation ...
- 数据库知识点2——关系模型之基本概念
关系模型之基本概念 1. 关系模型概述? 2. 什么是关系? 3. 关系模型中的完整性约束 1. 关系模型概述? 形象地说,一个关系(relation)就是一个Table 关系模型就是处理Tabl ...
- 数据库原理—关系模型的基本概念(七)
数据库原理-关系模型的基本概念(七)
- 数据库系统(上):模型与语言 第3讲-关系模型之基本概念
1某关系R的外键是指______ A.其它关系的候选键,可以是R中的主属性或非主属性 B.该关系除主键之外的另一个候选键 C.其它关系的候选键,同时作为R的主属性 D.其它关系的候选键,同时作为R的非 ...
- 哈工大数据库系统(上):关系模型之基本概念(三)课后测验与作业
文章目录 前引 第三章课后习题 前引 这段时间每天看三章吧 感觉现在又是进入全理论的感觉了 有点刚开始学计算机网络那味了 但是后面应该还是有很多编程作业吧 还要再介绍SQL语言 待会把习题做了 早点回 ...
- 数据库MySQL关系模型之基本概念
1.什么是关系模型 1.1关系模型研究什么 一个关系(relation)就是一个Table 关系模型就是处理Table的,它由三个部分组成: 描述DB各种数据的基本结构形式(Table/Relatio ...
- IBM DB2 学习笔记:关系模型、基本概念、数据库实例基本操作、数据库对象
文章目录 1. 关系数据模型 1.1 什么是数据? 1.2 为什么使用数据库? 1.3 数据库管理系统(DBMS) 1.4 数据模型 1.5 关系数据模型 1.6 关系数据库 1.6.1 表 1.6. ...
- 2.1 关系模型的基本概念
文章目录 2.1.1 基本术语 定义2.1 用二维表格表示实体集,用关键码表示实体间联系的数据模型称为关系模型(relational Model). 在关系模型中, 关键码(key,简称键)由一个或多 ...
- 关系模型基本概念笔记
第三讲关系模型之基本概念 关系模型简述 关系模型是从表(table)以及表的处理方式中抽象出来的 形象的说,一个关系(relatioin)就是一个Table 关系模型组成: 描述数据库的数据的基本 ...
最新文章
- 电视信号——行场同步
- C语言字符串大小写转换_只愿与一人十指紧扣_新浪博客
- python爬虫 爬取bilibili新番榜
- linux的spio在服务器间,scp 将数据从一台linux服务器复制到另一台linux服务器
- python的matplotlib库内的函数_如何在matplotlib中找到函数下面的区域?
- 在Spring 4.2中更简单地处理异步事务绑定事件
- db2 语句包括不必要的列表_列表推导和生成器表达式的滥用
- Spring中 BeanFactory 与 FactoryBean 的区别
- the railway problem(the example of stack)
- 构造函数与new关键字
- 织梦++高级搜索php,织梦高级搜索页面advancedsearch.php调用自定义字段
- 中英文对照 —— 软件与病毒、电子与硬件
- jmeter处理带表单的接口请求
- PR转场FilmImpact 蓝屏 error699966
- 通过算法为宝宝选保姆,数据辅助决策靠谱吗?
- 路由器修改html,徒手修改大麦路由器dw33d,变luci中文界面,并开启ssh
- 【社招】 中/高级C++ Developer - 美国顶尖交易公司Akuna Capital–上海
- 交换机中查找IP与mac对应关系命令
- GIAC 2017全球互联网架构大会将于12月在上海举行
- macOS 安装postman 中文语言包