当前课程知识点:数据库系统原理与开发 > 第2章 数据库关系模型 > 2.1 关系及其相关概念 > 2.1.1关系及其相关概念-1
下面进入本章学习
同学们,大家好!
我是主讲教师教师陆鑫
下面我们开始学习数据库课程
第2.1小节 关系及其相关概念的关系、实体定义
本节学习目标如下:
1)了解关系模型基础
2)理解实体关系概念
3)理解关系特征
4)理解关系的数学定义
好了,下面我们首先了解关系模型提出
为了解决层次模型数据库和网状模型的局限
一些学者开始研究新的数据模型方法实现数据库
其中最具代表性的成果如下
1970年IBM公司研究员E.F.Codd博士
在ACM刊物上发表了一篇关于数据库模型的学术论文
首次提出了关系模型概念及其原理方法
后来Codd又发表多篇文章
论述了范式理论和衡量关系数据模型的12条标准
进一步奠定了关系数据库的数学理论基础
关系模型以关系代数理论为数学基础
将数据操作抽象为关系处理
其关系表结构简单便于理解
关系模型在当今几乎所有的商业数据库中得到广泛应用
下面我们来学习关系模型的基本概念
实体关系的概念
为了说明关系模型的基本概念
首先得定义实体的概念
实体是指包含数据特征的事物对象
在概念模型世界中的抽象名称
在对信息系统进行建模分析设计中
通常使用实体以及实体联系
描述系统中各数据对象组成及数据关系
例如,在企业信息系统中,人员信息可以使用雇员实体名称表示
并用实体模型符号可视化表示如下
在模型实体符号中
我们标记的实体名称以及实体的属性
在信息系统概念数据模型中
通过定义很多这样的实体
以及这些实体的联系
可以抽象的表示
信息系统事物对象及其数据关系
仅仅建立信息系统的概念模型是不够的
还需要考虑使用何种逻辑模型来组织存储管理数据
关系模型是一种存储数据的典型方案
关系模型的核心要素就是关系
在关系模型中,使用关系来组织存储实体中的数据
关系的定义如下
关系是指具有关系特征
用于存放实体数据的二维表
关系也常被称为关系表
例如,在使用Employee关系表存储雇员实体数据如下
定义了实体的属性,如编号、姓名
所在部门、邮箱、电话
每一行存储了一个雇员的基本信息
因此,在关系模型中
可以使用若干关系表组织存储数据
在关系模型中
关系不是一般的二维表
它必须具备以下特征
在关系表中,行又称为元组
列又称为属性
它们必须具有以下关系特征
表中的每一行存储实体的一个实例数据
表中每一列包含实体的一项属性数据
表中单元格只能存储单个值
不允许有重复行
不允许有重复列
列顺序可任意
行顺序可以任意
下面我们通过思考如下问题
进一步理解关系概念
在该二维表的第四行
我们可以看到存储了多个值
这不符合关系的特征
因此,该二维表不是关系表
下面我们继续判断另一个二维表
在该二维表的email列存储了不同于邮箱列的不同属性
如传真、地址这些都不符合关系的特征
因此,该二维表不是关系表
下面我们继续判断关系表
在这三个二维表里
我们通过相关联的数据列相联系
如教师表的工号与开课表的工号进行联系
课程信息表的课程号与开课目录表的课程号进行联系
这三个表的数据存储均符合关系数据特征
因此,它们都是关系表
下面从数学角度再次定义关系
关系的数据定义
关系r是指集合d1到dn上运行笛卡儿积的意义子集
其数学描述为关系r作为子集包含于d1到dn的笛卡儿集
其中每一个向量d1到dn为一个n元祖
简称元组
向量中的每一个di称为分量
若集合域Di(i=1,2,,…,n)为有限集
每个域的基数为mi(i=1,2, …,n)
则笛卡儿积D1×D2×…×Dn的基数M为所有基数的乘积
说明:关系R只是该笛卡儿积的有意义子集
即关系R的元组数<=笛卡儿积的元组数
下面通过实例来理解关系的数学定义
即关系R的元组数<=笛卡儿积的元组数
下面通过实例来理解关系的数学定义
例如,一个“学生”实体有(学号,姓名,性别)三个属性
我们可以使用D1、D2、D3域来定义它们
并假定它们的值域范围如下:
D1为三个学号的元素组成
D2为三个姓名的组成
D3为男女元素组成
在本例中,D1,D2,D3的笛卡儿积为:
这三个域的组合,共计有18个元组
在上面描述学生实体的笛卡尔元组集合中
只有如下元组构成的子集
才能成为“学生”关系的数据
从这个表中,我们可以看到有意义的元组只有3个行的数据
本节学习结束!
-1.1 数据库及其系统概念
-1.2 数据库技术发展
-1.3 数据库应用系统
-1.4 典型数据库管理系统
-1.5 PostgreSQL对象-关系数据库系统软件
-第1章 数据库系统概论--本章单元测试
-2.1 关系及其相关概念
-2.2 关系模型原理
-2.3 PostgreSQL数据库关系操作实践
-第2章 数据库关系模型--本章单元测试
-3.1 SQL语言概述
-3.2 数据定义SQL语句
-3.3 数据操纵SQL语句
-3.4 数据查询SQL语句
-3.5 数据控制SQL语句
-3.6 视图SQL语句
-3.7 PostgreSQL数据库SQL实践
-第3章 数据库操作SQL语言--本章单元测试
-4.1 数据库设计概述
-4.2 E-R模型方法
-4.3 数据库建模设计
-4.4 数据库规范化设计
-4.5 数据库设计模型SQL实现
-4.6 基于Power Designer的数据库设计建模实践
--4.6 基于Power Designer的数据库设计建模实践
-第4章 数据库设计与实现--本章单元测试
-5.1 数据库管理概述
-5.2 事务管理
--5.2 事务管理
-5.3 并发控制
-5.4 安全管理
-5.5 数据库备份与恢复
-5.6 PostgreSQL数据库管理项目实践
-第5章 数据库管理--本章单元测试
-6.1 数据库连接技术
-6.2 数据库存储过程
-6.3 数据库触发器
-6.4 数据库游标
-6.5 嵌入式SQL编程
-第6章 数据库应用编程--本章单元测试
-7.1 NoSQL数据库概述
-7.2 列存储数据库
-7.3 键值对数据库
-7.4 文档型数据库
-7.5 图形数据库
-7.6 HBase数据库项目实践
-第7章 NoSQL数据库技术--本章单元测试
-期末测试--期末测试