课关系模型和数据库设计步骤
域:一个属性的取值范围叫做一个域。
元 组 : 二 维 表 中 水 平 方 向 的 行 称 为 元 组 。 在 Access
中,被称为记录。
码(又称为关键字):二维表中的某个属性,若它
的值唯一地标识了一个元组,则称该属性为侯选码。 若一个关系有多个侯选码,则选定其中一个为主码, 这个属性称为主属性。
S
B
C
D
2
3
2
5
6
3
σB=5(S)
B
C
D
5
6
3
9
8
5
找年龄不小于20的男学生。
(2)投影(Project)
从关系中挑选若干属性组成新的关系。投 影记为π X(R),其中R为关系,x为一组属 性名或属性序号组,属性序号是对应属性 在关系中的顺序编号。
R
A
B
C
1
2
3
4
5
6
7
8
9
πA,C(R)
A
C
1
3
1.4.2 分析欲建立的数据库
建立“教学信息管理”数据库的目的是为 了实现教学信息管理,对教师、学生、课 程及教室等相关数据进行管理。
1.4.3 分析数据库中的表
为了能更合理地确定出DB中应包含的表,应 按下列原则对信息进行分类。 (1)若每条信息只保存在一个表中,只需 在一处进行更新。这样效率高,同时也消除 了包含不同信息的重复项的可能性。 (2)每个表应该只包含关于一个主题的信 息,可以独立于其他主题来维护每个主题的 信息。
…
82030
整数
字符串
8 男
王英 17 女
…
……
系 计算机 计算机
…
属性名
年级
2
元
1
组
…
行
()
李强 17 男 物理
1
属性列
关系名:学生登记表 关系模式:学生(学号,姓名,年龄...)
关系的性质
列是同质的; 关系中不允许出现同名属性; 任意两列元组不能完全相同; 所有属性都是原子。
第1章 数据库基础知识
1.1
数据库系统概述
1.2
数据模型
1.3
关系数据模型
1.4
数据库设计基础
1.3 关系数据模型
关系相关概念 关系运算 关系的完整性
1.3.1 关系数据库的基本概念
关系:一个关系就是一张二维表,每个关 系有一个关系名。在Access 中,一个关系就 是一个表对象。
属性:二维表中垂直方向的列称为属性。 在Access 中,被称为字段。
(3)确定需要的字段。确定在各表中存储 数据的内容,即确立各表的结构。
(4)确定各表之间的关系。仔细研究各表 之间的关系,确定各表之间的数据应该如何 进行联接。
(5)改进整个设计。可以在各表中加入一 些数据作为例子,然后对这些例子进行操作, 看是否能得到希望的结果。如果发现设计不 完备,可以对设计做一些调整。
参照完整性
又称为引用完整性。参照完整性保证 主表(被参照表)中的数据与从表(参照 表)中数据的一致性。
外键的取值要么去主键已经存在的值, 要么取空值。
用户定义完整性
用户定义完整性是指用户自己定义的 不属于其他完整性的特定规则。
比如: 性别只能是“男”或“女”; 年龄只能取15到30之间的整数值。
1.3.2 关系运算
1.传统的集合运算
(1)并(Union) (2)差(Difference) (3)交(Intersection)
(1)并(Union)
关系R和关系S的所有元组合并,再删除重 复的元组,组成的一个新关系称为R和S的 并,记为R∪S。
R
A
B
a
d
b
a
c
c
S
A
B
d
a
b
a
d
c
R∪S
A
B
R
A
B
a
d
b
a
c
c
S
A
B
d
a
b
a
d
c
R∩S
A
B
b
a
2.专门的关系运算
(1)选择(Select) (2)投影(Project) (3)联接(Join)
(1)选择(Select)
从关系中找出满足给定条件的所有元组。
其中的条件是以逻辑表达式给出的,该逻
辑表示的值为真时的元组被选取。选择运
算记为σ F(R)。
4
6
7
9
示例:找001号学生所选修的课程号。
(3)联接(Join)
连接是将两个关系的属性名拼接成一个更 宽的关系,生成的新关系中包含满足连接 条件的元组。运算过程是通过连接条件来 控制的,连接是对关系的结合。
等值联接
是从关系R和S的笛卡儿积中选取指定两个 属性值相等的元组,则称为“等值连接”
R
ABC 123 456 789
关系模式:是对关系的描述,它包括关系名、组成该
关系的属性名、属性到域的映像。通常简记为: 关系名(属性名1,属性名2,…,属性名n)
学生基本情况表的关系模式可记为:
Student(StudentID,Name,Sex,Birthday,Entrancescore)
主码
学号
82021
关 82022
系
S
BCD 232 563 985
R S [ 3][ 2 ] ABCBCD 123232 456563
自然联接
是除去重复属性的等值连接,它是连接运 算的一个特例,是最常用的连接运算。 自然连接记为 R S ,在连接运算中, 同名属性一般都是主外关键字。
R
ABC 123 456 789
S
d
a
b
a
c
c
d
a
d
c
(2)差(Difference)
关系R和关系S的的差是由属于R而不属于S的所 有元组组成的集合,即关系R中删除与S关系中 相同的元组,组成一个新关系,记为R-S。
R
A
B
a
d
b
a
c
c
S
A
B
d
a
b
a
d
c
R-S
A
B
a
d
c
c
(3)交(Intersection)
关系R和关系S的交是由既属于R又属于S的 元组组成的集合,即关系R与S中取相同的 元组,组成一个新关系,记为R∩S。
BCD 232 563 985
R S
ABCD 1232 4563
1.3.3 关系的完整性
1.实体完整性(Entity Integrity) 2.参照完整性(Referential Integrity) 3.用户定义完整性(Definition Integrity)
实体完整性
又称行完整性,即数据库中的所有行 都是具有一个非空且没有重复的主键值, 这样就确保数据库中所代表的任何事物均 不存在重复的条目。
1.4 数据库设计基础
数据库设计分为以下六个标准步骤: (1)需求分析阶段 (2)概念设计阶段 (3)逻辑设计阶段 (4)数据库物理设计阶段 (5)应用程序编码、调试、试运行阶段 (6)数据库的运行维护阶段
1.4.1 数据库设计的一般步骤
设计数据库可按以下步骤进行。 (1)分析数据需求。确定数据库要存储哪些 数据。 (2)确定需要的表。一旦明确了数据库需要 存储的数据和所要实现的功能,就可以将数 据分解为不同的相关主题,在数据库中为每 个主题建立一个表。