当前课程知识点:数据库系统原理与开发 >  第2章 数据库关系模型 >  2.1 关系及其相关概念 >  2.1.2关系及其相关概念-2

返回《数据库系统原理与开发》慕课在线视频课程列表

2.1.2关系及其相关概念-2在线视频

下一节:2.2.1关系模型原理-1

返回《数据库系统原理与开发》慕课在线视频列表

2.1.2关系及其相关概念-2课程教案、知识点、字幕

同学们,大家好!

我是主讲教师陆鑫

下面我们继续学习数据库课程的

第2.1小节 “关系及其相关概念”的关系键、关系模式

本节学习目标如下:

1)理解“键”、“复合键”、“候选键”概念

2)理解“主键”、“代理键”、“外键”概念

3)掌握关系模式语句表示方法

在关系定义中

要求关系表内的任意两个元组不能相同

这可通过在关系表中定义键来解决

关系的键定义

在关系中,可以用来唯一标识元组的属性列

称为键(Key)

其它属性列都为非键列

例如,在EMPLOYEE关系表中

为了使关系表内的任意两个元组不能完全相同

可以定义EmployeeNumber编号列作为键

除了使用EmployeeNumber列作为键外

在本关系表中也可以将Email列作为键

其它列均为非键列

在有的关系表中

找不出单个列可以作为键

这时就可以采用复合键来唯一标识元组

复合键

复合键(Compound Key)是指关系中用来唯一标识元组的多列作为键

例如,在下面的课程成绩表中

找不出单个列可以作为键

这时就可以采用(学号、课程编号)复合键来唯一标识元组

在一些关系表中

可能有多个列都可以作为键或复合键

面对这种情况

可以有新的定义

候选键

候选键(Candidate Key)是指关系中可能有多个列均适合作为键

将其中每个都称为候选键

例如,在雇员关系表中

“EmployeeNumber”列和“Email”列均可唯一标识元组

因此,“EmployeeNumber”列、“Email” 列均可以作为该关系表的键

它们每个都称为候选键

在关系表中

我们只需要一个键列的值来唯一标识不同元组

若关系表存在多个候选键

我们从中选取一个即可

主键

主键(Primary key)是指关系表中最有代表性的一个候选键

每个关系表中只能定义一个主键

例如,在雇员关系表中

“EmployeeNumber”列和“Email”列均为候选键

其中“EmployeeNumber”编号列具有业务标识意义

最适合作为关系表的键列

因此,可以将它定义主键

在每个关系表中

都必须确定一个主键

因为它们在关系数据库具有重要作用

主键的作用如下

1)唯一标识关系表的每行(元组)

2)与关联表的外键建立联系实现关系表之间的连接

3)数据库文件使用主键值来组织关系的数据存储

4)数据库使用主键索引快速检索数据

主键定义操作实例

在PostgreSQL 数据库中

定义Employee关系表主键

在PostgreSQL中创建Employee关系表时

我们可以选择该表中具有代表性的候选键列

EmployeeNumber作为主键

在该表结构定义时

选取该列作为主键列

并设置该列值不允许空值(NULL)

在一些关系表中

只有复合键才能作为主键

若关系表的复合键包含较多属性列时

它们作为主键会降低数据库的访问操作性能

这时可以考虑使用代理键去替代复合键

代理键

代理键采用DBMS自动生成的数字序列作为关系表的主键

代理键有什么用途呢?

它是由DBMS自动生成的数字序列作为主键

可替代复合主键

以便获得更高性能的数据操作处理

实例:在房产信息Property 关系表中定义代理键

下面给出的房产信息关系表

在该关系表中不能选出合适的列作为主键

这时可以定义一个代理键(PropertyID)

作为该关系表的主键

在PostgreSQL中定义关系表的代理键时

首先将PropertyID列定义为主键

同时还需要将该列数据类型设置为Serial序列

并设置该列为非空

为了简洁表示关系表

可采用关系模式语句表示

五、关系模式语句表示

关系模式语句格式如下

在这个语句中

我们要定义关系的名称

并将它的属性放在语句的列表中

关系模式语句中主键表示方法

在关系模式语句中

主键列用下划线来标识

下面给出关系模式语句表示方法实例

例如 EMPLOYEE关系表的关系模式语句表示

该关系模式的语句表示为

EMPLOYEE (EmployeeNumber, FirstNmae,LastName,Department,Email,Phone)

在关系模式语句中

主键列为带下划线的属性列

本节学习结束!

数据库系统原理与开发课程列表:

第1章 数据库系统概论

-1.1 数据库及其系统概念

--1.1 数据库及其系统概念

-1.2 数据库技术发展

--1.2 数据库技术发展

-1.3 数据库应用系统

--1.3 数据库应用系统

-1.4 典型数据库管理系统

--1.4 典型数据库管理系统

-1.5 PostgreSQL对象-关系数据库系统软件

--1.5 PostgreSQL对象-关系数据库系统软件

-第1章 数据库系统概论--本章单元测试

-第1章 数据库系统概论--本章重点问题讨论

第2章 数据库关系模型

-2.1 关系及其相关概念

--2.1.1关系及其相关概念-1

--2.1.2关系及其相关概念-2

-2.2 关系模型原理

--2.2.1关系模型原理-1

--2.2.2关系模型原理-2

-2.3 PostgreSQL数据库关系操作实践

--2.3 PostgreSQL数据库关系操作实践

-第2章 数据库关系模型--本章单元测试

-第2章 数据库关系模型--本章重点问题讨论

第3章 数据库操作SQL语言

-3.1 SQL语言概述

--3.1 SQL语言概述

-3.2 数据定义SQL语句

--3.2.1数据定义SQL语句-1

--3.2.2数据定义SQL语句-2

--3.2.3数据定义SQL语句-3

-3.3 数据操纵SQL语句

--3.3 数据操纵SQL语句

-3.4 数据查询SQL语句

--3.4.1单表数据查询

--3.4.2 内置函数与分组统计

--3.4.3 多表关联查询

-3.5 数据控制SQL语句

--3.5 数据控制SQL语句

-3.6 视图SQL语句

--3.6 视图SQL语句

-3.7 PostgreSQL数据库SQL实践

--3.7 PostgreSQL数据库SQL实践

-第3章 数据库操作SQL语言--本章单元测试

-第3章 数据库操作SQL语言--本章重点问题讨论

第4章 数据库设计与实现

-4.1 数据库设计概述

--4.1 数据库设计概述

-4.2 E-R模型方法

--4.2.1 E-R模型方法-1

--4.2.2 E-R模型方法-2

-4.3 数据库建模设计

--4.3.1 数据库建模设计-1

--4.3.2 数据库建模设计-2

-4.4 数据库规范化设计

--4.4.1 数据库规范化设计-1

--4.4.2 数据库规范化设计-2

-4.5 数据库设计模型SQL实现

--4.5 数据库设计模型SQL实现

-4.6 基于Power Designer的数据库设计建模实践

--4.6 基于Power Designer的数据库设计建模实践

-第4章 数据库设计与实现--本章单元测试

-第4章 数据库设计与实现--本章重点问题讨论

第5章 数据库管理

-5.1 数据库管理概述

--5.1 数据库管理概述

-5.2 事务管理

--5.2 事务管理

-5.3 并发控制

--5.3.1 并发控制-1

--5.3.2 并发控制-2

-5.4 安全管理

--5.4.1 安全管理-1

--5.4.2 安全管理-2

-5.5 数据库备份与恢复

--5.5 数据库备份与恢复

-5.6 PostgreSQL数据库管理项目实践

--5.6 PostgreSQL数据库管理项目实践

-第5章 数据库管理--本章单元测试

-第5章 数据库管理--本章重点问题讨论

第6章 数据库应用编程

-6.1 数据库连接技术

--6.1.1 数据库连接技术-1

--6.1.2 数据库连接技术-2

-6.2 数据库存储过程

--6.2 数据库存储过程

-6.3 数据库触发器

--6.3 数据库触发器

-6.4 数据库游标

--6.4 数据库游标

-6.5 嵌入式SQL编程

--6.5 嵌入式SQL编程

-第6章 数据库应用编程--本章单元测试

-第6章 数据库应用编程--重点问题讨论

第7章 NoSQL数据库技术

-7.1 NoSQL数据库概述

--7.1.1 NoSQL数据库概述-1

--7.1.2 NoSQL数据库概述-2

--7.1.3 NoSQL数据库概述-3

-7.2 列存储数据库

--7.2.1列存储数据库-1

--7.2.2列存储数据库-2

-7.3 键值对数据库

--7.3.1 键值对数据库-1

--7.3.2 键值对数据库-2

--7.3.3 键值对数据库-3

-7.4 文档型数据库

--7.4.1文档型数据库-1

--7.4.2文档型数据库-2

--7.4.3文档型数据库-3

-7.5 图形数据库

--7.5.1图形数据库-1

--7.5.2图形数据库-2

--7.5.3 图形数据库-3

-7.6 HBase数据库项目实践

--7.6 HBase数据库项目实践

-第7章 NoSQL数据库技术--本章单元测试

-第7章 NoSQL数据库技术--本章重点问题讨论

期末考试

-期末测试--期末测试

2.1.2关系及其相关概念-2笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。