第2章对象关系数据库PPT讲稿.ppt
《第2章对象关系数据库PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2章对象关系数据库PPT讲稿.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章对象关系数据库第1页,共25页,编辑于2022年,星期一2.1 嵌套关系嵌套关系是表示现实数据一种最自然的方式,它是对象关系模型的基础例子:文档检索系统,文档信息包括*文档的标题:原子属性*作者:非原子属性*日期:非原子属性(年、月、日)*关键词:非原子属性第2页,共25页,编辑于2022年,星期一2.1 嵌套关系1NF关系flatDoc第3页,共25页,编辑于2022年,星期一2.1 嵌套关系嵌套关系NestedDoc第4页,共25页,编辑于2022年,星期一2.1 嵌套关系在关系flatDoc中存在以下多值依赖关系title authortitle keywordtitle day
2、month year可以分解为满足4NF范式的关系模式(title,autor)(title,keyword)(title,day,month,year)第5页,共25页,编辑于2022年,星期一2.1 嵌套关系分解后的关系第6页,共25页,编辑于2022年,星期一2.2 对象关系模型-SQL32.2.1结构类型和集合类型create type MyString char varyingcreate type MyDate(day integer,month char(10),year integer)create type Document(name MyString,autohr-list
3、 setof(MyString),date MyDate,keyword-list setof(MyString)create table doc of type Documentcreate table doc(name MyString,author-list setof(MyString),date MyDate,keyword-list setof(MyString)第7页,共25页,编辑于2022年,星期一2.2 对象关系模型-SQL32.2.1结构类型和集合类型(续)允许将一个属性定义为一个集合:如关系表doc中的属性author-list和keyword-list允许将一个属性定
4、义为一个结构:如doc中的属性date类型定义要被记录在数据库模式中,而在持久性编程语言种类型定义不被保存在数据库中聚集属性类型:setof,array,multiset,list-author-array MyString10-print-runs multiset(integer)第8页,共25页,编辑于2022年,星期一2.2.2 继承-类型继承类型继承 create type Person(name MyString,social-security integer)create type Student(degree MyString,department MyString)under
5、 Person create type Teacher(salary integer,department MyString)under Person类型Student和Teacher是类型Person的子型(subtype),而类型Person是类型Student和Teacher的超型(Supertype)第9页,共25页,编辑于2022年,星期一2.2.2 继承-(2)多继承create type TeachingAssitant under Student,Teacher继承冲突问题类型Person中的属性name和social-security:由于来自相同的超型,不会发生冲突类型St
6、udent和Teacher中继承的属性department:发生冲突,因为一个TA可能是计算机系的学生,但是自动化系的教学助手解决手段:换名子句 create type TeachingAssitant under Student with(department as student-dept),Teacher with(department as teacher-dept)第10页,共25页,编辑于2022年,星期一2.2.2 继承-(3)表级继承表级继承语句-create table people(name MyString,social-secrity integer)-create t
7、able students(degree Mystring,department Mystring)under people-create table teachers(salary integer,department MyString)under peoplestudents和teachers称之为people的 子 表,people称 之 为 students和teachers的超表超表people中的每个元组对应于子表student和teachers中的至多一个元组(对于所有的继承属性具有相同属性值)在子表students和teachers中的每个元组必须对应于超类people中的一个
8、元组(对于所有继承属性来讲具有相同值)定义一个teaching-asitants子表 create table teaching-assitants under students with(department as student-dept),teachers with(department as teacher-dept)第11页,共25页,编辑于2022年,星期一2.2.3 引用类型*引用类型:面向对象系统提供对对象的引用功能,对象的属性类型可以是对一个特定类型对象的引用。-author-list setof(ref(Person):是一个Person对象引用的集合-author-lis
9、t setof(Person )-两者间的区别:前一个是引用语义,而后一个是拷贝语义第12页,共25页,编辑于2022年,星期一2.2.3 引用类型head ref(Person)scope people引用限制在people表中的元组,与外码类似 insert into department values(CS,null)update departmentsset head=(select ref(p)from people as p where name=John)where name=CS通过查询得到元组的标识符的值,设置给事先创建好的空引用的元组。第13页,共25页,编辑于2022年,
10、星期一2.2.3 引用类型create table people of Person ref is oid system generated 或 ref is oid user generated自引用属性(self-referential attribute)类型create type Person(name varchar(20)primary key,address varchar(20)ref from(name)create table people of Personref is oid derived使用主码值作为标识符,可在类型定义中使用ref from子句第14页,共25页,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对象 关系 数据库 PPT 讲稿
限制150内