关系模型及oracle对象关系数据库_第1页
关系模型及oracle对象关系数据库_第2页
关系模型及oracle对象关系数据库_第3页
关系模型及oracle对象关系数据库_第4页
关系模型及oracle对象关系数据库_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章关系模型及oracle对象关系数据库3.1关系模型和基本概念3.2关系代数3.3oracle对象关系数据库系统第一页,共三十五页。关系数据库系统是支持关系模型的数据库系统。1970年初,IBM公司的高级研究员Dr.E.F.Codd发表论文提出了关系模型,奠定了关系数据库的理论基础。Dr.E.F.Coddproposedtherelationalmodelfordatabasesystemsin1970s.Vendors:ORACLE(9i),IBM(DB2),Microsoft(ACESSandSQLServer),Foxbase(Foxpro),Sybase第二页,共三十五页。关系的定义关系(relation):一个关系对应一张二维表元组(tuple):表中的一行即为一个元组属性(attribute):表中的一列为一个属性,给每个属性起一个名字即属性名(ID,NAME,PHONE,SALES-REP-ID)

第三页,共三十五页。主码(primarykey):表中的某个属性组,它可以唯一确定元组。eachrowofdatainatableisuniquelyidentifiedbyaprimarykey.Itmustcontainavalue外码(foreignkey):youcanlogicallyrelateinformationfrommultipletablesusingforeignkeys.

第四页,共三十五页。关系模型关系模型由关系数据结构,关系操作和关系完整性约束三部分组成。数据结构——关系(二维表),它由行和列组成。关系操作——

常见的关系操作包括:选择select,投影project,连接join,除divide,并union,交intersection,差difference等查询query操作和增加insert,删除delete,修改update操作两大部分。完整性——关系的三类完整性约束实体完整性、参照完整性、用户定义的完整性

返回第五页,共三十五页。关系代数Therelationalalgebra(关系代数)isthebasisofSQL.BasicStructure——Cartesianproduct(笛卡儿积)Formally,givensetsD1,D2,….DnarelationrisasubsetofD1xD2x…xDn,

Thusarelationisasetofn-tuples(a1,a2,…,an)whereeachai

Di第六页,共三十五页。例如,D1=导师集合={张清玫,刘逸},D2=专业集合={计算机,信息},D3=研究生集合={李勇,刘晨,王名}则D1XD2XD3={(张清玫,计算机,李勇),(张清玫,计算机,刘晨),(张清玫,计算机,王名),(张清玫,信息,李勇),(张清玫,信息,刘晨),(张清玫,信息,王名),(刘逸,计算机,李勇),(刘逸,计算机,刘晨),(刘逸,计算机,王名),(刘逸,信息,李勇),(刘逸,信息,刘晨),

(刘逸,信息,王名)

},共12个元组。笛卡儿积可对应一张二维表。ExampleofCartesianproduct第七页,共三十五页。basicoperatorsSetintersection交Union并setdifference差(集合差)Cartesianproduct笛卡儿积Select选择Project投影Naturaljoin自然连接Division除Theoperatorstaketwoormorerelationsasinputsandgiveanewrelationasaresult.第八页,共三十五页。(1)SelectOperation–ExampleRelationrABCDA=B^D>5

(r)ABCD123710注:选择条件必须是针对同一元组中的相应属性值进行比较第九页,共三十五页。Notation:

p(r)piscalledtheselectionpredicateDefinedas:

p(r)={t|tr

andp(t)} Wherepisaformulainpropositionalcalculusconsistingoftermsconnectedby:(and),(or),(not)

Eachtermisoneof: <attribute> op <attribute>or<constant>whereopisoneof:=,,>,.<.Exampleofselection:

branch-name=“Perryridge”(account)第十页,共三十五页。(2)ProjectOperation–ExampleRelationr:ABC102030401112AC1112=AC112A,C(r)第十一页,共三十五页。Notation:

A1,A2,…,Ak(r) whereA1,A2areattributenamesandrisarelationname.TheresultisdefinedastherelationofkcolumnsobtainedbyerasingthecolumnsthatarenotlistedDuplicaterowsremovedfromresult,sincerelationsaresetsE.g.Toeliminatethebranch-nameattributeofaccount

account-number,balance(account)

第十二页,共三十五页。(3)UnionOperation–ExampleRelationsr,s:rs:AB121AB23rsAB1213第十三页,共三十五页。Notation:r

sDefinedas:

r

s={t|trorts}Forr

stobevalid:

1.r,

smusthavethesamearity(等目,同元,samenumberofattributes) 2.Theattributedomainsmustbecompatible(e.g.,2ndcolumn

ofrdealswiththesametypeofvaluesasdoesthe2nd

columnofs)E.g.tofindallcustomerswitheitheranaccountoraloan

customer-name(depositor)customer-name(borrower)第十四页,共三十五页。(4)SetDifferenceOperation–ExampleRelationsr,s:r–s:AB121AB23rsAB11第十五页,共三十五页。Notationr–sDefinedas:

r–s={t|t

r

andts}

Setdifferencesmustbetakenbetweencompatiblerelations.randsmusthavethesamearityattributedomainsofrandsmustbecompatible第十六页,共三十五页。(5)Cartesian-ProductOperation-Example(广义笛卡儿积)Relationsr,s:rx

s:AB12AB11112222CD1010201010102010EaabbaabbCD10102010Eaabbrs第十七页,共三十五页。(6)Set-IntersectionOperationNotation:r

sDefinedas:r

s={t|t

r

and

t

s}Assume:r,shavethesamearity

attributesofrandsarecompatibleNote:r

s=r-(r-s)第十八页,共三十五页。Set-IntersectionOperation-ExampleRelationr,s:rsAB121AB23rsAB

2第十九页,共三十五页。Notation:rs(7)Natural-JoinOperationLetrandsberelationsonschemasRandSrespectively.

Then,rsisarelationonschemaR

Sobtainedasfollows:Considereachpairoftuplestrfromrandtsfroms.IftrandtshavethesamevalueoneachoftheattributesinR

S,addatuplettotheresult,wherethasthesamevalueastronrthasthesamevalueastsonsExample:R=(A,B,C,D)S=(E,B,D)Resultschema=(A,B,C,D,E)r

sisdefinedas:

r.A,r.B,r.C,r.D,s.E(r.B=s.Br.D=s.D(rxs))第二十页,共三十五页。NaturalJoinOperation–ExampleRelationsr,s:AB12412CDaababB13123DaaabbErAB11112CDaaaabEsrs注:(1)r,s必须含有共同属性(名,域对应相同),(2)连接二个关系中同名属性值相等的元组(3)结果属性是二者属性集的并集,但消去重名属性。第二十一页,共三十五页。Thetajoin:rs=(rxs)

isthepredicateonattributesintheschema.ThetaJoinistheextensiontotheNatureJoin.第二十二页,共三十五页。(8)DivisionOperationSuitedtoqueriesthatincludethephrase“forall”.LetrandsberelationsonschemasRandSrespectivelywhereR=(A1,…,Am,B1,…,Bn)S=(B1,…,Bn)TheresultofrsisarelationonschemaR–S=(A1,…,Am)

rs={t|tR-S(r)us(tur)}注:商来自于R-S(r),并且其元组t与s的拼接被r覆盖。

rs

第二十三页,共三十五页。DivisionOperation–ExampleRelationsr,s:r

s:AB12AB12311134612rs返回第二十四页,共三十五页。Oracle体系结构

(1)物理结构

datafilesredologfilescontrolfilesparameterfile

数据文件日志文件控制文件参数文件

datafilesredologfilescontrolfileparameteriles*.dbf*.logInitoraid.ora*.ctl第二十五页,共三十五页。第二十六页,共三十五页。(2)内存结构(SGA)

占OS内存的60-70%,大小可由参数文件内参数计算

sharedpool(共享池),databasebuffercache(数据缓冲区),

redologbuffer(重做日志缓冲区)(如以下图所示)

SGA=share_pool_size+db_block_size*db_block_buffers+log_buffers第二十七页,共三十五页。shared_pooldatabase_buffer_cacheredo_logbuffer第二十八页,共三十五页。SGAbackgroundprocess(3)instance=SGA+backgroundprocess

实例=内存分配+一组后台进程

如果把Oracle比作一部汽车,instance相当于汽车的发动机一样,启动oracle前提应先启动instance.第二十九页,共三十五页。(4)session(连接)

Oracle是多用户、多任务、可分布式管理的数据库,同时可有许多个用户对数据库操作。oracleuseruserusersession第三十页,共三十五页。(5)transaction(一组修改动作的集合)交易事务

Eg:

1、

insertDDL(数据定义语句)

delete例如:create,alter,drop,conmit等

commit每两个DDL语句间是一个transaction

2、

updateDML(数据控制语句)

rollback

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论