- 1、本文档共230页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机软件基础[孟彩霞]第7章关系数据库系统
第7章 关系数据库系统 ;7.1 关系模型概述; 2.关系操作
关系模型中常用的关系操作包括:选择、投影、连接、除、并、交、差等查询操作,以及增、删、改等更新操作两大部分。查询的表达能力是其中最主要的部分。
关系操作的特点是集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集合(set-at-a-time)的方式。相应地,非关系数据模型的数据操作方式则为一次一记录(record-at-a-time)的方式。
; 早期的关系操作能力通常用代数方法和逻辑方法来表示,分别称为关系代数和关系演算。关系代数是用对关系的运算来表达查询要求的方式;关系演算是用谓词来表达查询要求的方式。关系演算又可按谓词变元的基本对象是元组变量还是域变量分为元组关系演算和域关系演算。关系代数、元组关系演算和域关系演算这三种语言在表达能力上是完全等价的。稍后只对关系代数进行阐述。
; 关系模型给出了关系操作的能力和特点,关系操作通过关系语言实现。关系语言是一种高度非过程化的语言,用户不必请求DBA为其建立特殊的存取路径,也不必求助于循环结构就可以完成数据操作。
SQL(Structured Query Language)是一种介于关系代数和关系演算之间的语言。SQL不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是集查询、DDL、DML和DCL于一体的关系数据语言。它充分体现了关系数据语言的特点和优点,是关系数据库的标准语言。
;因此,关系数据语言可以分为三类:; 3.关系的完整性约束
数据库的数据完整性是指数据库中数据的正确性和相容性。例如,学生的学号必须惟一,性别只能是男或女,学生所在的系必须是学校已开设的系,等等。可见,数据库中数据是否具有完整性关系到数据库系统能否真实地反映现实世界,因此,数据库的数据完整性是十分重要的。; 数据完整性由完整性规则来定义,关系模型的完整性规则是对关系的某种约束条件。关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持;而用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。
完整性约束由DBMS提供定义手段,并由DBMS的完整性检查机制负责检查。 ;7.2 关系数据结构及形式化定义; 7.2.1 关系的形式化定义
1.域(Domain)
域是一组具有相同数据类型的值的集合。例如:
D1=姓名集合(NAME)= {丁中,王芳,李兵}
D2=性别集合(SEX)= {男,女}
D3=年龄集合(AGE)= {17,18,19}
以上共给出了三个域,其中D1,D3各有3个值,称它们的基数(Cardinal Number)为3;D2只含2个值,故其基数为2。
; 2.笛卡尔乘积(Cartesian Product)
按照集合论的观点,上述三个域D1,D2,D3的笛卡尔乘积可以表示为: ;?D1×D2×D3 = {(丁中,男,17),(丁中,男,18),
(丁中,男,19),(丁中,女,17),
(丁中,女,18),(丁中,女,19),
(王芳,男,17),(王芳,男,18),
(王芳,男,19),(王芳,女,17),
(王芳,女,18),(王芳,女,19),
(李兵,男,17),(李兵,男,18),
(李兵,男,19),(李兵,女,17),
(李兵,女,18),(李兵,女,19)}; 由此可见,笛卡尔乘积也是一个集合。它的每一个元素都用圆括号括起,称之为元组。本例中的笛卡尔乘积共有18个元组,或者说这个乘积的基数为18。显然,笛卡尔乘积的基数等于构成这个笛卡尔乘积的所有域的基数的累乘乘积,即
m = (本例中m = 3×2×3)
其中: m?——?笛卡尔乘积的基数
mi?——?第i个域的基数
文档评论(0)