当前位置: 首页 > news >正文

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

关系模型由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所示。

1668590960023_学生表2.png

表1 学生与班级表

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

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

1668591956750_课程表.png

表2 学生表与课程表

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

http://www.lryc.cn/news/92003.html

相关文章:

  • shell编程-02-变量作用域
  • C++服务器框架开发6——日志系统LogFormatter/size_t学习
  • MYSQL实战45讲笔记--深入浅出索引
  • SpringCloudAlibaba:分布式事务之Seata学习
  • 【MySQL数据库 | 第四篇】SQL通用语法及分类
  • Liskov替换原则:用了继承,子类就设计对了吗?
  • 腾讯云服务器SA3实例AMD处理器CPU网络带宽性能详解
  • 接口测试常用测试点
  • Unity之OpenXR+XR Interaction Toolkit接入HTC Vive解决手柄无法使用的问题
  • AC变DC220V变5V小家电电源芯片-AH8652、AH8669
  • 深度学习笔记之循环神经网络(九)GRU的反向传播过程
  • ISFP型人格的性格缺陷和心理问题分析
  • HTML <dir> 标签
  • leetcode 621. 任务调度器
  • 线程任务的取消
  • 在线聊天项目
  • 动态规划-硬币排成线
  • 有效的括号——力扣20
  • 【轻量级网络】华为诺亚:VanillaNet
  • 读写ini配置文件(C++)
  • Python对接亚马逊电商平台SP-API的一些概念理解准备
  • [Halcon3D] 主流的3D光学视觉方案及原理
  • Go Web下gin框架使用(二)
  • 算法笔记-线段树合并
  • Fiddler抓取IOS数据包实践教程
  • Ansible基础4——变量、机密、事实
  • React实现Vue的watch监听属性
  • axios、跨域与JSONP、防抖和节流
  • macOS Ventura 13.5beta2 (22G5038d)发布
  • jwt----介绍,原理