预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共63页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章关系数据库的基本理论本章重要概念主要内容3.1关系数据模型3.1.1关系模式数据库技术的术语关系模型的术语关系具有的特点关系的性质关键码和表之间的联系关系模式举例关系模式、关系子模式和存储模式关系模式关系模式(9)关系子模式SNO描述关系是如何在物理存储设备上存储的。关系存储时的基本组织方式是文件。由于关系模式有键,因此存储一个关系可以用散列方法或索引方法实现。如果关系中元组数目较少(100以内),那么也可以用堆文件方式实现。此外,还可以对任意的属性集建立辅助索引。关系模型中常用的关系操作包括查询(Query)操作和插入(Insert)、删除(Delete)、修改(Update)操作。查询操作又可以分为:选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、差(Except)、交(Intersection)、笛卡尔积等。基本操作:选择、投影、并、差、笛卡尔积。其他操作:可以用基本操作来定义和导出的。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。这种操作方式也称称为一次一集合(set-at-a-time)的方式。相应地,非关系数据模型的数据操作方式则为一次一纪录(record-at-a-time)的方式。关系代数语言例如ISBL元组关系演算语言例如APLHA,QUEL关系数据语言关系演算语言域关系演算语言例如QBE具有关系代数和关系演算双重特点的语言例如SQL3.2关系模型的完整性规则主要内容关系模型的完整性规则规则3.1实体完整性(EntityIntegrity)规则:若属性(指一个或一组属性)A是基本关系R的主属性。则A不能取空值。例如:在关系S(SNO,SNAME,SEX,AGE,SDPET)中,SNO这个属性为主码,则SNO不能取空值。对于实体完整性规则几点说明定义2.3参照完整性规则的形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1关系中某个主键值。这条规则的实质是“不允许引用不存在的实体”。在上述形式定义中,关系模式R1的关系称为“参照关系”,关系模式R2的关系称为“依赖关系”。参照完整性规则举例②设工厂数据库中有两个关系模式:DEPT(D#,DNAME)EMP(E#,ENAME,SALARY,D#)车间模式DEPT的属性为车间编号、车间名,职工模式EMP的属性为工号、姓名、工资、所在车间的编号。每个模式的主键与外键已标出。在EMP中,由于D#不在主键中,因此D#值允许空。参照完整性规则举例用户定义的完整性规则3.3关系代数的基本运算主要内容并(Union)设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为R∪S。形式定义如下:R∪S≡{t|t∈R∨t∈S},t是元组变量,R和S的元数相同。差(Difference)设关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为R-S。形式定义如下:R-S≡{t|t∈R∧t∈S},R和S的元数相同。举例交运算笛卡儿积运算专门的关系运算投影(Projection)连接有两种:θ连接和F连接(这里θ是算术比较符,F是公式)。①θ连接R⋈S≡{t︱t=<tr,ts>∧tr∈R∧ts∈S∧}表达式表示元组tr的第i个分量、元组ts的第j个分量满足θ操作。②F连接F连接是从关系R和S的笛卡儿积中选取属性间满足某一公式F的元组,这里F是形为F1∧F2∧…∧Fn的公式,每个FP是形iθj的式子,而i和j分别为关系R和S的第i、第j个分量的序号。例θ连接和F连接的例子.两个关系R和S的自然连接操作具体计算过程如下:①计算R×S;②设R和S的公共属性是A1,…,AK,挑选R×S中满足R.A1=S.A1,…,R.AK=S.AK的那些元组;③去掉S.A1,…,S.AK这些列。定义:中i1,…,im为R和S的全部属性,但公共属性只出现一次。A两个关系R和S在做自然连接时,选择两个关系在公共属性上值相等的元组构成新的关系。此时,关系R中某些元组有可能在S中不存在公共属性上值相等的元组,从而造成R中这些元组在操作时被舍弃了,同样,S中某些元组也可能被舍弃。如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),那么这种连接就叫做外连接(Outerjoin)。如果只把左边关系R中要舍弃的元组保留就叫做左外连接(Leftouterjoin或Leftjoin),如果只把右边关系S中要舍弃的元组保留就叫做右外连接(Rightouterjoin或Rightjoin)。A除法(division)关系代数运算的应用实例(1)(4)检索选修课程号为C2或C4的学生学号。πS#(σC#=‘