10271434

当前课程知识点:数据库系统原理与开发 >  第2章 数据库关系模型 >  2.3 PostgreSQL数据库关系操作实践 >  2.3 PostgreSQL数据库关系操作实践

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

2.3 PostgreSQL数据库关系操作实践在线视频

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

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

2.3 PostgreSQL数据库关系操作实践课程教案、知识点、字幕

大家好!

我是主讲教师陆鑫

下面我们学习数据库课程

第2.3小节 PostgreSQL数据库关系操作实践

本节学习目标如下:

1)掌握创建PostgreSQL关系数据库方法

2)掌握在PostgreSQL数据库中创建关系表方法

3)掌握在PostgreSQL数据库中定义关系表的主键、代理键与外键方法

4)掌握在PostgreSQL数据库中定义关系表的实体完整性

参照完整性、用户自定义完整性方法

下面以一个案例来说明PostgreSQL数据库关系表操作实践

一、项目案例“选课管理系统数据库关系表实践”

本节将围绕“选课管理系统”项目案例

在PostgreSQL数据库中创建关系表及其完整性约束

并理解本章所学习的关系模型基本概念和关系操作原理

下面给出选课管理系统数据库基本需求

如下图所示

在选课管理数据库中包括

课程表(COURSE)

教师表(TEACHER)

开课计划表(PLAN)

学生表(STUDENT)

选课注册表(REGISTER)

学院信息表(COLLEGE)

在确定选课管理数据库的关系表需求后

下面就可以开始进行数据库关系表结构设计

首先对课程表进行设计

其结构见下表所示

在课程关系表结构设计中

该表属性列由“课程编号”、“课程名”、

“课程类型”、“学分”、“学时”、“考核方式”字段组成

在数据库设计中

关系表的属性列名需要使用英文的字段编码

并根据业务处理需求

确定各个属性列的取值数据类型

同时也需要确定各个属性列在表中是否允许空值

最后还需确定该关系表的主键

在本关系表设计中

“课程编号”列作为课程关系表主键

“课程编号”、“课程名称”列不允许有空值

其它列可以有空值

下面对教师关系表结构进行设计

其结构见下表所示

在教师关系表中

属性列由“教师编号”、“姓名”、“性别”

“职称”、“所属学院”、“联系电话”字段组成

该关系表的各个属性列取值均为文本类型

“教师编号”、“姓名”列在表中不允许空值

“教师编号”列作为本关系表的主键

“所属学院”列作为本关系表的外键

下面对开课计划关系表结构进行设计

其结构见下表所示

在开课计划关系表中

属性列由“开课编号”、“课程编号”

“教师编号”、“地点”、“时间”、“备注”字段组成

在本关系表中

将“开课编号”列作为代理键

“课程编号”、“教师编号”作为外键

代理键的数据类型为自动编号的序列值

其它属性列采用文本数据类型

下面对学生关系表结构进行设计

其表结构见下表所示

在学生关系表中

属性列由“学号”、“姓名”、“性别”

“出生日期”、“专业”、“手机号”字段组成

其中,学号为主键

“学号”、“姓名”列不允许空值

“出生日期”列取值日期数据类型

下面对选课注册表结构进行设计

其表结构见下表所示

在选课注册关系表中

属性列由“注册编号”、“开课编号”

“学号”、“学分”、“备注”字段组成

其中,“注册编号”作为代理键

“开课编号”、“学号”列作为外键

下面对学院信息关系表结构进行设计

其表结构见下表所示

在学院信息关系表中

属性列由“学院编号”、“学院名称”

“学院介绍”、“学院电话”字段组成

其中,“学院编号”属性列作为主键

各个属性列取值文本数据类型

下面开始使用数据库管理工具pgAdmin 4

创建一个PostgreSQL数据库用于选课管理

二、使用数据库管理工具pgAdmin 4创建PostgreSQL数据库

启动pgAdmin 4工具

并连接PostgreSQL数据库服务后

便可开始新建一个数据库

其操作过程如下

输入登录密码

进入服务器

选取数据库目录

点右键“创建数据库”

输入数据库名称

保存

该数据库创建成功

连接数据库

三、使用数据库管理工具创建关系表

下面以学院关系表COLLEGE为例

说明该表的创建操作过程

在表目录上

选取“右键”

出现创建表的表单

选取列

输入“学院编号”列名称

选取该列的数据类型

指定该列为主键

输入“学院名称”列

选取该列数据类型

名称列不允许为空

输入“学院介绍”列

选取该列数据类型

输入“学院电话”列

选取该列数据类型

点取“保存”

从表目录可以看到学院表创建成功

四、使用数据库管理工具创建的数据库表对象如下

在选课管理数据库中

现已经创建了学院表COLLEGE、课程表COURSE

开课计划表PLAN、选课注册表RESGISTER、学生表STUDENT、教师表TEACHER等对象。

五、使用数据库管理工具定义关系表中的代理键

在一些关系表中

若没有合适的属性列作为主键

就必须定义一个代理键作为该关系表的主键

下面以选课注册表REGISTER关系表为例

说明代理键定义的操作过程

在REGISTER表中

选取它的代理键

并且选取它的数据类型为Serial

点取“保存”

该代理键创建成功

六、使用数据库管理工具定义关系表的实体完整性

在每个关系表中

为了确保关系的实体完整性

需要定义一个主键

该列不允许空值

并取值唯一

下面以课程表为例

说明实体完整性的定义操作过程

选取课程表的“课程编号”列作为主键

该列不允许空值

点取“保存”

该表实体完整性定义完成

七、使用数据库管理工具定义关系表的外键及其参照完整性

在一些关系表中

其中的一个列或多个列与其它关系表有关联

并需要保证它们之间的数据一致性

这就需要在关系表中定义外键及其参照完整性约束

下面以教师表TEACHER为例

给出在该表中定义外键及其参照完整性约束的操作过程

选取TEACHER表

编辑表结构

选取“约束”

选取“外键”

点取“添加”列

点取“编辑”列

定义列

选取本表的外键列

选取“参照表”

选取参照表的主键列

点取“行动”

选取“级联”操作

选取“添加”

将该外键列及参照定义保存

展开TEACHER表列

查看它的约束

可以看到外键约束定义成功

八、使用数据库管理工具创建关系表的用户自定义完整性约束

在数据库应用中

针对一些关系表属性列需要按照业务要求取值

这就需要实施用户自定义完整性约束

下面以课程表COURSE的学分列CourseCredit为例

其取值范围1-5分

这时需要对学分列CourseCredit实施用户自定义完整性约束

其操作过程如下:

选取课程表

选取“编辑”

选取“约束”

选取“检查”

添加“检查约束”

点取“编辑”

输入约束名称

输入约束表达式

该约束需要验证

点取“保存”

该约束定义成功

选取课程表

选取“约束”

刷新“约束”

可以看到新建的约束

好了,本章学习结束!

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

第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.3 PostgreSQL数据库关系操作实践笔记与讨论

也许你还感兴趣的课程:

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