数据库系统概念PPT第九章_对应原版教材第五版_第1页
数据库系统概念PPT第九章_对应原版教材第五版_第2页
数据库系统概念PPT第九章_对应原版教材第五版_第3页
数据库系统概念PPT第九章_对应原版教材第五版_第4页
数据库系统概念PPT第九章_对应原版教材第五版_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

Chapter9 Object BasedDatabases ComplexDataTypesandObjectOrientationStructuredDataTypesandInheritanceinSQLTableInheritanceArrayandMultisetTypesinSQLObjectIdentityandReferenceTypesinSQLImplementingO RFeaturesPersistentProgrammingLanguagesComparisonofObject OrientedandObject RelationalDatabases Overview Traditionaldatabaseapplications Largeamountofrelativelysimpletypeofdata Shortandsimpletransaction task Somenewapplicationsneeddatamanagementsupport Withcomplexdatatype computeraideddesign CAD andgeographicalinformationsystems GIS Object RelationalDatabasesystem Object OrientedDatabaseSystem Withlongandcomplextasks verycomplexdataanalysis DatawarehouseandDataMining Object RelationalVsObjectOriented Object RelationalBasedontraditionalRelationalDatamodelExtendthedatamodeltosupportcomplexdatatype includingobjectorientationandconstructstodealwithaddeddatatypes Allowattributesoftuplestohavecomplextypes includingnon atomicvaluessuchasnestedrelations Preserverelationalfoundations inparticularthedeclarativeaccesstodata whileextendingmodelingpower DrivenbycommercialDBMSvendors Object OrientedBasedonobject orientedprogramminglanguages suchasC Java Extendthedatapersistencyfeaturetotheprogramminglanguagetosupportdatastorageandmanipulation ComplexTypesandSQL 1999 ExtensionstoSQLtosupportcomplextypesinclude CollectionandlargeobjecttypesNestedrelationsareanexampleofcollectiontypesStructuredtypesNestedrecordstructureslikecompositeattributesInheritanceObjectorientationIncludingobjectidentifiersandreferencesOurdescriptionismainlybasedontheSQL 1999standardNotfullyimplementedinanydatabasesystemcurrentlyButsomefeaturesarepresentineachofthemajorcommercialdatabasesystemsReadthemanualofyourdatabasesystemtoseewhatitsupports StructuredTypesandInheritanceinSQL StructuredtypescanbedeclaredandusedinSQLcreatetypeNameas firstnamevarchar 20 lastnamevarchar 20 finalcreatetypeAddressas streetvarchar 20 cityvarchar 20 zipcodevarchar 20 notfinalNote finalandnotfinalindicatewhethersubtypescanbecreatedStructuredtypescanbeusedtocreatetableswithcompositeattributescreatetablecustomer nameName addressAddress dateOfBirthdate Dotnotationusedtoreferencecomponents name firstname StructuredTypes cont User definedrowtypescreatetypeCustomerTypeas nameName addressAddress dateOfBirthdate notfinalCanthencreateatablewhoserowsareauser definedtypecreatetablecustomerofCustomerType Methods Canaddamethoddeclarationwithastructuredtype methodageOnDate onDatedate returnsintervalyearMethodbodyisgivenseparately createinstancemethodageOnDate onDatedate returnsintervalyearforCustomerTypebeginreturnonDate self dateOfBirth endWecannowfindtheageofeachcustomer selectname lastname ageOnDate current date fromcustomer Inheritance Supposethatwehavethefollowingtypedefinitionforpeople createtypePerson namevarchar 20 addressvarchar 20 UsinginheritancetodefinethestudentandteachertypescreatetypeStudentunderPerson degreevarchar 20 departmentvarchar 20 createtypeTeacherunderPerson salaryinteger departmentvarchar 20 Subtypescanredefinemethodsbyusingoverridingmethodinplaceofmethodinthemethoddeclaration MultipleInheritance SQL 1999andSQL 2003donotsupportmultipleinheritanceIfourtypesystemsupportsmultipleinheritance wecandefineatypeforteachingassistantasfollows createtypeTeachingAssistantunderStudent TeacherToavoidaconflictbetweenthetwooccurrencesofdepartmentwecanrenamethemcreatetypeTeachingAssistantunderStudentwith departmentasstudent dept Teacherwith departmentasteacher dept ConsistencyRequirementsforSubtables Consistencyrequirementsonsubtablesandsupertables Eachtupleofthesupertable e g people cancorrespondtoatmostonetupleineachoftheimmediatesubtables e g studentsandteachers Thatis nooverlapamongsubtables AdditionalconstraintinSQL 1999 Alltuplescorrespondingtoeachother thatis withthesamevaluesforinheritedattributes mustbederivedfromonetuple insertedintoonetable Thatis eachentitymusthaveamostspecifictypeWecannothaveatupleinpeoplecorrespondingtoatupleeachinstudentsandteachers ArrayandMultisetTypesinSQL Exampleofarrayandmultisetdeclaration createtypePublisheras namevarchar 20 branchvarchar 20 createtypeBookas titlevarchar 20 author arrayvarchar 20 array 10 pub datedate publisherPublisher keyword setvarchar 20 multiset createtablebooksofBookSimilartothenestedrelationbooks butwitharrayofauthorsinsteadofset CreationofCollectionValues Arrayconstructionarray Silberschatz Korth Sudarshan Multisetsmultisetset computer database SQL Tocreateatupleofthetypedefinedbythebooksrelation Compilers array Smith Jones Publisher McGraw Hill NewYork multiset parsing analysis Toinserttheprecedingtupleintotherelationbooksinsertintobooksvalues Compilers array Smith Jones Publisher McGraw Hill NewYork multiset parsing analysis QueryingCollection ValuedAttributes Tofindallbooksthathavetheword database asakeyword selecttitlefrombookswhere database in unnest keyword set WecanaccessindividualelementsofanarraybyusingindicesE g Ifweknowthataparticularbookhasthreeauthors wecouldwrite selectauthor array 1 author array 2 author array 3 frombookswheretitle DatabaseSystemConcepts Togetarelationcontainingpairsoftheform title author name foreachbookandeachauthorofthebookselectB title A authorfrombooksasB unnest B author array asA author ToretainorderinginformationweaddawithordinalityclauseselectB title A author A positionfrombooksasB unnest B author array withordinalityasA author position Unnesting Thetransformationofanestedrelationintoaformwithfewer orno relation valuedattributesuscalledunnesting E g selecttitle A author publisher nameaspub name publisher branchaspub branch K keywordfrombooksasB unnest B author array asA author unnest B keyword set asK keyword Nesting Nestingistheoppositeofunnesting creatingacollection valuedattributeNOTE SQL 1999doesnotsupportnestingNestingcanbedoneinamannersimilartoaggregation butusingthefunctioncollect inplaceofanaggregationoperation tocreateamultisetTonesttheflat booksrelationontheattributekeyword selecttitle author Publisher pub name pub branch aspublisher collect keyword askeyword setfromflat booksgroupbytitle author publisherTonestonbothauthorsandkeywords selecttitle collect author asauthor set Publisher pub name pub branch aspublisher collect keyword askeyword setfromflat booksgroupbytitle publisher 1NFVersionofNestedRelation 1NFversionofbooks flat books Nesting Cont Anotherapproachtocreatingnestedrelationsistousesubqueriesintheselectclause selecttitle array selectauthorfromauthorsasAwhereA title B titleorderbyA position asauthor array Publisher pub name pub branch aspublisher multiset selectkeywordfromkeywordsasKwhereK title B title askeyword setfrombooks4asB Object IdentityandReferenceTypes Objectorientedlanguageprovidetheabilitytorefertoobjects InSQL wecandefinethisreferencetypeusingobject identity E g DefineatypeDepartmentwithafieldnameandafieldheadwhichisareferencetothetypePerson withtablepeopleasscope createtypeDepartment namevarchar 20 headref Person scopepeople WecanthencreateatabledepartmentsasfollowscreatetabledepartmentsofDepartmentWecanomitthedeclarationscopepeoplefromthetypedeclarationandinsteadmakeanadditiontothecreatetablestatement createtabledepartmentsofDepartment headwithoptionsscopepeople Object Identifier Thetypeoftheobject identifiermustbespecifiedaspartofthetypedefinitionofthereferencedtableThereareseveralwaysofgeneratingobject identifierSystemgenerated Userdefined Useprimarykeyasobject identifier SystemgeneratedOID WecandefinetheObjectIdentifieras CreatetablepeopleofPersonRefisperson idsystemgeneratedTocreateatuplewithareferencevalue wecanfirstcreatethetuplewithanullreferenceandthensetthereferenceseparately insertintodepartmentsvalues CS null updatedepartmentssethead selectp person idfrompeopleaspwherename John wherename CS UserGeneratedIdentifiers ThetabledefinitioncanspecifythatthereferenceisusergeneratedcreatetypePerson namevarchar 20 addressvarchar 20 refusingvarchar 20 createtablepeopleofPersonrefisperson idusergeneratedWhencreatingatuple wemustprovideauniquevaluefortheidentifier insertintopeople person id name address values 01284567 John 23CoyoteRun Wecanthenusetheidentifiervaluewheninsertingatupleintodepartmentsinsertintodepartmentsvalues CS 02184567 UsingPrimaryKeyasOID Canuseanexistingprimarykeyvalueastheidentifier createtypePerson namevarchar 20 primarykey addressvarchar 20 reffrom name createtablepeopleofPersonrefisperson idderivedWheninsertingatuplefordepartments wecanthenuseinsertintodepartmentsvalues CS John PathExpressions Findthenamesandaddressesoftheheadsofalldepartments selecthead name head addressfromdepartmentsAnexpressionsuchas head name iscalledapathexpressionPathexpressionshelpavoidexplicitjoinsIfdepartmentheadwerenotareference ajoinofdepartmentswithpeoplewouldberequiredtogetattheaddressMakesexpressingthequerymucheasierfortheuser ImplementingO RFeatures SimilartohowE RfeaturesaremappedontorelationschemasSubtableimplementationEachtablestoresprimarykeyandthoseattributesdefinedinthattableor Eachtablestoresbothlocallydefinedandinheritedattributes PersistentProgrammingLanguages LanguagesextendedwithconstructstohandlepersistentdataProgrammercanmanipulatepersistentdatadirectlynoneedtofetchitintomemoryandstoreitbacktodisk unlikeembeddedSQL Persistentobjects byclass explicitdeclarationofpersistencebycreation specialsyntaxtocreatepersistentobjectsbymarking makeobjectspersistentaftercreationbyreachability objectispersistentifitisdeclaredexplicitlytobesoorisreachablefromapersistentobject Systems Earlytomiddle1990s ObjectOrientedDatabasesystemwasveryhot manyPersistentversionsofC systemwerebuilt However themarketforsuchdataba

温馨提示

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

评论

0/150

提交评论