推广 热搜: 公司  快速  中国  上海  未来    企业  政策  教师  系统 

第2章 数据库关系模型---数据库原理及应用

   日期:2024-10-31     作者:caijiyuan    caijiyuan   评论:0    移动:http://kaire.xrbh.cn/news/686.html
核心提示:目录第2章        数据库关系模型本章要求:1、关系模型的基本概念关系数据模型-现有主流DBMS支持的逻辑模型域&#x

目录

第2章 数据库关系模型---数据库原理及应用

第2章        数据库关系模型

本章要求

1、关系模型的基本概念

关系数据模型-现有主流DBMS支持的逻辑模型

(Domain):相同数据类型的集合

关系模式:关系名和属性

关系实例:具体的数据集合

一、关系的数学定义

笛卡尔积可以写成一个二维表

关系(Relation:笛卡尔积的子集

数学意义上的关系:可无限个元组,元组元素不可交换

数据库的关系:有限的元组,元组元素可交换

4、说明

5、关系的性质

二、关系模型

1、单一的数据结构:关系(二维表:记录一个班的人的成绩,一个人为记录,一个人的数据库成绩为字段,一个人的学号、身份证号为关键字

2、关系模式:关系的描述:关系数据库包括所有关系

简单地讲:关系数据模型是表现为二维表的形式

3、关系的三种类型

(二)关系操作

1、种类:查询和维护

2、特点

)关系模型的三类完整性

1、实体完整性(Entity Integrity:主属性不空

2、参照完整性(Referential  Integrity,也叫引用完整性:引入外部关系的主属性为空或外部值

3、用户定义的完整性:约束条件

2、RDBS的数据操纵语言:关系代数

一、传统的集合运算:并交差笛卡尔积

(1) UNIOn(并):R∪S:相加除同

(2) INTERSECT (交):R∩S:相同的出来

(3) SET-DIFFERENCE(差):R-S:属于R不属于S

(4) CROSS-PRODUCT(积):R ×S:如图所示

专门的关系运算

选择与投影操作

1、选择:在关系R中选出满足F条件的行形成新的关系

2、投影:在关系R中选出几列形成新的关系

 3、连接(Join

种类:条件连接、等值连接、自然连接、外连接

(1) Condition Joins(条件连接):两个表中满足条件的行,组成新的表

 (2)等值连接 (Equijoin):两个表中属性相等的行组成新的行

(3) Natural Join(自然连接):列名字相同的列,属性相同提出来

4、除(Division):过于复杂且不常用,了解即可

5、外连接(Outer Joins)

外连接的种类:左右全

说明

左外连接

右外连接

 全外连接

PostgreSQL数据库关系操作实践

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

(1) 使用pgAdmin4创建数据库

指定数据库名和拥有者

 数据库创建成功

 课程表(COURSE

教师表(TEACHER

开课计划表(PLAN

学生表(STUDENT

选课注册表(REGISTER

学院信息表(COLLEGE

使用pgAdmin 4创建PostgreSQL数据库表

 使用pgAdmin 4创建学院信息表(COLLEGE

使用pgAdmin 4创建教师信息表(TEACHER) 

使用pgAdmin 4给教师信息表(TEACHER)创建外键约束 

 使用pgAdmin 4给教师信息表(TEACHER)创建外键约束的处理

 使用pgAdmin 4给教师信息表(TEACHER)创建check约束

单元测试

第2章 数据库关系模型-单元测验-数据库与机器学习_aiqq136的博客-CSDN博客第2章 数据库关系模型---数据库与机器学习作业常用的关系查询操作包括选择、投影、连接、并、交等。 v实体完整性是指关系表的属性组成必须是完整的。 x自然连接是一种等值连接。 v在参照完整性中,可以定义级联操作。 v用户自定义完整性可以实施数据的业务约束。 v每个关系是一个二维表,但二维表不一定是关系。 v关系中复合键至少包含两个属性。 v代理键是为了唯一标识关系的不同元组,需要在表单或报表中显示出来。 x...https://blog.csdn.net/aiqq136/article/details/123429997

第3章        数据库操作SQL语言

第4章        数据库设计与实现

第5章        数据库管理

第6章        数据库应用编程

第7章        NoSQL数据库技术


1、掌握关系、关系模式、关系数据库等基本概念

2、掌握关系的三类完整性的含义

3、掌握关系代数运算

4、PostgreSQL项目实践

层次、网状数据库结构复杂,需要使用者有较强专业知识,使用很不方便。

程序员必须经过良好的培训,对所使用的系统有深入的了解才能用好系统。

关系数据库是应用集合的方法来处理数据的。

它具有结构简单、理论基础坚实、数据独立性高以及提供非过程性语言等优点。

关系的概念:用于描述数据本身、数据之间联系,俗称“表”。

(Domain):相同数据类型的集合

是一组具有相同数据类型的值的集合,具有数据类型及长度、域名、取值范围。

关系模式:关系名和属性

由关系名、各个属性、属性的域以及属性的依赖关系构成。

关系实例:具体的数据集合

由真实记录或元组构成的集合,称为关系实例,简称关系

每个元组的字段必须对应关系模式中的字段。

笛卡尔积(Cartesian Product:设D1、D2、…、Dn是n个域, 则它们的笛卡尔积为

D1×D2×…×Dn={(d1,d2,…,dn) | di ∈ Di, i=1,2,…,n}

其中每一个元素称为一个n元组(n-tuple), 简称元组;

元组中的每个值di称为一个分量(component).

例子:D1={1,2,3}        D2={4,5}

D1xD2={(1,4)(1,5)(2,4)(2,5)(3,4)(4,5)}

(1,4)是二元组,其中1为分量

笛卡尔积可以写成一个二维表

例如

设 D1={张三,李四}

D2={数学,语文}

D3={优,良}

则D1×D2×D3可用二维表表示为

关系(Relation:笛卡尔积的子集

笛卡尔积D1×D2×…×Dn的子集合,记作 R(D1,D2,…,Dn

R:关系名

n为关系的目或度

数学意义上的关系:可无限个元组,元组元素不可交换

(1)笛卡尔积不满足交换律:元组元素不可交换

:(d1,d2,…,dn) ≠ (d2,d1,…,dn)

(2)数学意义的关系可以是无限个元组的集合。

数据库的关系:有限的元组,元组元素可交换

数学意义的关系不适合数据库的实际应用,必须做如下限制

(1)数据库关系模型中的关系必须是有限的元组集合

(2)数据库关系模型中的属性列表的顺序是可交换,允许任意顺序;具有数据库中关系满足交换律

4、说明

① 关系是一个二维表。

② 每行对应一个元组。

③ 每列可起一个名字,称为属性。属性的取值范围为一个域,元组中的一个属性值是一个分量。

5、关系的性质

① 列是同质的,即每列中的数据必须来自同一个域

② 每一列必须是不可再分的数据项(不允许表中套表,即满足第一范式

③ 不能有相同的行

④ 行、列次序无关

三部分:关系数据结构、关系操作集合、关系的完整性

(一)数据结构

1、单一的数据结构:关系(二维表:记录一个班的人的成绩,一个人为记录,一个人的数据库成绩为字段,一个人的学号、身份证号为关键字

不论是实体还是实体间的联系都用关系表示

  • 实体值 → 关系的元组,在关系数据库中通常称为记录
  • 属性值 → 元组的分量,在关系数据库中通常称为字段
  • 关键字(码:唯一标识一个元组的属性组

关键字可以有多个,统称候选关键字

在使用时,通常选定一个作为主关键字

关键字的诸属性称为主属性,其它为非主属性

2、关系模式:关系的描述:关系数据库包括所有关系

包括关系名、诸属性名属性域约束、属性间的依赖

一个元组为关系的一个值,也称为记录

关系数据库模式:对关系数据库的描述,包括域的定义及在域上定义的所有关系模式

关系数据库:所有实体及实体间联系的关系的集合。是某时刻所有关系模式对应的关系的集合。

简单地讲:关系数据模型是表现为二维表的形式

:学生的基本信息

学号

姓名

住址

20060101

04-201

排球

20060102

魏明

04-203

足球

20060103

王昆

05-102

羽毛球

20060104

程香

05-102

羽毛球

20060105

刘鹏

04-405

游泳

20060106

王德

04-203

排球

20060107

04-205

20060108

04-102

20060109

程文

05-304

乒乓

基本关系:客观存在的基本表

查询表:由基本表按一定条件检索得到的结果

视图(View: 从一个或多个基本关系上导出的关系。它不对应实际的存储数据,是一个虚关系,然而可永久存在。相当于关系模型的外模式。

由于二维表的存储策略非常简单,关于数据库的物理存储完全由DBMS自动完成。因此,在关系模型中不需要与内模式相应的概念。

1、种类:查询和维护

查询操作:选择、投影、连接、除、并、交、差

维护操作:增加、删除、更新

2、特点

① 集合操作,一次操作

② 可存取多个元组

③ 非过程化语言:用户只需告诉做什么(What)不需告诉怎么做(How

④ 数据定义DDL、数据操纵DML、数据控制语言集成在一起DCL:权限控制、完整性控制等

  • 一次一集合(关系型
  • 一次一记录(非关系型

1、实体完整性(Entity Integrity:主属性不空

基本关系的所有主属性不能取空值

原因:基本关系<--->实体集

--->实体必可区分(标识符

--->主关键字是唯一性标识,故不能空

2、参照完整性(Referential  Integrity,也叫引用完整性:引入外部关系的主属性为空或外部值

若基本关系R含有与另一个基本关系S的主关键字相对应的属性组F(F称为R的外键外部码

则R中每个元组在F上的值或为空值,或等于S中某个元组的主关键字值。

: 职工关系 EMP(ENO,ENAME,DNO

部门关系 DEPTDNO,DNAME)    

DNO为DEPT的主关键字

DNO为EMP的外键,只能取空值或DEPT中某关键字的值

又如:学生关系SNO,SNAME,AGE,SEX

课程关系CNO,CNAME

选课关系SNOCNO,G

3、用户定义的完整性:约束条件

用户自定义完整性是针对某一具体关系数据库的约束条件

它反映某一具体应用所涉及的数据必须满足的语义要求。

主要包括非空约束、唯一约束、检查约束、缺省值约束、外键约束

注意:定义完整性约束后,当数据库数据发生变化时,DBMS会自动检查,从而不必在应用程序中作检查

关系代数的运算对象是关系,运算结果也为关系。

其运算按运算符的不同可分为两类。

一、传统的集合运算:并交差笛卡尔积

1、并(Union:R ∪ S = { t | t∈R∨t∈S}

2、交(Intersection:R ∩ S = { t | t∈R∧t∈S}

3、差(Difference: R − S = { t | t∈R∧tS}

4、笛卡尔积(广义: R × S = { | tr ∈ R ∧ ts ∈ S}

(1) UNIOn(并):R∪S:相加除同

概念:包含R和S中的所有元组,要求R和S兼容(字段个数、类型[名字]) ,结果模式与R一致。

(2) INTERSECT (交):R∩S:相同的出来

概念:包含R、S中相同的元组,R、S须兼容。

(3) SET-DIFFERENCE(差):R-S:属于R不属于S

概念:包含在R中而不在S中的元组,R、S兼容。

(4) CROSS-PRODUCT(积):R ×S:如图所示

概念:结果包含R和S中所有字段。如果有相同的字段名

则在结果字段来源的表。也叫“笛卡尔乘积”。

说明

①以上定义中,R、S本身也可以是关系代数表达式

②由于R∩S=R-(R-S),故R∩S实际上是多余的 。

学生-课程数据库:学生Student、课程Course和选修SC

1、选择:在关系R中选出满足F条件的行形成新的关系

(Selection,又称限制(Restriction,从行的角度的运算

σF(R):在关系R中选出满足条件F的元组形成新的关系。(F:条件表达式)

2、投影:在关系R中选出几列形成新的关系

(Projection)从列的角度的运算

πA(R:在R中选出若干属性列组成一个新关系。(A:属性组)

投影后若有重复行,则自动保留一个
 

  • 共同点:为一元关系操作符。
  • 选择:从关系实例中选择出满足条件的行。操作符:σ
  • 投影:从关系实例中抽出所需的一列或多列。操作符:π
  • 条件表达式中的比较操作符==,≠。

 

 3、连接(Join

从两个关系的笛卡尔积中选取属性间 满足条件AθB的元组。

A:R中属性
B:S中属性
θ:比较运算符

连接是同时处理多个关系的重要运算

  • 若仅有θ为等号的条件,称为等值连接
  • 当θ为等号且A、B两属性相同时,称为自然连接
  • 自然连接将去掉重复属性

种类:条件连接、等值连接、自然连接、外连接

(1) Condition Joins(条件连接):两个表中满足条件的行,组成新的表

概念

 说明:条件c会用到R和S的属性,如R.name,R.i(位置)。

例5: 关系R和关系S 如下所示

 (2)等值连接 (Equijoin):两个表中属性相等的行组成新的行

概念:是条件连接的特例,即连接条件由等式组成,如

R.name1=S.name2。

从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为

示例

 

(3) Natural Join(自然连接):列名字相同的列,属性相同提出来

概念:是等值连接的特例,即:等式中所涉及的字段名相同

这时可忽略连接条件,即为

 

4、除(Division):过于复杂且不常用,了解即可

用途:在表达某些查询时有用,例如“查询已选修了所有课程的学生学号”。

商并不经常使用,所以,数据库系统并没有将其作为实际操作符来实现。

概念:如存在R(X,Y)和S(Y,Z)两个关系,X,Y, Z 分别为属性组

(如: X={x1,x2,…,xn},即X是由n列构成 ,Y,Z类似

则R ÷ S结果得到一个新的关系P(X)

P是 R中满足下列条件的元组在 X属性列上的投影

元组在X上分量值x的像集Yx包含S在Y上投影的集合。

其中Yx为X在R中的象集,x = tr[X],即x在R中存在与∏y(S)中的每个元素对应的记录,除操作是同时从行和列角度进行运算。

示例

设关系定购和零件数据,如表1和表2,求定购÷零件

 R÷S的具体计算过程如下

① 找出关系R和关系S中相同的属性,即Y属性。在关系S中对Y做投影(即∏Y(S)

② 设被除关系R与S的不相同的列为 X,对关系R在X上做消除重复值的投影(即: ∏x(R)

③ 对①②步求出的关系做笛卡尔积: ∏x(R)×∏Y(S)

④ 对③步的结果与R做差: (∏x(R) ×∏Y(S))-R

⑤ 对④步的结果做投影∏x((∏x(R) ×∏Y(S))-R)

⑥ R÷S就是②-⑤.

示例:计算定购÷零件的过程

概念:涉及有空值的自然连接,是自然连接的特例 。

说明自然连接是寻找相同字段值相等的行

但如果一个关系中的该字段在另一关系中没有相等值的行

自然连接不会显示该行,而外连接则将以NULL值形式显示该行。

外连接的种类:左右全

① 左外连接(LEFT OUTER JOIN

② 右外连接(RIGHT OUTER JOIN

③ 全外连接(FULL OUTER JOIN

说明

① 与外连接对应,前面三种连接为内连接(Inner Join)

② 关系代数中没有外连接的描述,但SQL标准中有相应的三种外连接查询语句

左外连接

对于RS,如果在S中没有匹配R的行,则以NULL值表示

最后的结果是以左边的关系R为准,即左边关系中的所有行均应出现在结果中,如果在S中没有对应的行,则以NULL表示之。

 

右外连接

对于RS,如果在R中没有匹配S的行,则以NULL值表示,最后的结果以右边的关系S为准。

 全外连接

对于RS,没有匹配的R和S的行,也都出现于结果中

  • 掌握创建PostgreSQL关系数据库方法
  • 掌握在PostgreSQL数据库中创建关系表方法
  • 掌握在PostgreSQL数据库中定义关系表的主键、代理键与外键方法
  • 掌握在PostgreSQL数据库中定义关系表的实体完整性、参照完整性、用户自定义完整性方法

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

本节将围绕 “ 选课管理系统 ” 项目案例,在PostgreSQL数据库中创建关系表及其完整性约束,并理解本章所学习的关系模型基本概念和关系操作原理。

选课管理数据库(CurriculaDB

• 课程表(COURSE

• 教师表(TEACHER

• 开课计划表(PLAN

• 学生表(STUDENT

• 选课注册表(REGISTER

• 学院信息表(COLLEGE

(1) 使用pgAdmin4创建数据库

指定数据库名和拥有者

 数据库创建成功

 课程表(COURSE

字段名称

字段编码

数据类型

字段大小

必填字段

是否为键

课程编号

CourseID

文本

4

主键

课程名

CourseName

文本

20

课程类别

CourseType

文本

10

学分

CourseCredit

数字

短整型

学时

CoursePeriod

数字

短整型

考核方式

TestMethod

文本

10

教师表(TEACHER

字段名称

字段编码

数据类型

字段大小

必填字段

是否为键

教师编号

TeacherID

文本

4

主键

姓名

TeacherName

文本

10

性别

TeacherGender

文本

2

职称

TeacherTitle

文本

6

所属学院

CollegeID

文本

3

外键

联系电话

TeacherPhone

文本

11

开课计划表(PLAN

字段名称

字段编码

数据类型

字段大小

必填字段

是否为键

开课编号

CoursePlanID

自动编号

长整型

代理键

课程编号

CourseID

文本

4

外键

教师编号

TeacherID

文本

4

外键

地点

CourseRoom

文本

30

时间

CourseTime

文本

30

备注

Note

文本

50

学生表(STUDENT

字段名称

字段编码

数据类型

字段大小

必填字段

是否为键

学号

StudentID

文本

13

主键

姓名

StudentName

文本

10

性别

StudentGender

文本

2

出生日期

BirthDay

日期

短日期

专业

Major

文本

30

手机号

StudentPhone

文本

11

选课注册表(REGISTER

字段名称

字段编码

数据类型

字段大小

必填字段

是否为键

注册编号

CourseRegID

自动编号

长整型

代理键

开课编号

CoursePlanID

数字

长整型

外键

学号

StudentID

文本

13

外键

备注

Note

文本

30

学院信息表(COLLEGE

字段名称

字段编码

数据类型

字段大小

必填字段

是否为键

学院编号

CollegeID

文本

3

主键

学院名称

CollegeName

文本

40

学院介绍

CollegeIntro

文本

200

学院电话

CollegeTel

文本

30

使用pgAdmin 4创建PostgreSQL数据库表

 使用pgAdmin 4创建学院信息表(COLLEGE

使用pgAdmin 4创建教师信息表(TEACHER) 

使用pgAdmin 4给教师信息表(TEACHER)创建外键约束 

 使用pgAdmin 4给教师信息表(TEACHER)创建外键约束的处理

本文地址:http://syank.xrbh.cn/news/686.html    迅博思语资讯 http://syank.xrbh.cn/ , 查看更多
 
 
更多>同类资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号