计算机软件基础(孟彩霞)第7章关系数据库系统

计算机软件基础(孟彩霞)第7章关系数据库系统

ID:38302869

大小:1.42 MB

页数:230页

时间:2019-06-08

计算机软件基础(孟彩霞)第7章关系数据库系统_第1页
计算机软件基础(孟彩霞)第7章关系数据库系统_第2页
计算机软件基础(孟彩霞)第7章关系数据库系统_第3页
计算机软件基础(孟彩霞)第7章关系数据库系统_第4页
计算机软件基础(孟彩霞)第7章关系数据库系统_第5页
资源描述:

《计算机软件基础(孟彩霞)第7章关系数据库系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章关系数据库系统7.1关系模型概述7.2关系数据结构及形式化定义7.3关系的完整性7.4关系代数7.5关系数据库标准语言SQL习题7.1关系模型概述关系数据库系统是支持关系模型的数据库系统。关系模型由关系数据结构、关系操作集合和关系完整性约束3部分组成。1.关系数据结构关系模型的数据结构非常单一,只有关系。在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。2.关系操作关系模型中常用的关系操作包括:选择、投影、连接、除、并、交、差等查询操作,以及增、删、改等更新操作两大部分。查询的表达能力是其中最主

2、要的部分。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集合(set-at-a-time)的方式。相应地,非关系数据模型的数据操作方式则为一次一记录(record-at-a-time)的方式。早期的关系操作能力通常用代数方法和逻辑方法来表示,分别称为关系代数和关系演算。关系代数是用对关系的运算来表达查询要求的方式;关系演算是用谓词来表达查询要求的方式。关系演算又可按谓词变元的基本对象是元组变量还是域变量分为元组关系演算和域关系演算。关系代数、元组关系演算和域关系演算这三种语言在表达能力上是完全等价的。稍后只对关系代数进行阐述。关

3、系模型给出了关系操作的能力和特点,关系操作通过关系语言实现。关系语言是一种高度非过程化的语言,用户不必请求DBA为其建立特殊的存取路径,也不必求助于循环结构就可以完成数据操作。SQL(StructuredQueryLanguage)是一种介于关系代数和关系演算之间的语言。SQL不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是集查询、DDL、DML和DCL于一体的关系数据语言。它充分体现了关系数据语言的特点和优点,是关系数据库的标准语言。因此,关系数据语言可以分为三类:关系代数语言,例如ISBL元组关系演算语言,例如ALPHA、QUEL关系数据语言关系演算

4、语言域关系演算语言,例如QBE具有关系代数和关系演算双重特点的语言,例如SQL这些关系数据语言的共同特点是:语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。3.关系的完整性约束数据库的数据完整性是指数据库中数据的正确性和相容性。例如,学生的学号必须惟一,性别只能是男或女,学生所在的系必须是学校已开设的系,等等。可见,数据库中数据是否具有完整性关系到数据库系统能否真实地反映现实世界,因此,数据库的数据完整性是十分重要的。数据完整性由完整性规则来定义,关系模型的完整性规则是对关系的某种约束条件。关系模型中有三类完整性约束:实体完整性、

5、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持;而用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。完整性约束由DBMS提供定义手段,并由DBMS的完整性检查机制负责检查。7.2关系数据结构及形式化定义在关系模型中,无论是实体还是实体之间的联系均用单一的结构类型即关系来表示。前面已经非形式化地介绍了关系模型及有关的基本概念。关系模型是建立在集合代数的基础上的,这里从集合论角度对关系数据结构进行较为严格的定义和描述。7.2.1关系的形式化定义1.域(Domain)域是一组具有

6、相同数据类型的值的集合。例如:D1=姓名集合(NAME)={丁中,王芳,李兵}D2=性别集合(SEX)={男,女}D3=年龄集合(AGE)={17,18,19}以上共给出了三个域,其中D1,D3各有3个值,称它们的基数(CardinalNumber)为3;D2只含2个值,故其基数为2。2.笛卡尔乘积(CartesianProduct)按照集合论的观点,上述三个域D1,D2,D3的笛卡尔乘积可以表示为:D1×D2×D3={(丁中,男,17),(丁中,男,18),(丁中,男,19),(丁中,女,17),(丁中,女,18),(丁中,女,19),(王芳,男,17),(王芳

7、,男,18),(王芳,男,19),(王芳,女,17),(王芳,女,18),(王芳,女,19),(李兵,男,17),(李兵,男,18),(李兵,男,19),(李兵,女,17),(李兵,女,18),(李兵,女,19)}由此可见,笛卡尔乘积也是一个集合。它的每一个元素都用圆括号括起,称之为元组。本例中的笛卡尔乘积共有18个元组,或者说这个乘积的基数为18。显然,笛卡尔乘积的基数等于构成这个笛卡尔乘积的所有域的基数的累乘乘积,即m=(本例中m=3×2×3)其中:m ——笛卡尔乘积的基数mi——第i个域的基数n ——域的个数使用集合论的符号,笛卡尔乘积可定义为:定义7-1给

8、定一组域D

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。