- 1.26 MB
- 2022-04-29 14:46:38 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。 记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热”,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇”。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?”此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道! 蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。 蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅数据库系统教程
本章重要概念(1)基本概念关系模型,关键码(主键和外键),关系的定义和性质,三类完整性规则,过程性语言与非过程性语言。(2)关系代数五个基本操作,四个组合操作,七个扩充操作。(3)关系代数表达式的优化关系代数表达式的等价及等价转换规则,启化式优化算法。
关系模型和关系运算理论2.1关系模型的基本概念2.2关系代数2.4关系代数表达式的优化
关系元数为5,基数为4图2.2关系模型的术语一般术语关系模型术语字段、数据项属性记录类型关系模式记录1元组1记录2元组2记录3元组3记录4元组4字段值属性值RABCDEa1b1c1d1e1a2b2c2d2e2a3b3c3d3e3a4b4c4d4e4
关键码(Key,简称键)由一个或多个属性组成。在实际使用中,有下列几种键。(1)超键(SuperKey)(2)候选键(CandidateKey)(3)主键(PrimaryKey)在图2.1中,(学号,姓名)是模式的一个超键,但不是候选键,而(学号)是候选键。在实际使用中,如果选择(学号)作为删除或查找元组的标志,那么称(学号)是主键。(4)外键(ForeignKey)例:S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)在关系S中S#为主键,在关系SC中S#为外键。在关系中能唯一标识元组的属性集。不含多余属性的超键。用户选作元组标识的候选键。如果在模式R中属性K是其他模式的主键,那么K在该模式R中称外键。
2.1.2关系的定义和性质定义2.2关系是一个属性数目相同的元组的集合。在关系模型中,对关系作了下列规范性限制:(1)关系中每一个属性值都是不可分解的;(2)关系中不允许出现重复元组(即不允许出现相同的元组);(3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序;(4)元组中的属性在理论上也是无序的,但使用时按习惯考虑列的顺序。
2.1.3关系模型的三类完整性规则1.实体完整性规则(entityintegrityrule)要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值就起不了惟一标识元组的作用。如:学生(学号,姓名,年龄,......),学号不能为空
2.参照完整性规则(referenceintegrityrule)定义2.3参照完整性规则的形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1关系中某个主键值。这条规则的实质是“不允许引用不存在的实体”。在上述形式定义中,关系模式R1的关系称为“参照关系”,关系模式R2的关系称为“依赖关系”。“主表”和“副表”,“父表”和“子表”。
学生表是主表,成绩表是从表,成绩表中的学号是外键,该值必须是学生表中已经存在的值。
例2.1下面各种情况说明了参照完整性规则在关系中如何实现的。①在关系数据库中有下列两个关系模式:S(S#,SNAME,AGE,SEX)SC(S#,C#,SCORE)这里带下划线者为主键,带波浪线者为外键。据规则要求关系SC中的S#值应该在关系S中出现。如果关系SC中有一个元组(S7,C4,80),而学号S7却在关系S中找不到,那么我们就认为在关系SC中引用了一个不存在的学生实体,这就违反了参照完整性规则。另外,在关系SC中S#不仅是外键,也是主键的一部分,因此,这里S#值不允许空。
②设工厂数据库中有两个关系模式:DEPT(D#,DNAME)EMP(E#,ENAME,SALARY,D#)车间模式DEPT的属性为车间编号、车间名,职工模式EMP的属性为工号、姓名、工资、所在车间的编号。每个模式的主键与外键已标出。在EMP中,由于D#不在主键中,因此,D#值允许空。
③设课程之间有先修、后继联系。模式如下:R(C#,CNAME,PC#)其属性表示课程号、课程名、先修课的课程号。如果规定,每门课程的直接先修课只有一门,那么模式R的主键是C#,外键是PC#。这里参照完整性在一个模式中实现,即每门课程的直接先修课必须在关系中出现。
参照完整性实例例2.1TEACHER(T#,TNAME,TITLE)COURSE(C#,CNAME,T#)STUDENT(S#,SNAME,AGE,SEX)SC(S#,C#,SCORE)TEACHER(T#,TNAME,TITLE)COURSE(C#,CNAME,T#)STUDENT(S#,SNAME,AGE,SEX)SC(S#,C#,SCORE)图2.3关系模型的数据结构图(DSD)连线端点的“鸡爪型”表示“多”的一端
3.用户定义的完整性规则在建立关系模式时,对属性定义了数据类型,即使这样,可能还满足不了用户的需求。此时,用户可以针对具体的数据约束,设置完整性规则,由系统来检验实施,以使用统一的方法处理它们,不再由应用程序承担这项工作。例如,学生的年龄定义为两位整数范围还太大,我们可以写如下规则,把年龄限制在15~30岁之间:CHECK(AGEBETWEEN15AND30)
2.1.4关系模型的三级体系结构1.关系模式在关系模型中,记录类型称为关系模式,而关系模式的集合就是数据库的概念模式。在系统实现时,关系模式和属性的命名一般都用英文单词。TEACHER(T#,TNAME,TITLE)COURSE(C#,CNAME,T#)STUDENT(S#,SNAME,AGE,SEX)SC(S#,C#,SCORE)关系模式集
关系(实例)S#SNAMEAGESEXS1Wang20MS4Wu19MS2Liu21FS3Chen22MS8Dong18FS#C#SCORES1C180S3C190S1C270S3C285S3C395S4C470S8C390C#CNAMET#C2MathsT2C4PhysicsT3C3ChemistryT4C1DatabaseT1CT#TNAMETITLET1zhang教授T2wang副教授T3liu教授T4hu副教授ST
2.子模式子模式是用户所用到的那部分数据的描述。除此之外,还应指出数据与关系模式中相应数据的联系。例如,用户需要用到子模式G(图2.4)。构造过程见书P43,图2.5成绩子模式G(S#,SNAME,C#,SCORE)图2.4子模式
图2.6关系S和SC的环结构3.存储模式在有些DBMS中,关系存储时是作为文件看待的,每个元组就是一个记录。由于关系模式有键,因此存储一个关系可用散列方法或索引方法实现。如果关系的元组数目较少(100个以内),那么也可以用“堆文件”方式实现(即没有特定的次序)。此外,还可对任意的属性集建立辅助索引。
2.1.6关系模型的形式定义关系模型有三个重要组成部分:数据结构,数据操纵,数据完整性规则。(1)数据结构:数据库中全部数据及其相互联系都被组织成“关系”(二维表格)的形式。关系模型基本的数据结构是关系。(2)数据操纵:关系模型提供一组完备的高级关系运算,以支持对数据库的各种操作。关系运算分成关系代数、关系演算和关系逻辑等三类。(3)数据完整性规则:数据库中数据必须满足实体完整性,参照完整性和用户定义的完整性等三类完整性规则。
2.1.6关系模型的优点与其它数据模型相比,关系模型突出的优点如下:(1)关系模型提供单一的数据结构形式,具有高度的简明性和精确性。(2)关系模型的逻辑结构和相应的操作完全独立于数据存储方式,具有高度的数据独立性。(3)关系模型使数据库的研究建立在比较坚实的数学基础上。(4)关系数据库语言与一阶谓词逻辑的固有内在联系,为以关系数据库为基础的推理系统和知识库系统的研究提供了方便。
2.2关系代数2.2.1关系代数的五个基本操作2.2.2关系代数的四个组合操作2.2.3关系代数运算的应用实例2.2.4关系代数的七个扩充操作
2.2.1关系代数的五个基本操作并(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∧tS},R和S的元数相同。
关系代数的五个基本操作RABCa1b1c1a1b2c2a2b2c1SABCa1b2c2a1b3c2a2b2c1R∪SABCa1b1c1a1b2c2a1b3c2a2b2c1R-SABCa1b1c1
关系代数的五个基本操作笛卡儿积(CartesianProduct)设关系R和S的元数分别为r和s,定义R和S的笛卡儿积是一个(r+s)元的元组的集合,每个元组的前r个分量(属性值)来自R的一个元组,后s个分量来自S的一个元组,记为R×S。形式定义如下:R×S≡{t|t=∧tr∈R∧ts∈S}若R中有m个元组,S中有n个元组,则R×S有m×n个元组。
关系代数的五个基本操作RABCa1b1c1a1b2c2a2b2c1SABCa1b2c2a1b3c2a2b2c1R×SR.AR.BR.Ca1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1S.AS.BS.Ca1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1
关系代数的五个基本操作投影(Projection)这个操作是对一个关系进行垂直分割,消去某些列,并重新安排列的顺序。设关系R是k元关系,R在其分量Ai1,…,Aim(m≤k,i1,…,im为1到k间的整数)上的投影用πi1,…,im(R)表示,它是一个m元元组集合,形式定义如下:πi1,…,im(R)≡{t|t=∧∈R}
投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)π
例如,π3,1(R)表示关系R中取第1、3列,组成新的关系,新关系中第1列为R的第3列,新关系的第2列为R的第1列。如果R的每列标上属性名,那么操作符π的下标处也可以用属性名表示。例如,关系R(A,B,C),那么πC,A(R)与π3,1(R)是等价的。
RABCa1b1c1a1b2c2a2b2c1SABCa1b2c2a1b3c2a2b2c1πC,A(R)或π3,1(R)CAc1a1c2a1c1a2ACa1c2a2c1πA,C(S)或π1,3(S)
选择(Selection):又称为限制(Restriction)选择操作是根据某些条件对关系做水平分割,即选取符合条件的元组。条件可用命题公式(即计算机语言中的条件表达式)F表示。F中有两种成分:运算对象:常数(用引号括起来),元组分量(属性名或列的序号)运算符:算术运算符(<,≤,>,≥,=,≠统称为θ符),逻辑运算符(∧,∨,)关系R关于公式F的选择操作,用σF(R)表示,形式定义如下:σF(R)={t|t∈R∧F(t)=true}σ为选择运算符,σF(R)表示从R中挑选满足公式F为真的元组所构成的关系。例如,σ2>ˊ3ˊ(R)表示从R中挑选第2个分量值大于3的元组所构成的关系。书写时,为了与属性序号区别起见,常量用引号括起来,而属性序号或属性名不要用引号括起来。关系代数的五个基本操作
选择运算是从行的角度进行的运算σ
RABCa1b1c1a1b2c2a2b2c1σA=‘a1"(R)或σ1=‘a1"(R)ABCa1b1c1a1b2c2
学号Sno姓名Sname性别Ssex年龄Sage系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19ISStudent例:设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC关系代数的五个基本操作
[例1]查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影πSname,Sdept(Student)或π2,5(Student)结果:SnameSdept李勇CS刘晨IS王敏MA张立IS
[例2]查询学生关系Student中都有哪些系πSdept(Student)结果:SdeptCSISMA
[例3]查询信息系(IS系)全体学生σSdept="IS"(Student)或σ5="IS"(Student)结果:SnoSnameSsexSageSdept95002刘晨女19IS95004张立男19IS
[例4]查询年龄小于20岁的学生σSage<‘20’(Student)或σ4<‘20’(Student)结果:SnoSnameSsexSageSdept95002刘晨女19IS95003王敏女18MA95004张立男19IS
(a)R∪S(b)R-S(c)R×S(d)πC,A(R)(e)σB="b‘(R)ABCABCabcbgadafdafcbd(a)关系R(b)关系S关系代数的五个基本操作(例)另书例2.2
2.2.2关系代数的四个组合操作1.交(intersection)关系R和S的交是由属于R又属于S的元组构成的集合,记为R∩S,这里要求R和S定义在相同的关系模式上。形式定义如下:R∩S≡{t︱t∈R∧t∈S},R和S的元数相同。由于R∩S=R-(R-S),或R∩S=S-(S-R),因此,交操作不是一个独立的操作。在上一个例子中,R∩S的结果是只有一个元组(d,a,f)。
RABCa1b1c1a1b2c2a2b2c1SABCa1b2c2a1b3c2a2b2c1R∩SABCa1b2c2a2b2c1
连接有两种:θ连接和F连接(这里θ是算术比较符,F是公式)。①θ连接:从两个关系的笛卡尔积中选取属性间满足一定条件的元组R⋈S≡{t︱t=∧tr∈R∧ts∈S∧triθtsj}等价于R⋈S≡σiθ(r+j)(R×S)i和j:分别为R和S上可比的属性θ:比较运算符连接运算从R和S的广义笛卡尔积R×S中选取(R关系)在i属性上的值与(S关系)在j属性上的值满足比较关系的元组iθjiθj2.连接(join)
ABCa1b15a1b26a2b38a2b412RBEb13b27b310b32b52SC<EAR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310RS[例1]另书例2.3
等值连接(equijoin)什么是等值连接θ为“=”的连接运算称为等值连接等值连接的含义从关系R与S的广义笛卡尔积中选取i、j属性值相等的那些元组,即等值连接为:RS={t|t= ∧trR∧tsS∧tr[i]=ts[j]}
例2:等值连接RSR.B=S.BAR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS
F连接是从关系R和S的笛卡儿积中选取属性间满足某一公式F的元组,这里F是形如F1∧F2∧…∧Fn的公式,每个FP是形为iθj的式子,而i和j分别为关系R和S的第i、第j个分量的序号。RS2=1∧3<2ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RSAR.BCS.BEa1b26b27a2b38b310F连接
两个关系R和S的自然连接操作具体计算过程如下:①计算R×S;②设R和S的公共属性是A1,…,Ak,挑选R×S中满足R.A1=S.A1,…,R.Ak=S.Ak的那些元组;③去掉S.A1,…,S.Ak这些列。定义:RS≡πi1,…,im(σR.A1=S.A1∧...∧R.Ak=S.Ak(R×S))其中,i1,…,im为R和S的全部属性,但公共属性只出现一次。自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉3.自然连接(naturaljoin)
ABCEa1b153a1b267a2b3810a2b382例3:自然连接RSABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS
例2.4一般自然连接使用在R和S有公共属性的情况中。如果两个关系没有公共属性,那么其自然连接就转化为笛卡儿积操作。ABC246357746ABCD2462357335797462(a)关系R(b)关系S(c)R⋈SBCD573462579
(4)除法(division)设关系R和S的元数分别为r和s(设r>s>0),那么R÷S是一个(r-s)元的元组的集合。(R÷S)是满足下列条件的最大关系:其中每个元组t与S中每个元组u组成的新元组必在关系R中。(笛卡儿积的逆运算)定义如下:R÷S≡π1,2,…,r-s(R)-π1,2,…,r-s((π1,2,…,r-s(R)×S)-R)
除操作是同时从行和列角度进行运算÷RS
例2.6图2.12是关系做除法的例子。关系R是学生选修课程的情况,关系X1、X2、X3分别表示课程情况,而操作R÷X1、R÷X2、R÷X3分别表示至少选修X1、X2、X3中列出课程的学生名单。S#SNAMEC#CNAMES1BAOC1DBS1BAOC2OSS1BAOC3DSS1BAOC4MISS2GUC1DBS2GUC2OSS3ANC2OSS4LIC2OSS4LIC4MISC#CNAMEC2OSC#CNAMEC2OSC4MISC#CNAMEC1DBC2OSC4MISS#SNAMES1BAOS#SNAMES1BAOS4LIS#SNAMES1BAOS2GUS3ANS4LIRX1X2X3R÷X1R÷X2R÷X3图2.12除法操作的例子
2.2.3关系代数运算的应用实例在关系代数运算中,把由五个基本操作经过有限次复合的式子称为关系代数表达式。这种表达式的运算结果仍是一个关系。我们可以用关系代数表达式表示各种数据查询操作。例2.6设教学数据库中有四个关系:教师关系T(T#,TNAME,TITLE)课程关系C(C#,CNAME,T#)学生关系S(S#,SNAME,AGE,SEX)选课关系SC(S#,C#,SCORE)(1)检索学习课程号为C2的学生学号与成绩。(2)检索学习课程号为C2的学生学号与姓名。(3)检索至少选修LIU老师所授课程中一门课程的学生学号与姓名。(4)检索选修课程号为C2或C4的学生学号。(5)检索至少选修课程号为C2和C4的学生学号。(6)检索不学习C2课程的学生姓名与年龄。(7)检索学习全部课程的学生姓名。(8)检索所学课程包含学生S3所学课程的学生学号。返回πS#,SCORE(σC#="C2"(SC))或π1,3(σ2="C2"(SC))πS#,SNAME(σC#="C2"(S⋈SC))或πS#,SNAME(S⋈σC#="C2"(SC))πS#,SNAME(σTNAME=‘LIU"(S⋈SC⋈C⋈T))或πS#,SNAME(S⋈(SC⋈C⋈σTNAME=‘LIU"(T)))πS#(σC#="C2"∨C#="C4"(SC))π1(σ1=4∧2="C2"∧5="C4"(SC×SC))πSNAME,AGE(S)-πSNAME,AGE(σC#="C2"(S⋈SC))或πSNAME,AGE(S)-πSNAME,AGE(S⋈(σC#="C2"(SC))πSNAME(S⋈(πS#,C#(SC)÷πC#(C)))πS#,C#(SC)÷πC#(σS#="S3"(SC))55
2.2.4关系代数的七个扩充操作1.改名ρS(A1,…,An)(R)或ρS(R)例:将R(B,C,D)改名为S(A,B,C):ρS(A,B,C)(R)将R(B,C,D)改名为R(X,C,D):ρR(X,C,D)(R)将R(B,C,D)改名为S(B,C,D):ρS(R)2.广义投影πS#,C#,SCORE*1.05(σC#="C4"(SC))3.赋值A←σC#="C4"(SC)πS#,C#,SCORE*1.05(A)
4.外连接(outerjoin)5.外部并(outerunion)6.半连接(semijoin)7.聚集操作2.2.4关系代数的七个扩充操作
外连接(outerjoin)外连接:R和S做自然连接时,把原该舍弃的元组也保留在新关系中,同时在这些元组新增加的属性上填上空值(null)。记为RS。左外连接:R和S做自然连接时,只把R中原该舍弃的元组放到新关系中,同时在这些元组新增加的属性上填上空值(null)。记为RS。右外连接:R和S做自然连接时,只把S中原该舍弃的元组放到新关系中,同时在这些元组新增加的属性上填上空值(null)。记为RS。ABCabcbbfcadBCDbcdbceadbefgABCDabcdabcecadbABCDabcdabcecadbbbfnullnullefgABCDabcdabcecadbbbfnullABCDabcdabcecadbnullefg例2.11(a)关系R(b)关系S(c)R⋈S(d)RS(e)RS(f)RS
外部并(outerunion)定义:如果R和S的关系模式不同,构成的新关系的元组由属于R或属于S的元组组成(公共属性只取一次),同时元组在新增加的属性上填上空值。ABCabcbbfcadBCDbbdbceadbefg例2.12(a)关系R(b)关系SABCDabcnullbbfnullcadnullnullbbdnullbcenulladbnullefg(c)关系R和S的外部并
半连接(semijoin)定义:R和S的自然连接在关系R的属性集上的投影,即:R⋉S=πR(R⋈S)。ABCabcdbcbbfcadBCDbcdbceadb例2.13(a)关系R(b)关系SABCDabcdabcedbcddbcecadb(c)R⋈SABCabcdbccadBCDbcdbceadb(d)R⋉S(e)S⋉R
聚集操作聚集操作是指输入一个值的集合,然后根据该值集合得到一个单一的值作为结果。常用的聚集函数包括求最大值max,最小值min,平均值avg,总和值sum和记数值count等。例2.141.求男同学的平均年龄。avgage(σsex="M"(S))2.求年龄为18岁的人数。counts#(σage="18"(S))
2.4关系代数表达式的优化2.4.1关系代数表达式的优化问题2.4.2关系代数表达式的等价变换规则2.4.3关系代数表达式的优化算法
2.4.1关系代数表达式的优化(1)在关系代数表达式中需要指出若干关系的操作步骤。那么,系统应该以什么样的操作顺序,才能做到既省时间,又省空间,而且效率也比较高呢?这个问题称为查询优化问题。在关系代数运算中,笛卡儿积和连接运算是最费时间的。
2.4.1关系代数表达式的优化(2)例2.22设关系R和S都是二元关系,属性名分别为A,B和C,D。设有一个查询可用关系代数表达式表示:E1=πA(σB=C∧D="99"(R×S))也可以把选择条件D="99"移到笛卡儿积中的关系S前面:E2=πA(σB=C(R×σD="99"(S)))还可以把选择条件B=C与笛卡儿积结合成等值连接形式:E3=πA(R⋈σD="99"(S))这三个关系代数表达式是等价的,但执行的效率大不一样。显然,求El,E2,E3的大部分时间是花在连接操作上的。B=C
例:求选修了课程C2的学生姓名假设1:外存:S:1000条,SC:10000条,选修C2号课程:50条假设2:一个内存块装元组:10个S,或100个SC,内存中一次可以存放:5块S元组,1块SC元组和若干块连接结果元组假设3:读写速度:20块/秒假设4:连接方法:基于数据块的嵌套循环法
Q1=πsname(σS.S#=SC.S#∧SC.C#="C2"(S×SC))①S×SC读取总块数=读S表块数+读SC表遍数*每遍块数=1000/10+(1000/(10×5))×(10000/100)=100+20×100=2100读数据时间=2100/20=105秒
中间结果大小=1000*10000=107(1千万条元组)写中间结果时间=10000000/10/20=50000秒②σ读数据时间=50000秒③π总时间=105+50000+50000秒=100105秒=27.8小时
2.Q2=πSname(σSC.C#="C2"(SSC))①读取总块数=2100块读数据时间=2100/20=105秒中间结果大小=10000(减少1000倍)写中间结果时间=10000/10/20=50秒②σ读数据时间=50秒③π总时间=105+50+50秒=205秒=3.4分
3.Q3=πSname(SσSC.C#="C2"(SC))①σ读SC表总块数=10000/100=100块读数据时间=100/20=5秒中间结果大小=50条不必写入外存②读S表总块数=1000/10=100块读数据时间=100/20=5秒③π总时间=5+5秒=10秒
4.Q4=πSname(SσSC.C#="C2"(SC))假设SC表在C#上有索引,S表在S#上有索引①σ读SC表索引=读SC表总块数=50/100<1块读数据时间中间结果大小=50条不必写入外存②读S表索引=读S表总块数=50/10=5块读数据时间=5/20③π总时间<10秒
2.4.2关系代数表达式的等价变换规则(1)连接和笛卡儿积的交换律连接和笛卡儿积的结合律投影的级联其中选择的级联选择和投影操作的交换选择对笛卡儿积的分配律选择对并的分配律
选择对集合差的分配律选择对自然连接的分配律投影对笛卡儿积的分配律投影对并的分配律选择与连接操作的结合并和交的交换律并和交的结合律72
2.4.3关系代数表达式的启发式优化算法在关系代数表达式中,最花费时间和空间的运算是笛卡儿积和连接操作,为此,引出三条启发式规则,用于对表达式进行转换,以减少中间关系的大小。(1)尽可能早地执行选择操作;(2)尽可能早地执行投影操作;(3)避免直接做笛卡儿积,把笛卡儿积操作之前和之后的一连串选择和投影合并起来一起做。73
算法2.1关系代数表达式的启发式优化算法。输入:一个关系代数表达式的语法树输出:计算表达式的一个优化序列例2.23检索学习课程名为OS的女学生学号和姓名。该查询语句的关系代数表达式如下:πS#,SNAME(σCNAME=’OS’∧SEX=’F’(C⋈SC⋈S))上式中,符号用π、σ、×操作表示,可得下式:πS#,SNAME(σCNAME=’OS’∧SEX=’F’(πL(σC.C#=SC.C#∧SC.S#=S.S#(C×SC×S))))此处L是C、SC、S中全部属性。74
S.S#,SNAMEC.C#,CNAME,T#,SCORE,S.S#,SNAME,AGE,SEXCNAME="OS"∧SEX="F"C.C#=SC.C#∧SC.S#=S.S#πσπσ×SSCC×图2.18关系代数表达式的初始语法树75
图2.19优化过程中的语法树(选择操作已尽可能移向叶端)S.S#,SNAMESC.S#=S.S#πσσ×SSCC×σσSEX="F"C.C#=SC.C#CNAME="OS"76
图2.20优化的语法树及其分组S.S#,SNAMEσS.S#,SNAMESC.S#=S.S#πσ×σ×SSCCσSEX="F"C.C#=SC.C#CNAME="OS"ππππSC.S#SC.S#,SC.C#C.C#77
重要内容分析(一)(1)一般规则对于只涉及到选择、投影、连接的查询可用下列表达式表示:π(σ(R×S))或者π(σ(R⋈S))对于否定的操作,一般要用差操作表示,例如“检索不学C2课的学生姓名”。对于检索具有“全部”特征的操作,一般要用除法操作表示,例如“检索学习全部课程的学生姓名”。78
重要内容分析(二)(2)“检索不学C2课的学生姓名”,绝不能用下式表示:πSNAME,AGE(σC#≠"C2"(S⋈SC))一定要用“差”的形式:πSNAME,AGE(S)-πSNAME,AGE(σC#="C2"(S⋈SC))(3)“检索学习全部课程的学生学号”,要用πS#,C#(SC)÷πC#(C)表示,而不能写成πS#(SC÷πC#(C))形式。这是因为一个学生学的课程的成绩可能是不一样的。79
重要内容分析(三)2.非过程性语言与过程性语言的区别编程时必须指出“干什么”及“怎么干”的语言,称为过程性语言;编程时只须指出“干什么”,不必指出“怎么干”的语言,称为非过程性语言。80
第二章闻诊概念:闻诊是通过听声音和嗅气味用以来诊断疾病的方法。内容:包括听声音和嗅气味两个方面。原理:由于声音和气味都是在脏腑生理活动和病理变化中产生的,所以通过声音与嗅气味的异常变化便可诊察病情。
【教学要求】1.掌握咳嗽、哮、喘、呃逆、嗳气、喷嚏、谵语等变化及其一般临床意义。2.熟悉呼吸、语言、呕吐等声音的高低、强弱、清浊等变化的一般临床意义,口气、汗、痰、二便、带下以及病室气味等变化及其临床意义。
一、听声音听声音是指听辨病人言语气息的高低、强弱、清浊、缓急变化以及咳嗽、呕吐等脏腑病理变化所发出的异常声响,来判断疾病寒热虚实性质的诊病方法。听声音的内容包括听辨病人的声音、语言、呼吸、咳嗽、呕吐、呃逆、嗳气、太息、喷嚏、呵欠、肠鸣等。语言声音的发出,不仅是喉、会厌、舌、齿、唇、鼻等器官直接作用的结果,而且与肺、心、肾等内脏的虚实盛衰有着密切的关系。
(一)、语声声音的辨别要注意语声的有无,语调的高低、强弱、清浊、钝锐,以及有无异常声响,以供辨证参考。一般来说,语声高亢宏亮有力,声音连续者,多属阳证、实证、热证,是阳盛气实,机能亢奋的表现;语声低微细弱,懒言,声音断续,或前重后轻,多属阴症、虚、寒证,多为禀赋不足,气血虚损所致。
1、声重: 多属外感风寒,或湿浊阻滞,肺气不宣,鼻窍不通所致。2、音哑、失音:声音嘶哑称音哑,语而无声(完全不能出声)称失音。“金实不鸣”:新病音哑与失音,多因外感风寒或风热袭肺、痰湿阻肺,邪闭清窍所致。“金破不鸣”:久病音哑与失音,多因肺肾阴亏,阴虚火旺“妊娠失音”:妊娠后期出现音哑与失音,也称子暗。也有暴怒喊叫或持续高声喧讲,伤及喉咙所致音哑或失音者,多属气阴耗伤之类。失音与失语的区别:失音是声音不能发出;失语是不能言语。
3、鼻鼾:若昏睡不醒或神识昏迷的病人鼾声不绝者,多属高热神昏或中风入脏之危候。4、呻吟:呻吟声高亢有力,多为实证、剧痛;久病而呻吟低微无力,多为虚证。5、惊呼:多为剧痛或惊恐所致,小儿发惊呼,多是惊风,成人发出惊呼,除惊恐外,多属剧痛或精神失常。此外,声音异常可见于痫病患者,多因风痰随气上逆所致,小儿啼哭不止或夜啼,多属过食生冷,脘腹冷痛,或心脾蕴热、或食积、虫积,惊恐所致。
(二)、语言一般来说,沉默寡言,语声低微,时断时续者,多属虚证、寒证,烦燥多言,语声高亢有力者,多属实证、热证。
异常语言病理、病性常见病谵语:神识不清,语无伦次,声高有力;热扰心神之实证温病热入心包,或阳明腑实证,痰热扰乱心神郑声:神识不清,语言重复,声低无力,时断时续;心气大伤,精神散乱之虚证疾病晚期,危重病人独语:自言自语,喃喃不休,见人语止,首尾不续;心气不足,神失所养或气郁痰结、阻蔽心窍所致癫证、郁证错语:语言错乱,语后知错虚证:多因心气不足,神失所养久病体虚或老年脏气衰微者实证:多为痰湿、瘀血、气滞阻碍心窍而成呓语:睡中多言,吐字不清,意思不明多因心火,胆热或胃气不和所致;虚呓:久病虚衰,神不守舍狂言:精神错乱,语无伦次,狂躁妄言;情志不遂、气郁化火、痰火互结、内扰心神之阳证、实证。狂病、伤寒蓄血证语言謇涩:神清,吐字不清或困难因习惯而成者不属病态,若每与舌强并见者,多因风痰阻络所致。中风先兆或中风后遗症夺气:语声低微,气短不续,欲言不能中气大虚神志昏迷不知言语中风或小儿惊风
(三)、呼吸一般来说,病人呼吸正常,是形病气未病;呼吸异常,是形气俱病。呼吸气粗,疾出疾入者,多属热证、实证,常见于外感病。呼吸气微,徐出徐入者,多属寒证、虚证、常见于内伤杂病。
异常呼吸病症、病理病性喘:呼吸急促,甚则鼻翼煽动,张口抬肩。发病急,气粗声高,以呼为快(呼气难),风寒袭肺或痰热壅肺,肺失肃降所致实证久病病缓,气怯声低,以吸为快(吸气难),动则加剧,肺肾亏虚,气失摄纳所致虚证哮:喘促时喉间有痰鸣声,时发时止,缠绵难愈宿痰内伏,复感外邪所诱发或因久居寒湿之地,或过食酸咸生冷所诱发喘不兼哮、哮必兼喘虚实夹杂短气:气急而短促,不相接续痰饮、胃肠积滞或气滞或瘀阻所致实证体质虚弱或元气大虚所致虚证少气:气短、气微,气少不足以息,声低不足以听内伤久病体虚或肺肾气虚所致虚证
(四)、咳嗽是肺失宣降,肺气上逆的一种症状。有声无痰谓之咳,有痰无声谓之嗽,有痰有声谓之咳嗽。多见于肺脏疾病,但其它脏腑病证亦可出现咳嗽。对于咳嗽应首先注意分辨咳声和痰的色、量、质的变化,其次要参考时间、病史及兼症等,来鉴别病证的寒热虚实性质。例如:
咳声重浊,痰清色白──多属外感风寒。咳声不扬,痰稠色黄──多属邪热犯肺。干咳少痰,咽喉干燥──多属燥邪犯肺,或肺阴亏虚。咳声轻清,低微气怯──多属肺气亏虚。咳而痰多,滑脱易咯──多属痰浊阻肺。咳如犬吠,常兼声嘶──多属肺肾阴虚,火毒攻喉之白喉。顿咳、百日咳、鸬鹚咳—阵发性、痉挛性、连声不断,久咳不愈,—多因风邪与痰热搏结所致,常见于小儿。
(五)、呕吐是指饮食物,痰涎从胃中上涌,由口中吐出的症状。有物无声为吐;有声无物为干呕;有物有声为呕吐。呕、吐、干呕皆为胃气失于和降所致。临床可根据呕吐的声响强弱、吐势缓急、呕吐物的性状,气味及兼见症状来判断病证的寒热虚实。
吐势徐缓、声音微弱,吐物清稀者──多属虚寒证。吐势较猛,声音壮厉,吐出粘痰黄水,或酸腐或苦者―属实、热证。呕吐呈喷射状──重证热扰神明。如因进餐多发吐泻者──可能为食物中毒。呕吐下利并作──霍乱、类霍乱。朝食暮吐或暮食朝吐──反胃,多属脾阳虚。食入即吐──多为胃热。口干欲饮,饮后则呕──水逆证。
(六)、呃逆是胃气上逆,从咽喉部发出的一种不由自主的冲击声,声短而频,呃呃作响,俗称打呃,唐朝以前称为“哕”。临床根据呃声的高低强弱,间歇时间的长短不同,来判断病证的虚实寒热性质。
呃声频作,高亢而短,其声有力者──多属实证、热证;呃声低沉,声弱无力──多属虚证、寒证;新病呃逆,其声有力──多属寒邪或热邪客于胃;久病,重病呃逆不止,声低气怯无力者──属胃气衰败之危候;突发呃逆,呃声不高不低,无其他病史及兼症者──多属饮食刺激,或偶感风寒,一时胃气上逆动膈所致,一般是短暂的呃逆,不治自愈。
(七)、嗳气是胃中气体上出咽喉所发出的声响,其声长而缓,古代称为噫气。亦属胃气失和而上逆的一种表现。与短促冲击有声的呃逆不同。饱食之后,偶有嗳气,无其它兼症,不属病态,多可自愈。临床根据嗳声和气味的不同,以辨证之虚实。嗳气酸腐,兼脘腹胀满者,多为宿食停滞,属实证。嗳声频作而响亮,嗳气后脘腹胀减,嗳气发作因情志变化而增减者,多为肝气犯胃,属实证。嗳气低沉断续,无酸腐气味,兼见纳呆食少者,多为胃虚气逆,常见于老年人或久病体虚之人,属虚证。嗳气频作,无酸腐气味,兼见脘痛者,多为寒邪客胃,属寒证。
(八)、太息太息又名叹息,是指情志抑郁、胸闷不畅时发出的长吁或短叹声。太息之后自觉宽舒,是情志不遂,肝气郁结之象。
(九)、喷嚏是指肺气上冲于鼻而发出的声响。闻诊主要应注意喷嚏的次数及有无兼证。偶发喷嚏,不属病态。若喷嚏频作,须视病之久暂,新病喷嚏,兼有恶寒发热,鼻流清涕等症状者,多因外感风寒,刺激鼻道之故,属表寒证。久病阳虚之人,突然出现喷嚏,多为阳气回复,病有好转趋势。
(十)、呵欠是张口深舒气,微有声响的一种表现。因困倦欲睡而欠者,不属病态。病者不拘时间,呵欠频频不止,称数欠,多为阴盛阳衰,体虚之故。因而《金匮要略·腹满寒疝宿食病篇》有“中寒家喜欠”之说。
(十一)、肠鸣是腹中胃肠蠕动漉漉作响的症状。在正常情况下,肠鸣声低弱而和缓,一般难以闻及。当肠道传导失常或阻塞不通时,则肠鸣音高亢而频急。临床根据作响的部位及声音来判断病位和病性。胃脘部鸣响如囊裹浆,振动有声,立行或推抚脘部,其声漉漉下行者,多为水饮留聚于胃;鸣响在脘腹,如饥肠漉漉,得温得食则减,饥寒则重者,为中气不足,胃肠虚寒。腹中肠鸣如雷,脘腹痞满,大便泄泻者,多为感受风、寒、湿邪以致胃肠气机紊乱所致。腹内微有肠鸣之声,腹胀,食少纳呆者,多属胃肠气虚、传导功能减弱所致。肠鸣音完全消失,腹部胀满疼痛者,多属胃肠气滞不通之重证。
二、嗅气味嗅气味,是指嗅辨与疾病有关的气味,包括病室、病体、分泌物、排出物,如口气、汗、痰、涕、二便、经、带、恶露、呕吐物等的异常气味。嗅气味可以了解疾病情况,一般气味酸腐臭秽者,多属实热;微有腥臭者,多属虚寒。
(一)、病体气味1、口气:口气,指从口中散发出的异常气味。口臭──多与口腔不洁,龋齿或消化不良有关。口出酸臭气,伴食欲不振,脘腹胀满者─多属胃肠积滞。口出臭秽气者──多属胃热。口气腐臭,或兼咳吐脓血者──多是内有溃腐脓疡。若臭秽难闻,邪龈腐烂者──为牙疳。
2、汗气:汗气指汗液所散发出的气味。病人身有汗气味,可知曾有汗出。汗出腥膻-是风湿热邪久蕴皮肤,津液受到熏蒸所致,多见于风温、湿温、热病,或汗后衣物不洁所致。汗出臭秽-可见于瘟疫或暑热火毒炽盛之证;腋下随汗散发阵阵臊臭气味者-是湿热内蕴所致,可见于狐臭病。
3、痰、涕之气:正常状态下,人体排出少量痰和涕,无异常气味。病者咳吐浊痰脓血,腥臭异常-属肺痈,为热毒炽盛所致;咳痰黄稠味腥者──肺热壅盛所致;咳吐痰涎清稀味咸,无特异气味者──属寒证;鼻流浊涕腥秽如鱼脑者──为鼻渊;鼻流清涕无气味者──为外感风寒。
4、二便之气:二便闻诊除注意了解特殊臊臭气味外,要结合望诊综合分析判断。如:大便酸臭难闻者──多属肠有郁热;大便溏泻而腥者──多属脾胃虚寒;大便泄泻臭如卵,夹有未尽消化食物,失气酸臭者──是宿食内停,消化不良之故;小便黄赤浑浊,有臊臭味者──多属膀胱湿热;尿甜并散发苹果样气味者──消渴病。
5、经、带、恶露之气:经带闻诊主要是了解有无特异气味。月经臭秽者──多属热证。月经气腥者──多属寒证。带下黄稠而臭秽者──多属湿热。带下白稀而腥臭者──多属寒湿。崩漏或带奇臭,并杂见异常颜色-见于癌症,属危重病证。产后恶露臭秽者──多属湿热下注。
6、呕吐物之气:指通过嗅觉辨呕吐物气味,以判断病证的寒热性质。呕吐物清稀无臭味者──多属胃寒;呕吐物气味酸臭秽浊者──多属胃热;呕吐未消化食物,气味酸腐者──为食积;呕吐物无酸腐味者──多属气滞;呕吐脓血而腥臭味──为内有脓疡。病体散发的各种异常气味,临床上除医生直接闻诊所得外,其它诸如痰、涕、二便、妇女经带恶露等排出物的异常气味,可通过问诊获知。
(二)、病室气味病室气味实际是由病体本身或排出物所散发的。气味从病体发展到充斥病室,说明病情重笃。
病室臭气触人──多为瘟病;病室充有血腥味──病者多患失血证;病室散有腐臭气──病者多患溃腐疮疡;病室尸臭──多为病者脏腑衰败,病情重笃;病室尿臊气(氨气味)──见于水肿病晚期(尿毒症);病室有烂苹果气味(酮体气味)─多为消渴病患者,亦属危重证。'
您可能关注的文档
- 最新数学:14《三角函数的图像与性质习题课》课件(新人教A版必修4)课件PPT.ppt
- 最新数学:1.5《定积分的概念》PPT课件(新人教A版-选修2-2)课件PPT.ppt
- 最新数据、模型与决策线性规划课件PPT.ppt
- 最新数学:第十五章整式的乘法公式复习课件PPT课件.ppt
- 最新数学:《反证法》课件-(浙教版八年级下)课件PPT.ppt
- 最新数据库-数据的定义(SQL语言)课件PPT.ppt
- 最新数据分析培训课件PPT课件.ppt
- 最新数据库技术及应用指南课件PPTCH3 SQL语言教学讲义ppt课件.ppt
- 最新数据库技术及应用指南课件PPTCH3 SQL语言教学讲义ppt.ppt
- 最新数据挖掘-第二章-认识数据课件PPT.ppt
- 最新数据结构(Java版)查找课件PPT.ppt
- 最新数据结构05课件PPT.ppt
- 最新数据编辑课件PPT.ppt
- 最新数据结构课件-第5章-数组、广义表课件PPT.ppt
- 最新数控机床故障诊断与维修项目10课件PPT.ppt
- 最新数控技术54节资料课件PPT.ppt
- 最新数控机床维修元器件库要点课件PPT.ppt
- 最新数控机床维修33课件PPT.ppt