- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第3章关系数据库与SQL语言
第3章关系数据库与SQL语言
3.1关系数据库的结构
3.2关系代数
3.3扩展的关系代数
3.4数据库的修改操作
3.5SQL
3.6查询优化技术
习题
第3章关系数据库与SQL语言
关系模型是目前最重要的一种数据模型。关系数据库系统
是以关系模型作为数据组织、管理方式的数据库管理系统。
1970年美国IBM公司SanJose研究室的研究员E.F.Codd首次提出
了关系模型,开创了数据库关系方法和关系代数理论的研究领
域,为关系数据库技术奠定了理论基础。
20世纪80年代以来,计算机软件厂商纷纷推出各自的数据
库管理系统,其中涌现出许多性能良好的商用关系数据库管理
系统(简称RDBMS),如著名的SQLServer、DB2、Oracle、
Ingres、Sybase和Informix等关系数据库管理系统。随着关系数
据库管理系统的发展和成熟,数据库的应用领域迅速扩大。可
以说,目前所有主流的数据库应用领域都离不开关系数据库管
第3章关系数据库与SQL语言
理系统,而非关系模型的数据库管理系统的产品也大都支持关
系模型或扩展关系模型。
本章先学习关系模型的理论基础,了解关系模型的数据表
示方法;然后介绍关系数据库查询语言。
第3章关系数据库与SQL语言
3.1关系数据库的结构
在关系模型中,无论是实体还是实体之间的联系均由单一
的结构类型——关系(表)来表示。关系模型是建立在关系代数
基础上的面向集合操作的数据模型,这里将从集合论角度给出
关系模型的形式化定义。关系数据库是若干表的集合,每个表
有唯一的名字。表的每一行数据代表现实世界的一个实体或者
一个关联。一个表就是一个实体集或一个关联集。
3.1.1基本关系结构
首先通过一个超市销售系统的实例介绍关系模型。表3.1给
出了超市销售系统的“营业员”表,其中存放所有营业员的信
息。该表有3列:工号、姓名和出生年月,每一列称为一个属
性。
第3章关系数据库与SQL语言
每个属性对应一个定义取值范围的集合,称为该属性的域。例
如,属性“姓名”的域是长度为4个汉字的字符串的集合。如果
用D1表示营业员工号的域,用D2表示营业员姓名的域,用D3表
示营业员出生年月的域。“营业员”表的每一行都是一个三元
组
(v1,v2,v3),其中v1是营业员工号(v1在域D1中),v2是营业员姓
名(v2在域D2中),v3是营业员出生年月(v3在域D3中)。通常,一
个超市销售系统的“营业员”表是集合D1×D2×D3的一个有实
际意义的子集。一般地说,有n个属性的表是D1×D2×…×Dn-1
× Dn的一个子集,D1× D2×…×Dn-1×Dn在数学上定义为域D1、
D2、…、Dn-1、Dn上的笛卡尔积。
关系就是定义在一系列域上的笛卡尔积的子集。可见,表
实际上就是关系,因此可以用数学名词关系和元组来代替表和
行。“营业员”表也可以称为“营业员”关系。元组变量就是
代表元组的变量,即存放关系的一个元组的变量。
第3章关系数据库与SQL语言
表3.1“营业员”
表
第3章关系数据库与SQL语言
如表3.1所示,“营业员”关系中共有8个元组。设元组变
量t指向关系中的第一个元组,那么t [工号] 表示t在“工号”属
性上的值。当前t [工号] 的值是“001”,t [姓名] 的值是“金
文”。也可以用t [1] 来表示元组t的第一个属性(工号)上的值,
t [2] 表示元组t的第二个属性上的值,等等。因为关系是元组的
集合,所以可以用数学上tR表示元组t在关系R中。
由于关系是元组的集合,所以元组在关系中出现的顺序是
无关紧要的。表3.2和表3.1所表示的关系是一样的,因为它们
是包含相同元组的集。
第3章关系数据库与SQL语言
表3.2具有无序元组的“营业员”关系
第3章关系数据库与SQL语言
对于所有关系R,要求它的每个属性都是原子的。如果某
个属性是不可分
文档评论(0)