ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:142.35KB ,
资源ID:18745473      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18745473.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库系统工程师03关系模型Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库系统工程师03关系模型Word格式.docx

1、t2s3表中的行表示一个元组,列表示一个域。313 关系(1)笛卡尔积D1Dn的子集叫做在域D1 , D2 , Dn上的关系,用R(D1 , D2 , Dn )表示。(2)R是关系的名字,n是关系的度或目。(3)关系是笛卡尔积中有意义的子集。关系也可以表示为二维表。C(属性)(元组)t1(4)关系的性质:列是同质的,即每一列中的分量来自同一域,是同一类型的数据。如TEACH(T, S, C)=(t1 , s1 , c1), (t1 , t2 , c1)是错误的。(5)不同的列可来自同一域,每列必须有不同的属性名。如P=t1,t2 , s1,s2 ,s3,C= c1,c2,则TEACH不能写成T

2、EACH (P, P, C),还应写成TEACH(T, S, C)。(6)行列的顺序无关紧要。任意两个元组不能完全相同(集合内不能有相同的两个元素)。每一分量必须是不可再分的数据。满足这一条件的关系称作满足第一范式(1NF)的。32 关系模式数据结构:单一的数据结构关系。 实体集、联系都表示成关系。DEPT(D# , DN , DEAN)S(S# , SN , SEX , AGE , D#)C(C# , CN , CREDIT)PROF(P# , PN, D# , SAL)SC(S# , C# , SCORE)TEACH(P# , C#)321 候选码(Candidate Key)关系中的某一

3、属性或属性组的值能唯一地标识一个元组,称该属性或属性组为候选码如DEPT中的D#,DN都可作为候选码。任何一个候选码中的属性称作主属性。如SC中的S#,C#。322 主码(Primary Key)进行数据库设计时,从一个关系的多个候选码中选定一个作为主码。如可选定D#作为DEPT的主码。 333 外部码(Foreign Key)关系R中的一个属性组,它不是R的码,但它与另一个关系S的码相对应,则称这个属性组为R的外部码。如S关系中的D#属性。334 关系模式关系的描述称作关系模式,包括关系名、关系中的属性名、属性向域的映象、属性间的数据依赖关系等,记作R(A1 , A2 , An ) 。属性向

4、域的映象一般直接说明为属性的类型、长度等。某一时刻对应某个关系模式的内容(元组的集合)称作关系。关系模式是型,是稳定的。关系是某一时刻的值,是随时间不断变化的。335 关系数据库其型是关系模式的集合,即数据库描述,称作数据库的内涵(Intension)。其值是某一时刻关系的集合,称作数据库的外延(Extension)。336 关系操作关系操作是集合操作,操作的对象及结果都是集合,是一次一集合(Set-at-a-time)的方式,而非关系型的数据操作方式是一次一记录(Record-at-a-time)。关系操作可以用关系代数和关系演算两种方式来表示,它们是相互等价的。如用关系代数来表示关系的操作

5、,可以有选择、投影、连接、除、交、差、并等。337 关系模式的完整性(1)实体完整性:A、关系的主码中的属性值不能为空值。B、空值:不知道或无意义。C、意义:关系对应到现实世界中的实体集,元组对应到实体,实体是相互可区分的,通过主码来唯一标识,若主码为空,则出现不可标识的实体,这是不容许的。(2)参照完整性:A、如果关系R2的外部码Fk与关系R1的主码Pk相对应,则R2中的每一个元组的Fk值或者等于R1 中某个元组的Pk 值,或者为空值。B、意义:如果关系R2的某个元组t2参照了关系R1的某个元组t1,则t1必须存在。(3)用户定义的完整性:用户针对具体的应用环境定义的完整性约束条件。如S#要

6、求是8位整数,SEX要求取值为“男”或“女”。(4)系统支持A、实体完整性和参照完整性由系统自动支持。B、系统应提供定义和检验用户定义的完整性的机制。33关系数据语言概述331 抽象的查询语言(1)关系代数:用对关系的运算来表达查询,需要指明所用操作。(2)关系演算:用谓词来表达查询,只需描述所需信息的特性。元组关系演算:谓词变元的基本对象是元组变量。域关系演算:谓词变元的基本对象是域变量。332 具体系统中的实际语言SQL:介于关系代数和关系演算之间,由IBM公司在研制System R时提出的。QUEL:基于Codd提出的元组关系演算语言ALPHA,在INGRES上实现。QBE:基于域关系演

7、算,由IBM公司研制。333 关系数据语言的特点(1)一体化:一般关系系统的数据语言都同时具有数据定义、数据操纵和数据控制语言,而不是分为几个语言。对象单一,都是关系,因此操作符也单一。而非关系型系统,如DBTG,有对记录的操作,有对系的操作。(2)非过程化:用户只需提出“做什么”,无须说明“怎么做”,存取路径的选择和操作过程由系统自动完成。(3)面向集合的存取方式:操作对象是一个或多个关系,结果是一个新的关系(一次一关系)。非关系系统是一次一记录的方式。34关系代数341 关系代数(1) 基本运算A、一元运算:选择、投影、更名。B、多元运算:广义笛卡儿积、并、集合差。(2)其它运算:集合交、

8、自然连接、除、赋值。(3)扩展运算:广义投影、外连接、聚集。(4)修改操作:插入、删除、更新。342 一些标记给定关系模式R(A1 , A2 , , An),设R是它的一个具体的关系,tR是关系的一个元组。分量:设tR,则tAi表示元组t中相应于属性Ai的一个分量。属性列:A = Ai1 ,Ai2 , ,AikA1 ,A2 , ,An,称A为属性列或域列。tAi = ( tAi1, tAi2, , tAik)。343 选择(1)基本定义:在关系R中选择满足给定条件的元组(从行的角度)。F(R)=t|tR , F(t) =真F是选择的条件,tR,F(t)要么为真,要么为假。(2)F的形式:由逻辑

9、运算符连接算术表达式而成。 逻辑表达式:(与),(或),(非) 算术表达式:X Y X,Y是属性名、常量、或简单函数。 是比较算符, , , , , , 找年龄不小于20的男学生。AGE20 SEX=male(S)344 投影(1)定义:从关系R中取若干列组成新的关系(从列的角度)。A(R) = tA | tR , AR投影的结果中要去掉相同的行。ABDacdeFghilB,C(R)结果是:找001号学生所选修的课程号:C#( S#=001(SC)345 并运算所有至少出现在两个关系中之一的元组集合。R U S = r | rR v rS (2)两个关系R和S若进行并运算,则它们必须是相容的:

10、A、关系R和S必须是同元的,即它们的属性数目必须相同。B、对i,R的第i个属性的域必须和S的第i个属性的域相同。求选修了001号或002号课程的学生号。方案1:S#(C# = 001 v C# = 002(SC)方案2:S#(C# = 001 (SC)S#(C# = 002(SC)346 差运算所有出现在一个关系而不在另一关系中的元组集合。RS = r | rR rS R和S必须是相容的。求选修了001号而没有选002号课程的学生号。S#(C# = 001 (SC) S#(C# = 002(SC)348 更名运算给一个关系表达式赋予名字 x(E) 返回表达式E的结果,并把名字x赋给E。x(A1

11、, A2 , , An )(E) 返回表达式E的结果,并把名字x赋给E,同时将各属性更名为A1,A2,.An。关系被看作一个最小的关系代数表达式,可以将更名运算施加到关系上,得到具有不同名字的同一关系。这在同一关系多次参与同一运算时很有帮助。347 广义笛卡尔积运算(1)元组的连串(Concatenation):若r = (r1, ,rn),s = (s1 , ,sm),则定义r与s的连串为:rs = (r1, ,rn, s1 , ,sm)(2)定义:两个关系R,S,其度分别为n,m,则它们的笛卡尔积是所有这样的元组集合:元组的前n个分量是R中的一个元组,后m个分量是S中的一个元组。RS= r

12、s | rR sS R S的度为R与S的度之和, RS的元组个数为R和S的元组个数的乘积。求数学成绩比王红同学高的学生姓名。S.姓名(R.成绩S.成绩 R.课程=数学 S.课程=数学 R.姓名=王红 (RS(R)姓名课程成绩张三物理93王红数学8689R.姓名R.课程R.成绩S.姓名S.课程S.成绩348 交运算所有同时出现在两个关系中的元组集合。交运算可以通过差运算来重写:RS = R (R S)求选修了001号和002号课程的学生号。S#(C# = 001 (SC)S#(C# = 002(SC)349 连接从两个关系的广义笛卡儿积中选取给定属性间满足一定条件的元组。A BR S = rs

13、| rR sS rA SB 为算术比较符,为等号时称为等值连接,为时,为大于连接,为时,为小于连接。R123456789ER S B求数学成绩比王红同学高的学生。S.姓名(课程=数学 姓名=王红(R) ( 课程=数学S(R) R.成绩(2)自然连接:从两个关系的广义笛卡尔积中选取在相同属性列B上取值相等的元组,并去掉重复的列。R S = rsB | rR sS rB=SB 自然连接与等值连接的不同:自然连接中相等的分量必须是相同的属性组,并且要在结果中去掉重复的属性,而等值连接则不必。求001号学生所在系的名称。DN(S# = 001(S) DEPT)(3)当R与S无相同属性时,R S RS。

14、3410 除运算(1)除运算给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集YX包含S在Y上投影的集合:记做:RS= trZ | trR y(S) YX 其中YX 为x在R中的象集,x= trZ。a1b1a2b3c7a3b4c6b2c3a4b6d1C1d2(1)象集(Image Set)关系R(X , Z), X, Z是属性组,x是X上的取值,定义x在R中的象集为:Zx = tZ | tR tX= x 从R中选出在

15、X上取值为x的元组,去掉X上的分量,只留Z上的分量。X Zx=张三Zx(2)除运算3411 赋值运算为使查询表达简单、清晰,可以将一个复杂的关系代数表达式分成几个部分,每一部分都赋予一个临时关系变量,该变量可被看作关系而在后面的表达式中使用。临时关系变量关系代数表达式。赋值给临时关系变量只是一种结果的传递,而赋值给永久关系则意味着对数据库的修改。RS = X(R) X(X(R) Y(S) R)用赋值重写为:temp1 X(R) , temp2 X(temp1 Y(S) R)result temp1 temp2求选修了其选修课为001号课程的学生名。(哪个效率高?) 方案1:SN(PC# = 0

16、01 (SC C S) 方案2:SN(PC# = 001 (C) SC S)求未选修001号课程的学生号。(哪些正确?S#(C# 001 (SC)S#(S)- S#(C# = 001 (SC)求仅选修了001号课程的学生号。选修001号课程的学生仅选001号课程之外的学生S#(C# = 001 (SC)S#(SCC# = 001 (SC)S#(C# = 001 (SC)S#(C# 001 (SC)3412广义投影在投影列表中使用算术表达式来对投影进行扩展。F1 , F2 , , Fn (E) F1 , F2 , , Fn 是算术表达式。求教工应缴纳的所得税。P# , SAL*5/100 (PR

17、OF)p#, INCOME-TAX (P# , SAL*5/100 (PROF)3413外连接为避免自然连接时因失配而发生的信息丢失,可以假定往参与连接的一方表中附加一个取值全为空值的行,它和参与连接的另一方表中的任何一个未匹配上的元组都能匹配,称之为外连接。外连接 = 自然连接 + 失配的元组(2)外连接的形式:左外连接、右外连接、全外连接 。左外连接 = 自然连接 + 左侧表中失配的元组。右外连接 = 自然连接 + 右侧表中失配的元组。全外连接 = 自然连接 + 两侧表中失配的元组。列出所有老师的有关信息,包括姓名、工资、所教授的课程。3414 聚集函数求一组值的统计信息,返回单一值。使用

18、聚集的集合可以是多重集,即一个值可以重复出现多次。如果想去除重复值,可以用连接符-将distinct附加在聚集函数名后,如sum-distinct。A、sum:求和:求全体教工的总工资。sum SAL (PROF) 求001号学生的总成绩。sum SCORE (S# = 001 (SC)B、avg:求平均:求001号同学选修课程的平均成绩。Avg SCORE (S# = 001(SC)C、 count:计数: 求001号同学选修的课程数。countC#(S# = 001(SC) 求任课老师的总数。count-distinctP#(PC)D、 max:求最大值。 min:求最小值。 求学生选修数

19、学的最高成绩。Max SCORE (CN = 数学(C) SC)(2)分组将一个元组集合分为若干个组,在每个分组上使用聚集函数。属性下标 G 聚集函数 属性下标(关系)分组运算G 的一般形式G1 , G2 , . , Gn G F1 , A1 , F2 , A2 , , Fm , Am(E) Gi是用于分组的属性, Fi是聚集函数, Ai是属性名。 G 将E分为若干组,满足: A、同一组中所有元组在G1 , G2 , . , Gn上的值相同。B、不同组中元组在G1 , G2 , . , Gn上的值不同。求每位学生的总成绩和平均成绩。S# G sumSCORE ,avgSCORE(SC)3415

20、 数据库修改(1)删除将满足条件的元组从关系中删除。 r r E是对永久关系的赋值运算。删除001号老师所担任的课程。PC PC PC# = 001(PC)删除没有选课的学生。S S (S# (S) S# (SC) S(2)插入插入一个指定的元组,或者插入一个查询结果。r r E新加入一个老师PC PC (P07 ,“周正”, 750 , D08)加入计算机系学生选修“数学”的信息。SC SC S# (S DN =计算机系 (DEPT) C#(CN =数学(C)(3)更新利用广义投影改变元组的某些属性上的值。r F1 , F2 , , Fn (r)给每位老师上调10%的工资。PROC P# ,

21、 PN , SAL SAL* 1.1 , D# (PROC)对工资超过800的老师征收5%所得税。PC ( P# , PN , SAL SAL* 0.95 , D# (SAL 800 (PC) ( P# , PN , SAL , D# (SAL 800 (PC)35 视图351 定义视图是命名的、从基本表中导出的虚表,它在物理上并不存在,存在的只是它的定义。视图中的数据是从基本表中导出的,每次对视图查询都要重新计算。create view view_name as 视图之上可以再定义视图。视图 Vs 临时关系变量。给出老师所教授课程的信息。create view p_course as PN

22、, CN(PROF PC C)给出李明老师所教授的课程名称。PN = 李明 (p_course)352 视图更新(1)信息缺失create view p_salary as PN , SAL(PROF)p_salary p_salary (李明, 800)往PROF中加入元组(李明, 800),缺P#信息。(2) 信息歧义create view p_dean as PN , DEAN(PROF DEPT)p_dean PN , DEAN王之(PN = 李明(p_dean)是将李明所在系的系主任改为王之呢,还是将李明调到王之任系主任的系中?(3) 实体化视图a) 视图的计算结果被实际存储起来。b) 优点:查询迅速。c) 缺点:一致性维护。d) 应用场合:数据仓库。(4) 视图的优点a) 个性化服务:简化了用户观点,使不同用户可以从不同角度观察同一数据。b) 安全性:“知必所需”,限制用户数据的访问范围。c) 逻辑独立性:视图作为基本表与外模式之间的映象。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1