(第二讲)数据库(第二章:关系数据库的基本概念)ppt课件

上传人:我*** 文档编号:148823846 上传时间:2020-10-22 格式:PPT 页数:32 大小:290KB
返回 下载 相关 举报
(第二讲)数据库(第二章:关系数据库的基本概念)ppt课件_第1页
第1页 / 共32页
(第二讲)数据库(第二章:关系数据库的基本概念)ppt课件_第2页
第2页 / 共32页
(第二讲)数据库(第二章:关系数据库的基本概念)ppt课件_第3页
第3页 / 共32页
(第二讲)数据库(第二章:关系数据库的基本概念)ppt课件_第4页
第4页 / 共32页
(第二讲)数据库(第二章:关系数据库的基本概念)ppt课件_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《(第二讲)数据库(第二章:关系数据库的基本概念)ppt课件》由会员分享,可在线阅读,更多相关《(第二讲)数据库(第二章:关系数据库的基本概念)ppt课件(32页珍藏版)》请在金锄头文库上搜索。

1、数据原理及应用,第二章: 关系数据库的基本概念,本章教学内容,关系数据结构 表的概念 表的主键和外键 关系的完整性约束 关系模型规范化* 关系数据库中的对象(9个) 样例数据库,第二章 关系数据库的基本概念,关系就是关系数据模型的数据结构,关系模型中数据的逻辑结构就是一张二维表。关系模型是建立在集合代数理论上的。,2.1 关系数据结构,域:是一组具有相同数据类型的值的集合。 例如:自然数、整数、实数、日期、字符串等都是域。 笛卡尔积:给定一组域 其笛卡尔积为:,几个定义:,其中:每一个元素 叫作一个元组或记录。 元素的每一个值 叫作一个分量。关系模型中要求每一个分量必须属于某种基本数据类型,如

2、整形或字符串型。,关系:笛卡尔积的子集就是一个关系。 这里R表示关系的名字,n是关系的目或度。,例: 我们给出如下三个域: D1 =导师集合。导师=王新,赵阳 D2=专业集合。专业=计算机,通信 D3=学生集合。学生=(张三,101),(李四,201) 则笛卡尔积为: D1XD2XD3=(王新,计算机,张三,101), (王新,计算机,李四,201), (王新,通信,张三,101), (王新,通信,李四,201), (赵阳,计算机,张三,101), (赵阳,计算机,李四,201), (赵阳,通信,张三,101), (赵阳,通信,李四,201) ,笛卡尔积可表示成一个二维表。表中的每行对应一个元

3、组,表中的每列的值来自一个域。,一般来说,笛卡尔积是没有实际意义的。 因为: 专业与导师是一对多的关系(一个专业下可以有多个导师); 导师与学生是一对多关系(一个导师可以带多名学生,); 学生与学号是一对一关系(一个学生只有一个学号)。 因此,表中的一个子集才是有意义的,才可以表示导师与学生的关系,将该关系取名为TS。 表示为: TS(导师,专业,学生姓名,学号),学号不会重,值唯一,可作为主码。,一、表的概念,表是数据库中的基本对象。,例:学生基本信息表(Stu_Tab),关系数据库是表(table)的集合,每个表有惟一的名字。,表中一行代表的是一系列值之间的联系。一个表就是这种联系的一个集

4、合,表这个概念和数学上的关系这个概念是密切相关的,这也正是关系数据库名称的由来。,表的结构:该表有五个列首, 我们称这些列首为属性(attribute),每个属性有一 个 允 许 的 值 的 集 合 , 称 为 该 属 性 的 域(domain)。例如,属性Sname的域是所有学生名称的集合。,用D1表示所有学号的集合,用D2表示所有学生姓名的集合,用D3表示学生性别的集合,D4表示所有学生年龄的集合,用D5表示所有的院系的集合 。,Stu_Tab的每一行都必须是一个五元组(v1, v2, v3,v4,v5),其中v1是学号(即v1在域D1中),v2是姓名(即v2在域D2中),而v3是性别(即

5、v3在域D3中)等。,Stu_Tab所包含的只是所有可能的行的一个子集。因此,Stu_Tab 是,D1D2D3D4D5,的一个子集。,一般地说,有n个属性的表是,D1D2D3Dn-1Dn,的一个子集。,由于表实际上是关系,我们用数学名词关系(relation)和元组(tuple)来代替表(table)和行(row)。,二、表的主键和外键,每个表应该定义一个主健用于唯一标识一行。,外健定义了表之间的约束关系,约束、主健、外健,外键:如果一个表的列是另外一个表的主键,则该列是外健。,主健:若关系中的某一属性值能唯一地标识表的一行。,2.关系的完整性约束,关系就是一张二维表,为了保证关系值的完整性,

6、往往要施加一些约束条件,叫.。有三类完整性约束:,2.2.1 实体完整性约束,例如:在关系S(学号,姓名,性别,年龄,专业)中,学号 作为主码,这个属性不能为空,必须有一个值。 实体完整性规则 :如果属性A是关系R的主码,则属性A不能取空值。 如果关系中的主码由多个属性组成,则这些属性都不能取空值。,现实世界中的实体是可区分的,有唯一性。,2.2.2 参照完整性约束,例2.1 学生实体和专业实体可用如下的关系来表示。 其中:下划线表示主码: 学生(学号,姓名,性别,年龄,专业编号) 专业(专业编号,专业名称) 这两个关系之间存在着属性的引用,即学生关系引用了专业关系中的主码“专业编号”。显然,

7、学生关系中的“专业编号”属性的取值应该是在专业关系中存在的专业实体,否则对应的学生就不是一个合法完整的学生实体。从这个例子可以看出学生关系中的专业编号属性的取值要参照专业关系中的专业编号这个属性的取值。所以,学生关系中的专业编号叫学生关系的外码。,现实世界中实体之间往往存在着某种联系,用外码描述实体间的联系。,参照完整性规则 :如果属性F是关系R的外码,它与关系S的主码K相对应,则对应R中的元组在F上的值必须满足:要么等于S中某个元组的主码值,要么为空值。 在例2.1中,学生关系中的每个学生的专业编号要么为空值(取空值意味着还没给该学生分配专业),要么等于专业关系中某个专业的专业编号,否则,就

8、违反了参照完整性规则。 参照完整性规则规定了主码与外码间的规则。,2.2.3 用户定义完整性约束,实体完整性约束和参照完整性约束是关系模型必须满足的约束条件,被称为两个不变性,由关系系统自动支持。用户定义完整性约束由用户定义,关系数据库系统负责实施。 用户定义完整性约束:是应用领域需要遵循的约束条件。不同的应用系统有一些特殊约束规则,通过用户定义完整性约束来实现。 例如,对于学生关系(学号,姓名,性别,年龄,专业编号)性别的取值只能是“男”或“女”,年龄必须是大于零的整数等。,2.3 关系模型规范化,关系模型规范化的目的是为了消除存储异常,减少数据冗余,保证数据的完整性和存储效率。,关系数据库

9、中的关系是要满足一定的规范化要求的。对于不同规范化程度,可以使用“范式”来衡量。满足最低要求的为I范式。在I范式的基础上,进一步满足一些要求的为II范式,以次类推。一般情况下,在实践中关系模式满足3范式就基本可以。,2.4 关系数据库中的对象,表是数据库中的基本对象。除此之外,数据库中还有其它对象。数据库是由许多对象组成的。,索引(Index):是根据数据库表列建立起来的顺序。它提供了快速访问数据的途径。 视图(View):由查询数据库表产生的,是一个虚拟的表,并不实际存放数据。它限制了用户能看到和修改的数据,用来控制不同用户对数据的访问权限,并能简化数据的显示,通过视图只显示那些需要的数据信

10、息。 规则(Rule):是对数据库表中数据信息的限制。它限定的是表的列 。创建好一个规则后,通过绑定才能够使用规则。一般情况下,规则可以绑定在数据列中。 缺省值(Default):当在表中创建列或插入数据时,对没有指定其具体值的列用事先设定好的值。 触发器(Trigger):是用户定义的SQL 命令的集合。当对一个表进行插入、更改、删除时,这组命令就会自动执行。 存储过程(Stored Procedure):是为完成特定的功能而汇集在一起的一组SQL 程序语句,经编译后存储在数据库中的SQL 程序。 数据库角色 (Database Role):是针对数据库用户而定义的组。 数据库用户(User

11、):是有权限访问数据库的人。,2.5 样例数据库,在SQL Server上创建一个STUDB数据库。 其中包括五个表对象:专业表、课程表、学生表、选课表和图书表。,1. 专业表(ZY_Tab):存放多个专业,主码为专业编号。,表2-3 专业表(ZY_Tab),2. 课程表(KC_Tab):存放多门课程,主码为课程编号。,表2-4 课程表(KC_Tab),3. 学生表(XS_Tab):记录学生的基本信息,主码为学号,通过专业编号参照专业表。,表2-5 学生表(XS_Tab),4. 选课表(XK_Tab):记录学生的选课结果,对于任意一门课,每个学生一年最多只能选一次,因此用课程编号、学号和年份联

12、合作为选课表的主码。选课表通过学号参照学生表,通过课程编号参照课程表。,表2-6 选课表(XK_Tab),5. 图书表(TS_Tab):记录图书馆中的藏书,每本书有一个编号,做为主码。,表2-7 图书表(TS_Tab),小 结 关系数据库是本书的重点。本章介绍了关系数据库的基本概念,包括关系模型的数据结构、关系的完整性约束、关系模型的规范化、及关系数据库的常用对象等概念。这些是后续章节的基础。,作 业,1. 什么是主码?它起什么作用? 2. 什么是外码?它起什么作用? 3. 已知: 学生表(XS_Tab)主键为学号,通过专业编号参照专业表。,学生表(XS_Tab):,专业表(ZY_Tab),要

13、求:,在Access数据库系统中创建一个数据库,并在所创建的数据库中创建学生表和专业表; 在工具菜单中选取关系命令,然后在学生表和专业表之间建立参照关系,实施参照完整性。如图所示:,4. 向以上专业表和学生表中插入2个专业和2个学生如下,验证完整性约束条件。 专业: (101,电子信息) (201,通信) 学生:(20010401001,张三,男,19,101) (20010501001,李四,女,18,201),5. 如果专业表只有(101,电子信息)和(201,通信)两个专业,学生表中有(20010401001,张三,男,19,101)和(20010501001,李四,女,18,201)两

14、个学生。,(1)向学生表中插入(20010401001,李四,男,19,101)、 (20010501002,李红,女,20,101)、 (20010501003,李红,女,0,201)、 (20010501004,王红,女,201)、 (20010501005,李红,女,20,101) (20010501006,李红,女,20,101)等6个 学生,哪些可以成功插入?哪些无法插入?为什么?,6. 下面的两个关系分别是职工信息表和部门表中 职工信息表(职工号、职工名、部门号、职务、工资) 部门表(部门号、部门名称) 职工号和部门号分别是两个表的主码。请说明哪个表应该参照哪个表?哪个属性为外码?,(2)向专业表中插入三行(三个元组):(,自动化)、(102,)、 (102,自动化)、和(202,自动化)。哪些可以成功插入? 哪些无法插入?为什么? (3)向学生表中插入一个学生:(20010501002,李四,女,0,101), 是否能成功?为什么? (4)在专业表中删除专业(101,电子信息),应该按照什么顺序完成? (5)想将通信专业的专业编号修改为401,应该怎样完成这个操作?,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号