当前位置:文档之家› 关系数据模型

关系数据模型


主键:从候选键中选择一个作为关系的主键。主键包含的属性称为主属性。
其它属性称为非主属性。
2.1 关系模型的数据结构
在关系定义中,主属性用下划线表示,如标识了主属性的关系R 表示为:R(学号,课程,成绩) 外键:在存在多个关系时,可以要求其中一个关系(设为R)的某些属性 的值能在另一关系(设为S)的主键中找到对应的值,这时R中的 这些属性称为R的一个外键。 如,有如下两个关系。
3. 用户定义的完整性
允许用户指定关系中数据需要满足的其他约束条件。 如成绩属性的取值范围在0~100之间,年龄的取值范围在0 ~150之间,
性别的取值范围在男、女之间等。
2.3
关系代数
关系代数,是一种抽象的查询语言,是关系数据操纵语言的一
种传统表达方式,它是用对关系的运算来表达查询的。
关系模式的数据操作主要由关系代数完成。关系代数包含一系
95002
…… 95004 95004
刘晨

19
信息
……
95001
…… 95002 95002
1
92
张力 张力
男 男
19 19
信息 信息
2 3
90 80
20 运输结果产生了一个包含 ____ 个元祖的关系
2.3
筛选后的关系: S
学生.学号 95001 95001 95001 姓名 李永 李永 李永 性别 男 男 男
b1 b1 b2 b2
E e1
e2 e3 e1 e2
H h1
h2 h3 h1 h2
P p1
p2 p3 p1 p2
a2
b2
c2
e3
h3
p3
Flash演示
2.3
学生
学号 95001 姓名 李永 性别 男 年龄 20
关系代数
成绩
所在系 计算机 学号 95001 95001 95001 课程号 1 2 3 成绩 92 85 88
D1 D2 Dn d1 , d2 ,, dn | di Di , i 1,2,, n
笛卡尔积可形象地用一个二维表来表示。 其中,每个元素 叫做一个分量。
d1 , d2 ,, dn 称为一个元组。元素中的每一个值 d
见课本10页例子
i
2.1 关系模型的数据结构
陈忠,计算机应用),(张力,陈忠,软件工程),(李强,张平,计算机应用),(李强,张平,软件工 程),(李强,陈忠,计算机应用),(李强,陈忠,软件工程),(钱三,张平,计算机应用),(钱三,张 平,软件工程),(钱三,陈忠,计算机应用) ,(钱三,陈忠,软件工程)}
name×mentor×speciality中包含3×2×2=12个元组,这12个元组用二维表表示为:
R2 R3 叶结点 联系更多的 是非层次关 系的。 R1 R2 R3 R4 叶结点 R5 叶结点 R4 R5
第二章
关系模型
目前最重要的一种数据模型。 用表格形式结构表示实体类型及 实体之间的联系。
关系数据模型
面向对象模型
现实世界中存在着许多含有更复 杂数据结构的实际应用领域,从
而导致了面向对象的数据模型。
C c1 c2
将两个关系的元组以任意组合的方式连接起来,产生一个新的关 系。
关系R
A a1 a2
B b1 b2
关系S
E e1 e2 e3
H h1 h2 h3
P p1 p2 p3
则关系R和S的广义笛卡尔积R S为:

2.3
R
关系代数
C c1
c1 c1 c2 c2
S
A a1
a1 a1 a2 a2
B b1
2.1 关系模型的数据结构
例,若name={张力,李强,钱三},mentor={张平,陈忠},speciality={计
算机应用,软件工程},求name、mentor和speciality的笛卡尔积 name×mentor×speciality。 name×mentor×speciality={(张力,张平,计算机应用),(张力,张平,软件工程),(张力,
列基本的关系运算。关系代数中所有运算的操作数和运算结果都是
关系,运算的结果又可作为进一步运算的操作数,形成更复杂的关 系代数表达式。 熟悉“网上书店数据库”例子,见表2.3 2.4 2.5
2.3
2.3.1 基本的关系运算
1.选择( )
关系代数
选择运算的作用是从一个关系中找出满足指定条件的元组。 选择运算用字母 表示,选择条件作为 下标。 2.投影( )
分析: 学生×成绩
学生.学号 95001 95001 95001 95001 95001 姓名 李永 李永 李永 李永 李永 性别 男 男 男 男 男 年龄 20 20 20 20 20 所在系 计算机 计算机 计算机 计算机 计算机 成绩.学号 95001 95001 95001 95002 95002 课程号 1 2 3 2 3 成绩 92 85 88 90 80
D1×D2×D3={(数据结构,张三,9-117), (数据结构,张三,9-201), (数据结构,
张三,9-135), (数据结构,李四,9-117), ……, (算法,李四,9-135)}
每个元素称为一个元组。元素中的每一个值叫做一个分量 笛卡尔积可以表示为一个二维表。表中的每行对应一个元组,表中 的每列对应一个域。表中的每个单元格对应一个分量。如表2.1
第二章 关系数据模型
第一章
复 习
• 掌握数据库、DBMS、DBS等概念
• 了解数据管理的三个阶段:人工管理、文件系统、数据库技
术。
• 掌握数据库的5个主要特征:数据的结构化;高共享、低冗
余和大容量;可靠性高;安全性;数据独立性。 • 掌握数据模型的三个组成要素:数据结构、数据操作和数据 的约束条件。
在面向对象的数据模型中,最基 本的概念为对象和类。
数据结构简单,容易被初学者接 受,已得到广泛应用
第二章
一、单一的数据结构----关系
关系数据模型
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成
关系模型的数据结构非常单一。在关系模型中,现实世界的实体 以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据 的逻辑结构是一张二维表。 二、关系操作 关系模型中常用的关系操作包括:选择、投影、连接、查询、修 改等。
课程号
成绩
95001
95001 95001 95001 95001 95002 …… 95004 95004
例,试定义研究生关系。
解:若用graduate表示研究生关系名,包含姓名、导师和专业属性,则研究生 关系可以记为:graduate(姓名,导师,专业)
使用二维表表示为:
2.1 关系模型的数据结构
姓名 导师 专业
张力
李强 钱三
张平
张平 陈忠
计算机应用
计算机应用 软件工程
研究生graduate关系是name×mentor×speciality笛卡尔积中取出的一个子集,对 于graduate关系来说,笛卡尔积中许多元组是无意义的,因此graduate关系仅从
解:若研究生的姓名、导师和专业域分别使用name、mentor和speciality来表示, 其域的取值及表示方法为: name={张力,李强,钱三} mentor={张平,陈忠} speciality={计算机应用,软件工程}
2.1 关系模型的数据结构
2. 笛卡尔积:
给定一组域D1,D2,…,Dn,这些域中可以有相同的。则D1,D2,…Dn的笛卡尔积为:
第二章
关系数据模型
20世纪60年代末是数据库技术的萌芽时期,这期间研究
者提出了很多种数据模型。比较流行的数据模型有四种:
层次模型 网状模型 关系模型 面向对象模型
第二章
层次模型
关系数据模型
网状模型
用有向图结构表示实体类型及 数据库系统中最早出现的数据模型。 实体之间联系的数据模型。记 用树形结构来表示各类实体以及实 录之间M:N联系容易实现,查 体间的1:N联系。 现实世界中 询效率较高,但编写应用程序 事务之间的 较复杂,用户不容易使用。 根结点 R1
2.2 关系模型的数据完整性
关系的完整性规则是对关系的某种约束条件。
关系模型中可以有三类完整性约束:实体完整性、参照完整性 和用户定义的完整性。
1. 实体完整性 要求对于任何一个关系,构成主键的属性值惟一并且不能为空。
2.2 关系模型的数据完整性
2. 参照完整性
若一个关系含有外键,则构成外键的属性值要么指向被引用表的 某一主键的值,要么全部为空。
例如:
学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名) 则根据参照完整性,学生关系中的“专业号”属性,只能取下面两类 值:
空值,表示尚未给该学生分配专业
非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示 该
2.2 关系模型的数据完整性
试分析课本图2.1
2.2 关系模型的数据完整性
三、关系的三类完整性约束
实体完整性、参照完整性和用户定义的完整性。
2.1 关系模型的数据结构
如整数域是所有整数的集合,
2.1.1 关系的数学定义
1. 域:是一组具有相同数据类型的值的集合。
实数域是所有实数的集合,
性别的域是{男,女}等。
例:若有三名研究生,分别是张力、李强和钱三。其中张力和李强的导师是张平, 专业方向是计算机应用;钱三的导师是陈忠,专业方向是软件工程。写出研究生 的姓名、导师和专业的域。
95002
95003 95004
刘晨
王敏 张力

女 男
19
18 19
信息
相关主题