第 6 章 计算机信息系统与数据库考点 联系客服

发布时间 : 星期六 文章第 6 章 计算机信息系统与数据库考点更新完毕开始阅读fd334e1d14791711cc791728

的个数是无限的,则称其为无限关系;否则称为有限关系。

注意 通过以上介绍,不难理解以下两点:

( l ) 数据模型和模式是有区别的.数据模型是用一组概念和定义描述数据的手段,而数据模式是用某种数据模型对具体情况下相关数据结构的描述.具体地说关系模式是以关系数据模型为基础,综合考虑了用户的需求,并将这些需求抽象而得到的逻辑结构。因而不应将关系数据模型和关系模式相混淆。 ( 2 ) 关系模式反映了二维表的静态结构,是相对稳定的。而关系是关系模式在某一时刻的状态,它反映二维表的内容,由于对关系的操作不断地更新着二维表中的数据,因此关系是随时间动态变化的。 4 .关系数据模型的完整性

用来保证数据库中数据的正确性的约束,称为关系数据模型的完整性约束。下面介绍三类关系数据模型的完整性规则。

(1) 实体完整性

若属性A为关系R的主键,则A不能为空值(即其值处于未知状态,记为Null)或重值,即关系R中没有一个元组在属性A上的值为空值,或与另一元组在属性A上的值相同。

(2) 引用完整性

现实世界中的实体集之间往往存在某种关联,反映在关系模型中,实体集及实体集之间的联系都是用关系来描述的,这样就自然存在着关系间的引用。

具体而然,如果F是关系R1的一个或一组属性,但F不是R1的主键,并且F与另一个关系R2的主键KR2,相对应,则称F是关系R1的外键。“引用完整性”严格规定了外键F的取值,即外键F要么是被引用关系R2中某一元组实际存在的主键值,要么为空值。即“引用完整性”要求在关系中不允许引用不存在的实体(即元组)。

(3)用户定义完整性

实体完整性和引用完整性用于任何关系数据库系统,而用户定义完整性反映某一具体应用所涉及的数据必须满足的语义要求,由应用环境对数据的需求而决定。

5、E—R概念模型转换为关系数据模式

在E—R概念模型中用实体集和联系表示现实世界中的事物及其相互关联,而在关系模式中,应用单一的结构(二维表)来组织数据。下面简要介绍E—R概念模型转换为关系模式的几条原则。

(1)实体集的转换

E—R概念模型中的每个实体集都转换成一个与实体同名的关系模式,实体集的属性就是关系模式的属性,实体集的主键就是关系模式的主键。

(2)联系的转换

E—R概念模型中的每个联系也用一个与联系同名的关系模式表示;与该联系相连的多个实体集的主键以及联系的属性组合为关系模式的属性。

★ 考点6:关系数据库的基本原理:关系代数操作

9

关系代数操作简称为关系操作。它们可分为两类:一类是传统的集合操作,另一类是关系专用的操作。 1、传统的集合操作

关系是元组的集合,因此集合运算均可适用于关系。 (1)并操作

设有关系R和关系S,它们有相同的模式结构(称R与S是“并相容”的),其并操作表示为:R∪S,结果生成一个新的关系,由属于R的元组和属于S的元组共同组成。

(2)差操作

设关系R和S并相容,其差操作表示为:R—S,结果生成一个新关系,其元组由属于R,但不属于S的元组组成。

(3)交操作

设关系R和S并相容,其交操作表示为:R∩S,结果生成一个新关系,其元组由即属于R又属于S的元组组成。关系的交可以用差来表示:

R∩S=R—(R—S)或R∩S =S—(S—R)

【举例】若SC1为“60分~80分的学生选课成绩表”,SC2为70分~100分的学生选课成绩表”,则: SC1∪SC2可得到“60分~100分学生选课成绩表”; SC1—SC2可得到“60分~69分学生选课成绩表”; SC1∩SC2可得到“70分~80分学生选课成绩表”。 (4)广义笛卡尔积

设关系R和S分别具有p和q 个属性,定义R和S的广义笛卡尔积是一个具有(p+q)个属性的元组集合,每一个元组的前p个属性来自R的一个元组,后q个属性来自S的一个元组。广义笛卡尔积记为R×S。若R有m个元组,S有n个元组,则R×S就有m×n个元组。

【举例】如图6.2,R表示座位的行,有属性“行标识”和“行号”;S表示座位的列,有属性“列标识”和“列号”。广义笛卡尔积R×S则表示每一个座位的“行”和“列”的值。 行标识 A1 A2 行号 1 2 R 图6.2广义笛卡尔积操作 列标识 R1 R2 R3 S 列号 1 2 3 行标识 A1 A1 A1 A2 A2 A2 行号 1 1 1 2 2 2 R×S 列标识 R1 R2 R3 R1 R2 R3 列号 1 2 3 1 2 3 10

2、 专门的关系操作

专门的关系操作包括选择、投影、连接、自然连接和除法等。 (1)选择操作

选择操作(selection)是从关系中选择满足条件的元组组成一个新关系。选择操作用下式表示: σF(R)={t|t∈R∧F(t)=‘真’}( 备注:σ是∑的小写 )

其中,R为关系名,逻辑表达式F表示条件,F中的运算符包括∨、∧、—、=、≠、>、>=、<、<=及算术表达符,运算对象可以是属性名、常量等。由此可见,选择操作实际上是从关系中选取使条件F为真的元组组成新的关系,它是从行的角度进行的水平操作。

(2)投影操作

投影操作(project)是对关系作垂直分解,即从关系的属性中选择属性列,由这些属性列组成一个新关系。若A为关系R中的属性列,投影操作表示为:

∏A(R)={ t [ A ] | t∈R } (3)连接操作

R S 连接(join)是从关系R和S的广义笛卡尔积中选取属性值之间满足某一θ运算的元组,记为 i θ j 其中i表示关系R的第i个属性,j表示关系S中第j个属性,θ是算术比较符。θ连接的形式定义如下: R S =σ

i (p+j) (R×S)

其中,p是关系R的属性个数。R S是在R和S的广义笛卡尔积中的挑

iθj iθj

选第i个属性和第(p+j)个属性满足θ运算的元组。如果θ是等号“=”,那么这个连接操作称为“等值连接”。 【举例】图6.3 (a)、(b)、(c)是关系R、S和R S 的值。

2<1

A 1 4 7 B 2 5 8 (a)R C 3 6 9 (b)S (c) R S 2<1 D 7 3 E 4 6 A 1 1 4 B 2 2 5 C 3 3 6 D 7 3 7 E 4 6 4 图6.3 θ连接示例 (4)自然连接

自然连接是一种特殊的等值连接,它要求两个关系中进行比较的属性必须是相同的属性列,并且在结果中把重名的属性列去掉。即若关系R和S具有相同的属性列B,则自然连接记作:R S。

(5)除法操作

设有关系 R ( x , y ) 和S( y ),x 和 y 为属性列,且S( y )≠φ,则除法操作(division),

11

可记为:R÷S=ΠX (R)—ΠX (ΠX(R×S)—R

【举例】图6.4是R÷S的示例。其中,R为“学生—外语课程选修表”,S为“外语课程开设表”,R÷S的操作结果是“选修全部外语课程的学生表”。

学号 107 107 209 315 315 107 420 姓名 王俊 王俊 张军 李凯 李凯 王俊 刘海 课程号 K-001 K-002 K-002 K-003 K-002 K-003 K-002 课程名 英语 法语 法语 俄语 S

法语 俄语 法语 学号 107 姓名 王俊 课程号 K-001 K-002 K-003 课程名 英语 法语 俄语 R R÷S 图6.4 R÷S的示例

以上介绍了九种关系代数操作,其中并、差、广义笛卡尔积,投影和选择五种操作称为基本操作,它们可以组成关系代数的完备操作集。其他操作(如交、连接和除法)均可以用这五种基本操作来表达。

★ 考点 7 * :关系数据库的基本原理: SQL 语言

关系数据库标准语言 SQL ( Structured Query Language ) ,它是一种基于关系代数和关系演算之间的语言。 1 . SQL 数据库的体系结构

SQL 数据库具有用户模式、逻辑模式、存储模式三级体系结构。在 SQL 中,逻辑模式对应于基本表(base table ) ,存储模式对应于存储文件,用户模式主要对应于视图( view ) ,元组称为“行”,属性称为“列”。

在这种体系结构中,用户应用的模式对应于视图和部分基本表,用户可以用 SQL 语言对基本表和视图进行查询或其他操作,基本表和视图一样都是关系。视图是从基本表或其他视图导出的表。视图并不直接对应存储在数据库中的文件,因此视图实际是一个“虚表”。视图在概念上与基本表等同,用户可以在视图上再定义视图。

SQL 语句可嵌入在宿主语言(如 FORTRAN 、 C 语言等)中使用。 SQL 用户也可在终端上以联机交互方式使用 SQL 语句。SQL 包括了所有对数据库的操作,用 SQL 语言可实现数据库应用过程中的全部活动。

2 、 SQL 数据定义

SQL 提供数据定义语言( DDL )。作为建立数据库最重要的一步,可根据关系模式定义所需的基本表, SQL 语句表示为:

CREATE TABLE <表名>

12