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

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

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

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

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

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

第二章第一讲关系数据库设计理论本章要点2.1.2关系模型关系模型是用二维表格结构来表示实体及实体间联系的模型。关系模型由关系数据结构、关系操作集合和完整性规则三部分组成。关系模型的特点:(1)关系必须规范化,指关系模型中的每一个关系模式都必须满足一定的要求;(2)模型概念单一;(3)集合操作,操作对象和结果都是元组的集合,即关系。关系模型关系操作关系模型是基于关系代数数学基础的模型,关系运算的语言分为两类:关系代数语言:把关系当作集合,常用的关系操作有交、并、差、除法、选择、投影和连接等。关系演算语言:使用谓词来表达查询的要求。若谓词的对象是元组变量,称为元组关系演算;若为域变量,称为域关系演算。SQL语言:结合了关系代数和关系演算的优点,是关系数据库的标准语言。完整性1.实体完整性规则:若属性A为基本关系R的主属性,则属性A不能取空值。例如,学生关系中,如果学号是主键,则所有的元组(即学生的记录)中学号属性不能为空,因为每个学生必有学号。2.参照完整性外码(ForeignKey):设F是关系R1的一组属性,但不是R1的键;如果F与关系R2的主键P对应,则称F是关系R1的外键。并称关系R1为参照关系(ReferencingRelation),关系R2为被参照关系(ReferencedRelation)或目标关系(TargetRelation)。R1和R2也可能是同一个关系。例如,现在有两个关系,分别表示学生信息和学院信息:R1(学号,姓名,性别,所在学院编号)R2(学院编号,学院名称,学院位置)参见下页的图形:学号关系数据库中,一个关系可以看作是一个______笛卡儿积可表示为一个二维表,表中每行对应一个元组,每列对应一个域。例如,给出两个域:D1=Student={王南,李婷},表示学生集合D2=Major={理学院,信息学院},表示学院集合D1×D2={(王南,理学院),(王南,信息学院),(李婷,理学院),(李婷,信息学院)},对应二维表为:D1×D2基数为4。D1×D2共4个元组。2.3关系代数传统的集合运算并(Union)关系R和S的并记作:R∪S={t|t∈R∨t∈S},即属于R或S的所有元组。R和S应该有相同的目,即属性个数相同,类型相同。2.3关系代数交(Intersection)关系R和S的交记作:R∩S={t|t∈R∧t∈S},即属于R且属于S的所有元组。R和S应该有相同的目,即属性个数相同,类型相同。广义笛卡儿积(ExtendedCartesianProduct)n目关系R和m目S的广义笛卡儿积为n+m目关系,记作R×S。其中,前n个属性为R的属性集,后m个属性为S的属性集,R×S中的每个元组为每一个R元组与所有S元组的组合。若R有K1个元组,S有K2个元组,则R×S共有K1×K2个元组。扩充的关系运算选择(Selection)在关系R中选择满足条件的元组,记作:σF(R)={t|t∈R∧F(t)=TRUE},F可以是逻辑运算符(如AND,OR等)和关系运算符(>,<,>=等)等的组合。选择运算就是从关系R中选取使逻辑表达式F为TRUE的元组。SNO(学号)专门的关系运算投影(Projection)从关系R中选择若干属性列,组成新的元组,记作:∏A(R){t[A]|t∈R},其中A为R中的属性列。投影操作是从列的角度参加的运算;如果取消某些属性列后,出现重复的行,则去掉这些完全相同的行。A连接(Join)从关系R和关系S的笛卡尔积中选择属性间满足一定条件的元组,记作:当Ө为=时,称为等值连接。见下页的等值连接例子。A自然连接(NaturalJoin)从两个关系的笛卡儿积中选择出公共属性值相等的元组,并在结果中去掉重复的属性列,记作:自然连接是一种特殊的等值连接,只有两个关系有相同属性组时才可以参加。除法(Division)给定关系R(X,Y)和S(Y,Z),其中X,Y,Z均为属性组,R和S的属性组Y属于同一个域。R÷S得到一个新关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集包含S在Y上投影的集合。象集:R(A,B,C)为关系,A、B、C为属性组,a1在R中的象集为R中属性组A上值为a1的各元组在B、C上分量的集合。A