欢迎来到天天文库
浏览记录
ID:41287682
大小:1.06 MB
页数:115页
时间:2019-08-21
《数据库第二章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第二章关系数据库(4-6学时)数据库原理和语言主要目的与内容:l关系模型的基本概念l关系模型的数据结构l关系操作l关系的完整性关系数据库的数学理论基础:l集合论、l关系代数(信息代数),l用数学的方法来处理数据。数学方法集合论关系代数关系数据库的发展历程u1962年,CODASYL“信息代数”。u1968年,DavidChild在7090机上实现的集合论数据结构。u1970年,E.F.Codd发表多篇论,严格地、系统地提出关系模型。u20世纪70年代末,IBM的SanJose实验室研制出关系数据库实验模型SystemR(
2、原型)u1981年,IBM研制出SQL/DS。DB2、OracleingresSysbaseInformix§2.1关系模型概述(P45)前面讲过,关系数据库系统是支持关系模型的数据库系统,同样地由关系数据结构、关系操作集合和完整性约束条件三部分组成。一、单一的数据结构----关系(P46)实体以及实体间的联系均由关系来表示。关系模型的数据结构非常单一。在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。二、关系操作(P46)关系模型给出了关系操作的能力,但不
3、对具体RDBMS语言给出具体的语法要求。常用的关系操作包括两大部分:l选择(Select)、l投影(Project)、l连接(join)、l除(Divide)、l并(Union)、l交(Intersection)、l差(Difference)等查询操作和l增加(Insert)、l删除(Delete)、l修改(Update)操作。三、关系操作的特点:集合操作方式,即操作的对象和结果都是集合,这种方式一次一集合(set-at-a-time)。非关系数据模型数据操作方式:一次一记录(record-at–a-time)。实现关系
4、操作:关系代数和关系演算(元组关系演算、域关系演算)。这是一种抽象的查询语言。RDBMS-RelationalDatabaseManagementSystem,关系数据库管理系统。关系语言是一种高度非过程化语言。SQL:StructuredQueryLanguage,结构化查询语言。SQL构成:集DDL、DML和DCL于一体。关系数据语言三类:关系代数语言、关系演算语言和具有关系代数和关系演算双重特点的语言关系数据语言1关系代数语言例如ISBL2关系演算语言1.元组关系演算语言例如APLHA,QUEL2.域关系
5、演算语言例如QBE3具有关系代数和关系演算双重特点的语言例如SQL(1)关系代数是用对关系的运算来表达查询要求的方式。(2)关系演算是用谓词来表达查询要求的方式。按谓词变元的基本对象是元组变量还是域变量分为元组关系演算和域关系演算。关系代数、元组关系演算和域关系演算三种语言在表达能力上是完全等价的。(3)介于关系代数和关系演算之间的语言SQL(StandardQueryLanguage):SQL不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是集查询、DDL、DML和DCL于一体的关系数据语言。它充分体现了关系数
6、据语言的特点和优点,是关系数据库的标准语言。◆特点:完备的表达能力、非过程化的集合操作、功能强、能嵌入高级语言使用。四、关系完整性约束条件(P47)关系的三类完整性约束:关系模型提供了丰富的完整性控制机制,允许定义三类完整性:实体完整性参照完整性用户定义的完整性关系模型必须满足的完整性约束条件,应该由关系系统自动支持——是应用领域需要遵循的约束条件,体现了具体领域中的语义约束§2.2关系数据结构及形式化定义从集合论角度,给出关系数据结构形式化定义。§2.2.1关系§2.2.2关系模式§2.2.3关系数据库§2.2.1关系
7、(P47)域(Domain)笛卡尔积(CartesianProduct)关系:(笛卡尔积的有效组合)码:(P49)关系的类型与性质:(P50)1.域(Domain)域是一组具有相同数据类型的值的集合,又称为值域。(用D表示)例如整数、实数、字符串的集合。域中所包含的值的个数称为域的基数(用m表示)。关系中用域表示属性的取值范围。例如:D1={李力,王平,刘伟}m1=3D2={男,女}m2=2D3={47,28,30}m3=3其中,D1,D2,D3为域名,分别表示教师关系中姓名、性别、年龄的集合。域中的值无排列次序,如D2
8、={男,女}={女,男}2.笛卡尔积(CartesianProduct)给定一组域D1,D2,…,Dn(它们可以包含相同的元素,即可以完全不同,也可以部分或全部相同)。D1,D2,…,Dn的笛卡尔积为D1×D2×……×Dn={(d1,d2,…,dn)
9、di∈Di,i=1,2,…,n}。由定义可以看出,笛卡尔积也是一个
此文档下载收益归作者所有