精华内容
下载资源
问答
  • 关系模型的基本概念

    2020-05-24 14:25:28
    关系模型的基本概念关系模型简述关系模型研究的问题关系模型的三个要素一些数学描述的概念 关系模型简述 1.最早由E.F.Codd在1970年提出。 2.是从表(Table)及表的处理方式中抽象出来的,是在对传统表及其操作进行...

    关系模型简述

    1.最早由E.F.Codd在1970年提出。
    2.是从表(Table)及表的处理方式中抽象出来的,是在对传统表及其操作进行数学化严格定义的基础上,引入集合理论与逻辑学理论提出的。
    3.是数据库的三大经典模型(层次模型、网状模型和关系模型)之一,现在大多数数据库系统仍然使用关系数据模型。
    4.标准的数据库语言(SQL语言)是建立在关系模型基础之上的,数据库领域的众多理论也都是建立在关系模型基础之上的。

    关系模型研究的问题

    1.我们把关系(relation)都抽象成了一个一个Table。

    2.关系模型就是处理Table的,它由三个部分组成:
    ①描述DB各种数据的基本结构形式(Table/relation)
    ②描述Table与Table之间所可能发生的各种操作(关系运算)
    ③描述这些操作所应遵循的约束条件(完整性约束)

    关系模型的三个要素

    ①基本结构:Relation/Table
    ②基本操作:Relation Operator(例如:交∩、并∪、差-、投影π等等)
    ③完整性约束:实体完整性、参照完整性和用户自定义完整性。

    一些数学描述的概念

    域(Domain)
    首先定义列的取值范围“域(Domain)”

    1.一组值的集合,这组值具有相同的数据类型。如整数的集合、字符串的集合、全体学生的集合
    2.集合中元素的个数为域的基数(Cardinality)

    笛卡尔积(Cartesian Product)
    定义“元组”及所有可能组合成的元组:笛卡尔积

    1.一组域D1,D2,…,Dn的笛卡尔积为:
    D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1…n}

    2.笛卡尔积的每个元素(d1,d2,…,dn)称作一个n-元组

    元组(d1,d2,…,dn)的每一个值di叫做一个分量(component)
    元组(d1,d2,…,dn)是从每一个域任取一个值所形成的一种组合,笛卡尔积是所有这种可能组合的集合,即:笛卡尔积是由n个域形成的所有可能的n-元组的集合
    若Di的基数为mi,则笛卡尔积的基数,即元组个数为m1×m1×…×mn

    关系(Relation)
    1.一组域D1,D2,…,Dn的笛卡尔积的子集

    2.笛卡尔积中具有某一方面意义的那些元组被称作一个关系(Relation)
    由于关系的不同列可能来自同一个域,为区分,需要为每一列起一个名字,该名字即为属性名。

    3.关系可用R(A1😄1,A2😄2,…,An😄n)表示,可简记为R(A1,A2,…,An),这种描述被称为关系模式(Schema)或表标题(head)

    4.R是关系的名字,Ai是属性,Di是属性所对应的域,n是关系的度或目(degree),关系中元组的数目称为关系的基数(Cardinality)
    例如:家庭(丈夫:男人,妻子:女人,子女:儿童)或家庭(丈夫,妻子,子女)

    5.关系模式R中属性向域的映像在很多DBMS种一般直接说明为属性的类型、长度等。
    例如:Student(S# char(8),Sname char(10),Ssex char(2),Sage integer,D# char(2),Sclass char(6))

    关系模式与关系
    1.同一关系模式下,可有很多的关系
    2.关系模式是关系的结构,关系是关系模式在某一时刻的数据
    3.关系模式是稳定的:而关系是某一时刻的值,是随时间可能变化的

    关系的特性及相关概念
    1.列是同质的:即每一列中的分量来自同一个域,是同一类型的数据
    2.不同的列可来自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
    3.列位置互换性(无关性)
    4.行位置互换性(无关性)
    5.理论上,关系的任意两个元组不能完全相同。(集合的要求:集合内不能有相同的两个元素);现实应用中,表(Table)可能并不完全遵守此特性。
    (这也说明了关系和表并不是完全相同的)。
    6.元组相同是指两个元组的每个分量都相同。
    7.属性的不可再分特性:又被称为关系第一范式

    关系上的一些重要概念
    候选码(Candidate Key)/候选键
    关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码。
    候选码不一定只有一个,候选码也可能是多个属性的集合。
    例如学生表中学生的学号就是一个候选键。

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

    主属性与非主属性
    包含在任何一个候选码中的属性被称作主属性,而其他属性被称作非主属性
    最简单的,候选码只包含一个属性。
    最极端的,所有属性构成这个关系的候选码,称为全码(All-Key)。

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

    关系模型的完整性
    实体完整性
    关系的主码中的属性值不能为空值。

    空值:不知道、不存在或者无意义的值
    数据库中有了空值,会影响许多方面,如影响聚集函数运算的正确性,不能参加与算术、比较或逻辑运算等。
    有空值的时候是需要特殊处理的,要特别注意。

    参照完整性
    一个关系的外码一定要在该外码多对应的关系的属性范围内。
    一个关系的某一元组可以没有外码。

    用户自定义完整性
    用户针对具体的应用环境定义的完整性约束条件。
    当有更新操作发生时,DBMS将自动安照完整性约束条件检验更新操作的正确性。

    展开全文
  • D1 × D2 × ··· × Dn 子集叫做在域D1,D2,···,Dn 上的关系,表示为 R(D1,D2,···,Dn ),其中R就是关系名,n就是目或度。 一个关系对应一张二维表,二维表就是关系名。 例如,下图中整个二维表...

    关系(Relation)

    D1 × D2 × ··· × Dn 的子集叫做在域D1,D2,···,Dn 上的关系,表示为 R(D1,D2,···,Dn ),其中R就是关系名,n就是目或度。
    一个关系对应一张二维表,二维表就是关系名。

    例如,下图中的整个二维表的值就是一个关系

    目 或 度(degree)

    二维表关系R(D1,D2,···,Dn )中的 n 就是关系的目或度。

    关系模式(Relation Schema)

    在二维表中的行定义,即对关系的描述称为关系模式。

    一般表示为(属性1,属性2,…,属性n)
    例如:老师的关系模型可以表示为教师(教师号,姓名,性别,年龄,职称,所在系)。

    (值)域(domain)

    域是一组具有相同数据类型的值的集合。
    二维表中每列对应一个域。

    表述的是属性值的取值范围为值域。同一种类型的数据集合,都是某一个事物的值的集合。
    例如:自然数、整数、{男,女}、不大于10的正整数等。
    例如:上述关系中的D1 = 学号集合 = {S3001,S3002,S4001}; D2 = 姓名集合 = {张明,李静,赵丽} 等就是域。

    元组(tuple)

    笛卡尔积中每一个元素(d1,d2,···,dn),叫作一个n元组(n-tuple)或简称元组。
    二维表中每行对应一个元组。
    关系是一张表, 表中的每行(即数据库中的每条记录)就是一个元组;

    在二维表里,元组也称为行。
    例如:关系中的某一行

    属性(attribute)

    在二维表中为了区分不同的域而对每列取一个名字,称为属性。
    属性的个数称为关系目或度,即 n目关系必有n个属性。
    列的值称为属性值;

    例如:二维表中的学号、姓名、性别等都是属性。

    分量(component)

    元素中每一个值 di 都叫做一个分量
    为每一行对应的列的属性值,即元组中的一个属性值。

    例如:关系中某一行中的S3001、张明、男、外语等等。

    候选码 (候选建)(candidate key)

    若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码。

    例如:在选课表中,只有属性组“学号”和“课程号”才能唯一地标识一个元组,则候选键为(学号,课程号)。

    主码(primary key)

    在一个关系的若干候选码中指定一个用来唯一标识该关系的元组,则称这个被指定的候选码称为主关键字,或简称为主键、关键字、主码。
    主码不一定只有一个,但是一定要有。

    在有多个候选码的情况下,主码是由人为选择的。
    主属性 & 非主属性(prime attribute & non-prime attribute)
    关系中包含在任何一个候选码中的属性称为主属性,不包含在任何一个候选码中的属性为非主属性或非码属性(non-key attribute)。

    例如关系中的学号、课程号就是主属性;而性别、年龄就是非主属性或非码属性。

    全码(all-key)

    在最极端条件下,关系模式中的所有属性都是这个关系模式的候选码,称为全码。

    外码(foreign key)

    一个关系R中的一个属性是另外一个关系F中的主码,则关系R中的这个属性称为外码。

    有两个实体:其中加粗的属性是主码。
    学生(学号,姓名,性别,专业号);专业(专业号,专业名)
    则对专业表来说:专业号是专业表的主码;
    对学生表来说:专业号是学生表的外码;学号是学生表的主码;

    笛卡尔积(cartesian product)

    笛卡尔积是域上的一种集合运算。

    给定一组域D1,D2,···,Dn,允许其中的某些域是相同的,D1,D2,···,Dn的笛卡尔积为:D1 × D2 × ··· × Dn = {(d1,d2,···,dn)| di ∈ Di,i = 1,2,···,n}

    展开全文
  • 关系模型的基本概念 (1) 一个关系对应一张二维表 (2) 域:取值范围的集合 (3) 元组:每一行的记录 (2) 规范化的关系 1° 每一列的值是同类型的数据,来自同一个域 2° 不同的列可以有相同的域,每一列称为属性,用...
        
    • 关系模型的基本概念

      (1) 一个关系对应一张二维表

      (2) 域:取值范围的集合

      (3) 元组:每一行的记录

      (2) 规范化的关系

      1° 每一列的值是同类型的数据,来自同一个域

      2° 不同的列可以有相同的域,每一列称为属性,用属性名标识

      3° 列的次序无关紧要

      4° 元组的顺序无关紧要

      5° 关系中不能出现重复元组

      元组的每个分量都是原子的,不可拆分

    实际DBMS不一定完全符合规范化关系的几项规定
    
    (3) 关系包括:__关系模式 + 关系的值__
    
    关系模式:描述了关系结构,包括关系名、属性名、属性类型、域…
    
    关系的值:元组的集合
    
    • (1) 定义:

      1° 能够唯一标识元组的一个或几个属性

      2° 属性数量应最小

      (2) 候选键

      有的关系中,能够标识元组的属性(组)不止一个。此时它们都称为候选键

      如果有多个候选键,选其中一个作为主键,其余的键称为候补键

      (3) 一个关系至少有一个键

      (4) 联合腱

      键由多个属性组成,称为联合键

      (5) 全键

      关系中的所有属性放在一起才能标识一个元组,这种极端情况称为全键

      (6) 外键

      某个属性t, 在A关系中它可以是一个一般属性,也可以是键的一部分;但是在B关系中,它是键的一部分,此时这个属性t称为A关系的外键

    • 完整性约束

      包括三种:实体完整性约束、参照完整性约束、其他约束

      (1) 实体完整性约束

      主键中包括的各个属性,不能取空值

      (2) 参照完整性约束

      如果关系A中,有一个属性t是外键,它联系着关系B。此时t的取值 1° 要么为空值,2° 要么取值范围必须在B中选择

      示例:

      职工关系emp,部门关系dept,部门关系的一个属性 部门号dept_id是emp关系的外键,则在向职工关系表插入数据时,职工关系表中的dept_id取值要么为空,要么是dept关系表中存在的值

    如果外键属性还是组成主键的部分属性,根据__实体完整性约束__,它不能为空,因此只能是2°的取值
    
    (3) 其他约束
    
    用户根据实际情况自定义的约束
    展开全文
  • 关系模型的完整性约束 重点与难点 一组概念的区分: 围绕关系的相关概念:域、笛卡儿积、关系、关系模式、关键字/键/码、外码/外键、主码/主键、主属性/非主属性。 三个完整性:实体完整性、参照完整性、用户...
    1. 关系模型概述
    2. 什么是关系
    3. 关系模型的完整性约束

    重点与难点

    一组概念的区分:

    围绕关系的相关概念:域、笛卡儿积、关系、关系模式、关键字/键/码、外码/外键、主码/主键、主属性/非主属性。

    三个完整性:实体完整性、参照完整性、用户定义完整性

    概述

    形象的说:一个关系(relation)就是一个table。

    关系模型就是处理table的,他由三部分组成:包括描述数据库各种关系的基本结构形式(table)关系运算(table和table之间可能发生的各种运算)、完整性约束(这些操作应该遵循的约束条件)

    关系运算:关系代数和关系演算 。

    关系演算:元组演算和域演算。

    关系代数的示例:基于集合的运算(数学语言)

    也就是说操作的对象和结果都是集合,是一次一集合的操作(Set-at-a time)。

    而非关系型数据的操作通常是一次次记录(Record-at-a time)。

    以下是基于关系代数设计的数据库语言:ISBL(计算机语言)

    ISBL是用计算机可以识别的符号表征关系代数的运算符号。

    元组演算基于逻辑的演算(数学语言)。

    基于元组演算设计了数据库语言:Ingress系统的QUEL(计算机语言)

    域演算和元组演算类似但是域演算是基于示例的运算(以示例为单位)。

    基于域演算设计的数据库语言示例:QBE: Query By Example(计算机语言)

    综述:关系运算

    什么是关系?

    表的基本构成要素

    其中列的取值范围叫:

    域(Domain)

    • 一组值的集合这组值具有相同的数据类型。
    • 集合中元素的个数称为域的基数。

    元组

    笛卡儿积的每个元素(d1,d2,d3,,,,,,dn)成为一个n元组。

     

    • 元组(d1,d2,d3,,,,,,dn)中每一个值di称作一个分量
    • 笛卡儿积是n个域形成的所有所有可能的n元组的集合。
    • 如果域Di的基数是mi 那么笛卡儿积的基数=元组的个数是m1*m2*m3****mn

    由于笛卡儿积中并不是所有的元组都是有意义的,由此我们从中抽取一些有意义的作为关系。

    关系(Relation)

    由于关系的不同列可能来自同一个域,那么作为区分需要为每一列起一个名字叫:属性名

    属性名和域名是不一样的,域名是域的名字,但是属性名是关系里面的。

    关系可以如下描述:

    其中A是关系的属性名,而D是属性来源的域名。这种用属性名来表示关系的描述方式称为关系模式或者表标题

    例如下图的关系为一三目关系,描述为 家庭(丈夫:男人,妻子:女人,子女:儿童) 或者 家庭(丈夫,妻子,女人) 

    关系模式R(A1:D1 , A2:D2 , … , An:Dn )中属性指向域的映像在很多DBMS中通常直接说明属性的类型长度。例如:


     

    关系模式与关系:

    • 同一关系模式可以有很多关系。
    • 关系模式是关系的结构,关系是关系模式在某一时刻的数据。
    • 关系模式是稳定的,而关系是某一时刻的值,是随时间可能变化的。

    思维回顾

    关系有哪些特性

    • 列是同质:即每一列中的分量来自同一域,是同一类型的数据
    • 不同的列可来自同一个域,称其中的每一列为一个属性,不同的属性要给予 不同的属性名。

    例如:

    列位置互换性:区分哪一列是靠列名

    行位置互换性:区分哪一行是靠某一或某几列的值(关键字/键字/码字)

    关系是以内容(名字或值)来区分的,而不是属性在关系的位置来区分,如下面两个关系是完全相同的关系


    理论上关系是由集合来定义的,这就要求关系的任意两个元组不能完全相同。(满足集合的特性:集合内不能有两个完全相同的元素),现实应用中可能并不完全遵守此特性。【元组相同是指两个元组的每个分量都相同

    属性不可再分特性:又被称为关系第一范式

    关系上一些重要概念 候选键/候选码

    依靠候选码我们可以把关系里面每一个元组都区分开,候选码可以唯一标识一个元组。

    以上选课关系模型里面学生编号和课程代码就是一个候选码,但有时候候选码不止一个,可能有很多组

    主键/主码

    当有多个 候选码/候选键 的时候,可以选用一个作为 主码/主键。

    DBMS以主键作为主要线索管理关系中的各个元组。

    主属性和非主属性

    包含在任何一个候选码中的属性我们称之为主属性,而其他的就是非主属性。

    最简单的候选码只有一个主属性。

    最极端的所有属性构成这个关系的候选码称之为全码(AII-Key)。

    外码(Foreign Key)/外键

    关系R中的一个属性组不是R的候选码,但是他和另一个关系S的候选码相对应那么就称这个属性是关系R外键/外码。

    两个关系通常是用 外键/外码 连接起来的。

    小结

    关系模型的完整性

    实体完整性:(针对主码而言)

    关系的主码中的属性值不能为空值

    空值是不能参与算术比较,或者逻辑运算的。

    参照完整性:(针对外码而言)

    如果关系R1的外码Fk与关系R2的主 码Pk相对应,则R1中的每一个元组的 Fk值或者等于R2 中某个元组的Pk 值, 或者为空值

                      

    参照完整性为了保证两个关系之间联系的正确性。

    用户自定义完整性:(用户自定义的限制条件要满足)

    用户针对具体的应用环境定义的完整性约束条件。

    由于我们用的字符类型定义的范围还是太大,有时候我们需要进一步用户自定义属性条件。

    DBMS系统提供了一套定义机制,让用户对某些属性定义相关的完整性约束。

    当有更新操作发生的时候DBMS将自动按照完整性约束条件来检验更新操作的正确性,即是否符合用户自定义的完整性。

    展开全文
  • (1)关系模型的三个基本概念 关系模型的三个要素: 1)基本结构: 关系/table2 2)基本操作: 关系操作 3)完整性约束: 实体完整性(关系中的主码中的属性值不能为空(对主码而言)) 参照完整性(如果关系...
  • 关系数据库是基于关系模型,是一个会多个关系组成集合,通俗来说,就是一个个由行、列组成表,记住关系(relation)就是表,是一种数学概念,理解为(表,元组,行)=(机器世界)。 注意区分是在概念层中...
  • 1、关系模型的提出 2、关系模型的研究内容 一个关系就是一个Table 关系模型就是处理Table的,由三部分组成: 描述DB各种数据的基本结构形式(Table/Relation) 描述Table与Table之间所可能发生的各种操作(关系运算) ...
  • 关系模型的基本术语 定义:用二维表格来表示实体集,用关键码表示实体之间联系的数据模型称为关系模型 有时也习惯称呼关系为表或表格,元组为行(Row),属性为列。关系中属性个数称为“元数”,元组个数称为...
  • 关系模型由关系模型的数据结构、关系模型的操作集合和关系模型的完整性约束三部分组成,这三部分也称为关系模型的三要素。 数据结构 关系数据模型源于数学,它用二维表来组织数据,而这个二维表在关系数据库中称为...
  • 关系模型基本概念

    2020-03-21 15:19:24
    (1)关系模型的提出 是从表及表的处理方式中抽象出来的,是在对传统表及其操作进行数学化严格定义基础上,引入集合理论与逻辑学理论提出来的 是数据库的三大经典数据模型之一 SQL是建立在关系模型基础之上的 (2)...
  • 数据库MySQL关系模型基本概念

    万次阅读 2019-01-31 16:11:44
    1.什么是关系模型 1.1关系模型研究什么 一个关系(relation)就是一个Table 关系模型就是处理Table的,它由三个部分组成: 描述DB各种数据的基本...1.2 关系模型的三个要素 基本结构: Relation/Table 基本操作...
  • 关系模型基本概念

    2020-08-31 14:56:21
    上一篇文章我们对关系模型做了简单的理解,说关系模型其实就是定义表格的模板,当然这个并不完整,这里给出一个更加准确的概念关系模型由下面三部分组成: 1.描述了表格的基本结构,也就是我们说的模板 2.描述了...
  • 关系模型的基本概念 关系模型简述 1.最早由E.F.Codd在1970年提出。 2.是从表(Table)及表的处理方式中抽象出来的,是在对传统表及其操作进行数学化严格定义的基础上,引入集合理论与逻辑学理论提出的。 3.是数据库...
  • 关系模型简述 最早由E.F.Codd在1970年提出 是从表(Table)及表处理方式中抽象出来...标准数据库语言(SQL语言)是建立在关系模型基础之上, 数据库领域众多理论也都是建立在关系模型基础之上关系模型研究...
  • 第三讲关系模型基本概念关系模型简述 关系模型是从表(table)以及表的处理方式中抽象出来的 形象的说,一个关系(relatioin)就是一个Table 关系模型组成: 描述数据库的数据的基本结构 描述表之间的各种...
  • 关系模型基本概念

    千次阅读 2018-09-03 13:11:37
    - 描述DB各种数据的基本结构形式(Table/Relation) - 描述Table与Table之间所可能发生的各种操作(关系运算) - 描述这些操作所应遵循的约束条件(完整性约束) 所以要研究,Table如何描述,有哪些操作、 结果是什么.....
  • 关系模型基本概念 1. 关系模型概述? 2. 什么是关系? 3. 关系模型完整性约束  1. 关系模型概述? 形象地说,一个关系(relation)就是一个Table  关系模型就是处理Table,它由三个部分组成:  ...
  • 0.什么是关系模型? 1.关系模型以表为基本结构 2.包括了基本的操作:并,差,广义积,选择,投影 以及拓展的操作:交,连接,除 3.还有完整性约束:实体完整性,参照...3.关系模型的完整性有哪些? 实体完整性(主键

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,783
精华内容 1,513
关键字:

关系模型的基本概念