数据库系统概念-第3章关系数据.ppt





《数据库系统概念-第3章关系数据.ppt》由会员分享,可在线阅读,更多相关《数据库系统概念-第3章关系数据.ppt(97页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库系统教程第3章 关系数据库1第第3 3章章 关系数据库关系数据库3.1 3.1 关系数据模型关系数据模型3.2 3.2 基本术语与形式化定义基本术语与形式化定义3.3 3.3 完整性约束完整性约束3.4 3.4 关系代数关系代数*23.1 3.1 关系数据模型关系数据模型o关系数据模型源于数学关系数据模型源于数学。o19701970年年IBMIBM研研究究员员博博士士在在美美国国计计算算机机学学会会会会刊刊(Communication Communication of of the the ACMACM)上上发发表表了了题题为为“A A Relational Relational Mod
2、el Model of of Data Data for for Shared Shared Data Data BanksBanks”的的论论文文,开创了数据库系统的新纪元。开创了数据库系统的新纪元。*3关系模型关系模型o关系模型由三部分组成关系模型由三部分组成:n数据结构数据结构n操作集合操作集合n完整性约束完整性约束o这三部分也称为这三部分也称为关系模型三要素关系模型三要素。*43.1.1 3.1.1 数据结构数据结构o关系数据模型用二维表来组织数据关系数据模型用二维表来组织数据。o这个二维表在关系数据库中就称为这个二维表在关系数据库中就称为关关系系。o关系数据库就是表或者说是关系的集关
3、系数据库就是表或者说是关系的集合。合。o表是逻辑结构表是逻辑结构而不是物理结构而不是物理结构。*5学生关系模型学生关系模型*6学学 号号姓姓 名名年年 龄龄性性 别别所所 在在 系系0811101李勇李勇21男男计算机系计算机系0811102刘晨刘晨20男男计算机系计算机系0811103王敏王敏20女女计算机系计算机系0821101张立张立20男男信息管理系信息管理系0821102吴宾吴宾19女女信息管理系信息管理系学生3.1.2 3.1.2 数据操作数据操作o关系数据模型中的操作包括:关系数据模型中的操作包括:o传统的关系运算传统的关系运算:并、交、差、广义笛:并、交、差、广义笛卡尔乘积;卡
4、尔乘积;o专门的关系运算专门的关系运算:选择、投影、连接、:选择、投影、连接、除除;o有关的数据操作有关的数据操作:查询、插入、删除:查询、插入、删除、更改。更改。*7操作特点操作特点o关系模型中操作的数据以及查询的结关系模型中操作的数据以及查询的结果都是完整的果都是完整的集合集合(或表),(或表),o这些集合可以只包含一行数据,也可这些集合可以只包含一行数据,也可以是不包含任何数据的空集合。以是不包含任何数据的空集合。o非关系模型数据库中典型的操作是一非关系模型数据库中典型的操作是一次一行或一次一个记录。次一行或一次一个记录。o集合处理能力集合处理能力是关系系统区别于其他是关系系统区别于其他
5、系统的重要特征。系统的重要特征。*8关系模型与非关系模型区别关系模型与非关系模型区别o在在非关系模型非关系模型中,各个数据记录之间是通中,各个数据记录之间是通过指针等方式连接的,当要定位到某条记过指针等方式连接的,当要定位到某条记录时,需要用户自己按指针的链接方向逐录时,需要用户自己按指针的链接方向逐层查找层查找导航导航。o在在关系模型关系模型中,用户只需指定数据的定位中,用户只需指定数据的定位条件,数据库管理系统就可以自动定位到条件,数据库管理系统就可以自动定位到该数据记录该数据记录非非导航导航。*9层次模型查找示例层次模型查找示例*10关系模型查找示例关系模型查找示例*11学学 号号姓姓
6、名名年年 龄龄性性 别别所所 在在 系系0811101李勇李勇21男男计算机系计算机系0811102刘晨刘晨20男男计算机系计算机系0811103王敏王敏20女女计算机系计算机系0821101张立张立20男男信息管理系信息管理系0821102吴宾吴宾19女女信息管理系信息管理系0821101张立张立20男男信息管理系信息管理系关系操作关系操作o关系模型的关系模型的数据操作数据操作主要包括:主要包括:n查询查询、插入插入、删除删除、更改更改o关系数据库中的信息表示方式关系数据库中的信息表示方式:表中表中的行列位置有明确的值的行列位置有明确的值逻辑层。逻辑层。*12关系数据库的物理层关系数据库的物
7、理层o关系数据库在物理层也使用指针关系数据库在物理层也使用指针,但,但这些这些物理层的存储细节对用户来说都物理层的存储细节对用户来说都是不可见的是不可见的,用户所看到的物理层实,用户所看到的物理层实际上就是存放数据的数据库文件际上就是存放数据的数据库文件:n文件名文件名n存放位置存放位置*13关系语言特点关系语言特点o关系操作是通过关系语言实现的,关关系操作是通过关系语言实现的,关系语言的特点是系语言的特点是高度非过程化高度非过程化:n用户不必关心数据的存取路径和存取用户不必关心数据的存取路径和存取过程,只需要提出数据请求,过程,只需要提出数据请求,DBMSDBMS会会自动完成用户请求的操作;
8、自动完成用户请求的操作;n用户没有必要编写程序代码来实现对用户没有必要编写程序代码来实现对数据的重复操作。数据的重复操作。*143.1.3 3.1.3 数据完整性约束数据完整性约束o数据的完整性是指保证数据正确性的数据的完整性是指保证数据正确性的特征。特征。o数据完整性数据完整性是一种是一种语义概念语义概念,包括:,包括:n与现实世界中应用需求的数据的相容与现实世界中应用需求的数据的相容性和正确性;性和正确性;n数据库内数据库内数据之间的数据之间的相容性和正确性相容性和正确性。*15数据完整性数据完整性o数据完整性由一组完整性规则定义,数据完整性由一组完整性规则定义,关系模型的完整性规则是对关
9、系的某关系模型的完整性规则是对关系的某种约束条件。种约束条件。o在关系数据模型中将数据完整性分为在关系数据模型中将数据完整性分为三类三类:n实体完整性实体完整性n参照完整性参照完整性(引用完整性)(引用完整性)n用户定义的完整性用户定义的完整性*163.2 3.2 关系模型的基本术语与形式化定义关系模型的基本术语与形式化定义o3.2.1 3.2.1 基本术语基本术语o3.2.2 3.2.2 形式化定义形式化定义*173.2.1 3.2.1 基本术语基本术语o关系关系:关系就是二维表,二维表的名关系就是二维表,二维表的名字就是关系的名字。字就是关系的名字。o属性属性:二维表中的二维表中的每个列每
10、个列就称为一个就称为一个属性(或叫字段),属性(或叫字段),n每个属性有一个名字每个属性有一个名字属性名属性名n某一列的值某一列的值属性值属性值n列的个数列的个数关系的元数关系的元数。如果一个二。如果一个二维表有维表有n n个列,则称其为个列,则称其为n n元关系。元关系。*18基本术语基本术语(续)(续)o值域值域:二维表中属性的取值范围称为二维表中属性的取值范围称为值域。值域。o例如例如:n“年龄年龄”的取值为大于的取值为大于0 0的整数的整数n“性别性别”列的取值为列的取值为 男男,女女*19基本术语基本术语(续)(续)o元组元组:二维表中的一行数据称为一个二维表中的一行数据称为一个元组
11、(记录值)元组(记录值)。*20学学 号号姓姓 名名年年 龄龄性性 别别所所 在在 系系0811101李勇李勇21男男计算机系计算机系0811102刘晨刘晨20男男计算机系计算机系0811103王敏王敏20女女计算机系计算机系0821101张立张立20男男信息管理系信息管理系0821102吴宾吴宾19女女信息管理系信息管理系5 5个个元组元组基本术语基本术语(续)(续)o分量分量:元组中的每一个属性值称为元:元组中的每一个属性值称为元组的一个分量组的一个分量。on n元关系的每个元组有元关系的每个元组有n n个分量。个分量。o例:例:(08111010811101,李勇,李勇,2121,男,计
12、,男,计算机系)算机系),有,有5 5个分量个分量*21基本术语基本术语(续)(续)o关系模式关系模式:二维表的结构称为关系模二维表的结构称为关系模式式。o设有关系名为设有关系名为R R,属性分别为,属性分别为A A1 1,A A2 2,A An n,则关系模式可以表示为:,则关系模式可以表示为:R R(A A1 1,A A2 2,A An n)o如果将关系模式理解为数据类型,则如果将关系模式理解为数据类型,则关系就是该数据类型的一个具体值。关系就是该数据类型的一个具体值。*22基本术语基本术语(续)(续)o关系数据库关系数据库:对应于一个关系模型的对应于一个关系模型的所有关系的集合称为关系数
13、据库。所有关系的集合称为关系数据库。o候选键候选键:如果一个属性或属性集的值如果一个属性或属性集的值能够惟一标识一个关系的元组而又不能够惟一标识一个关系的元组而又不包含多余的属性,则称该属性或属性包含多余的属性,则称该属性或属性集为候选键。集为候选键。*23基本术语基本术语(续)(续)o主键主键:当一个关系中有多个候选键时,当一个关系中有多个候选键时,从中选择一个作为主键。从中选择一个作为主键。o每个关系只能有一个主键。每个关系只能有一个主键。o主键也称为主键也称为主码主码或或主关键字主关键字,用于惟,用于惟一地确定一个元组。一地确定一个元组。o主键可以由一个属性组成,也可以由主键可以由一个属
14、性组成,也可以由多个属性共同组成。多个属性共同组成。*24主键示例主键示例o学生(学号,姓名,性别,年龄,所学生(学号,姓名,性别,年龄,所在系)在系)*25学号学号o选课选课(学号,(学号,课程号课程号,成绩成绩)学号,学号,课程号课程号o选课选课(学号(学号,课程号课程号,考试次数考试次数,成绩成绩)学号学号,课程号课程号,考试次数考试次数基本术语基本术语(续)(续)o主属性主属性:包含在任一候选键中的属性包含在任一候选键中的属性称为主属性。称为主属性。o非主属性非主属性:不包含在任一候选键中的不包含在任一候选键中的属性称为非主属性。属性称为非主属性。o选课选课(学号,(学号,课程号课程号
15、,成绩成绩)*26学号,学号,课程号课程号成绩成绩术语对比术语对比*27关系术语关系术语一般的表格术语一般的表格术语关系名关系名表名表名关系模式关系模式表头(表所含列的描述)表头(表所含列的描述)关系关系(一张)二维表(一张)二维表元组元组记录或行记录或行属性属性列列分量分量一条记录中某个列的值一条记录中某个列的值3.2.2 3.2.2 形式化定义形式化定义o定义定义笛卡尔积笛卡尔积:设:设D D1 1,D D2 2,D Dn n为任意为任意集合,定义笛卡尔积集合,定义笛卡尔积D D1 1,D D2 2,D Dn n为:为:D D1 1 D D2 2 D Dn n (d(d1 1,d d2 2
16、,d dn n)|d)|di i D Di i,i i1 1,2 2,n n o其中每一个元素(其中每一个元素(d d1 1,d d2 2,d dn n)称为)称为一个一个n n元组元组,简称元组。,简称元组。o元组中每一个元组中每一个d di i称为是一个称为是一个分量分量。*28笛卡尔积示例笛卡尔积示例oD D1 1 计算机系,信息管理系计算机系,信息管理系 oD D2 2 李勇,刘晨,吴宾李勇,刘晨,吴宾 oD D3 3 男,女男,女 o则则D D1 1 D D2 2 D D3 3笛卡尔积为:笛卡尔积为:(计算机系,李勇,男),(计算机系,李勇,女),(计算机系,李勇,男),(计算机系,
17、李勇,女),(计算机系,刘晨,男),(计算机系,刘晨,女),(计算机系,刘晨,男),(计算机系,刘晨,女),(计算机系,吴宾,男),(计算机系,吴宾,女),(计算机系,吴宾,男),(计算机系,吴宾,女),(信息管理系,李勇,男),(信息管理系,李勇,女),(信息管理系,李勇,男),(信息管理系,李勇,女),(信息管理系,刘晨,男),(信息管理系,刘晨,女),(信息管理系,刘晨,男),(信息管理系,刘晨,女),(信息管理系,吴宾,男),(信息管理系,吴宾,女)(信息管理系,吴宾,男),(信息管理系,吴宾,女)*29笛卡尔乘积实际就是二维表笛卡尔乘积实际就是二维表*30关系的形式化定义关系的形式化
18、定义o笛卡尔积笛卡尔积D D1 1,D D2 2,D Dn n的任意一个子集的任意一个子集称为称为D D1 1,D D2 2,D Dn n上的一个上的一个n n元关系元关系。o形式化的关系定义同样可以把关系看成二形式化的关系定义同样可以把关系看成二维表,给表中的每个列取一个名字,称为维表,给表中的每个列取一个名字,称为属性属性。on n元关系有元关系有n n个属性,一个关系中的属性的个属性,一个关系中的属性的名字必须是唯一的。名字必须是唯一的。o属性属性D Di i的取值范围(的取值范围(i i1 1,2 2,n n)称)称为该属性的为该属性的值域值域。*31示例示例*32所在系所在系姓名姓名
19、性性别别计算机系计算机系李勇李勇男男计算机系计算机系刘晨刘晨男男计算机系计算机系吴宾吴宾女女RR(计算机系,李勇,男计算机系,李勇,男),(计算机系,刘晨,男计算机系,刘晨,男),(计算机计算机系,吴宾,女系,吴宾,女)对关系的限定对关系的限定o关系中的每个分量都是不可再分的最小属性关系中的每个分量都是不可再分的最小属性o表中列的数据类型是固定的,即列中的每个表中列的数据类型是固定的,即列中的每个分量都是同类型的数据,来自相同的值域。分量都是同类型的数据,来自相同的值域。o不同列的数据可以取自相同的值域。不同列的数据可以取自相同的值域。o关系表中列的顺序不重要关系表中列的顺序不重要。o关系表行
20、的顺序也不重要关系表行的顺序也不重要。o同一个关系中的元组不能重复同一个关系中的元组不能重复。*333.3 3.3 完整性约束完整性约束o数据完整性是指数据库中存储的数据数据完整性是指数据库中存储的数据是有意义的或正确的,和现实世界相是有意义的或正确的,和现实世界相符。符。o3.3.1 3.3.1 实体完整性实体完整性o3.3.2 3.3.2 参照完整性参照完整性o3.3.3 3.3.3 用户定义的完整性用户定义的完整性*343.3.1 3.3.1 实体完整性实体完整性o保证关系中的每个元组都是可识别的保证关系中的每个元组都是可识别的和惟一的。和惟一的。o指关系数据库中所有的表都指关系数据库中
21、所有的表都必须有主必须有主键键,而且表中不允许存在如下记录:,而且表中不允许存在如下记录:n无主键值的记录。无主键值的记录。n主键值相同的记录。主键值相同的记录。*35无主键值的情况无主键值的情况*36学学 号号姓姓 名名年年 龄龄性性 别别所所 在在 系系李勇李勇21男男计算机系计算机系0811102刘晨刘晨20男男计算机系计算机系0811103王敏王敏20女女计算机系计算机系李勇李勇21男男计算机系计算机系0821101张立张立20男男信息管理系信息管理系0821102吴宾吴宾19女女信息管理系信息管理系?主键值重复情况主键值重复情况*37*37学学 号号姓姓 名名年年 龄龄性性 别别所所
22、 在在 系系0811101李勇李勇21男男计算机系计算机系0811102刘晨刘晨20男男计算机系计算机系0811103王敏王敏20女女计算机系计算机系0811101李勇李勇21男男计算机系计算机系0821101张立张立20男男信息管理系信息管理系0821102吴宾吴宾19女女信息管理系信息管理系?主键作用主键作用o当在表中定义了主键时,数据库管理当在表中定义了主键时,数据库管理系统会自动保证数据的实体完整性,系统会自动保证数据的实体完整性,即保证不允许存在主键值为空的记录即保证不允许存在主键值为空的记录以及主键值重复的记录。以及主键值重复的记录。o空值空值是特殊的标量常数,它代表未定是特殊的标
23、量常数,它代表未定义的或者有意义但目前还处于未知状义的或者有意义但目前还处于未知状态的值。态的值。*383.3.2 3.3.2 参照完整性参照完整性o也称为也称为引用完整性引用完整性。o现实世界中的实体之间往往存在着某种联现实世界中的实体之间往往存在着某种联系,在关系模型中,实体以及实体之间的系,在关系模型中,实体以及实体之间的联系都是用关系来表示的,这样就自然存联系都是用关系来表示的,这样就自然存在着关系与关系之间的引用。在着关系与关系之间的引用。o参照完整性就是描述实体之间的联系的。参照完整性就是描述实体之间的联系的。o参照完整性一般是指多个实体或关系之间参照完整性一般是指多个实体或关系之
24、间的关联关系的关联关系。*39示例示例1 1 学生学生(学号学号,姓名,班号,性别,姓名,班号,性别)班班(班号班号,所属专业,人数,所属专业,人数)*40班号班号班号班号示例示例2 2学生(学生(学号学号,姓名,性别,专业),姓名,性别,专业)选课(选课(学号学号,课程号课程号,成绩),成绩)课程(课程(课程号课程号,课程名,学分),课程名,学分)*41学号学号学号学号课程号课程号课程号课程号示例示例3 3职工职工(职工号职工号,姓名,直接领导职工号,姓名,直接领导职工号)*42直接领导直接领导职工号职工号职工号职工号?外键定义外键定义o设设F F是关系是关系R R的一个或一组属性,如果的一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概念 关系 数据

限制150内