• 什么是关系模型? 关系模型的基本概念


    关系模型由IBM公司研究员Edgar Frank Codd于1970年发表的论文中提出,经过多年的发展,已经成为目前最常用、最重要的模型之一。

    在关系模型中有一些基本的概念,具体如下。

    (1)关系(Relation)。关系一词与数学领域有关,它是集合基础上的一个重要的概念,用于反映元素之间的联系和性质。从用户角度来看,关系模型的数据结构是二维表,即通过二维表来组织数据。一个关系对应一张二维表,表中的数据包括实体本身的数据和实体间的联系。

    下面通过图1演示一个简单的学生信息二维表。

    (2)属性(Attribute)。二维表中的列称为属性,每个属性都有一个属性名。

    (3)元组(Tuple)。二维表中的每一行数据称为一个元组。

    小提示:根据不同的习惯,属性也可以称为宇段(Field),元组也可以称为记录(Record)。

    (4)域(Domain)。域是指属性的取值范围,例如,性别属性的域为男、女。

    (5)关系模式(Relation Schema)。关系模式是关系的描述,通常可以简记为“关系名(属性1,属性2,…,属n)”。例如,图1-9中的二维表的关系模式如下。

    学生(学号,姓名,性别,出生年月)

    (6)键(Key)。在二维表中,若要唯一标识某一条记录,需要用到键(又称为关键字、码)。例如,学生的学号具有唯一性,学号可以作为学生实体的键。而学生姓名可能存在重名,不适合作为键。通过键可以为两张表建立联系,如图1所示。

    表1 学生与班级表

    在图1中,班级表中的“班级号”是该表的键,学生表中的“班级号”表示学生所属的班级,两者建立了一对多的联系,即一个班级中有多个学生。其中,班级表的“班级号”称为主键(Primary Key),学生表的“班级号”称为外键(Foreign Key)。

    学生与课程的多对多联系,可以通过中间表来实现,如图2所示。

    表2 学生表与课程表

    在图2中,学生表与课程表之间通过学生选课表关联。学生选课表将学生与课程的多对多关系拆解成两个一对多关系,即一个学生选修多门课,一门课被多个学生选修。

  • 相关阅读:
    PR(Adobe Premiere Pro)软件基础知识
    C++11 新特性 持续记录
    为什么选择Spring Cloud
    DC电源模块的数字电源优势
    有懂miracl库的人吗?看看过程呗
    [Python] 捕获异常
    AOP(面向切面编程)
    回归算法|长短期记忆网络LSTM及其优化实现
    数据结构(7-2广度~~7-15)所有代码
    Android Studio Dolphin | 2021.3.1 发布,快来看看有什么更新吧~
  • 原文地址:https://blog.csdn.net/Backli/article/details/133271743