《数据厍设计与开发》讲义 1.4.2 ORACLE对象关系库(一个例子) 家属属性有内部数据结构,对象类型 职工号姓名职务 家属 关系 姓名 0001张家口职员妻子 李小玫 儿子。张冠李 0002柴米油经理妻子陆续琴 妻子朱那亚 0030成功职员/儿子郝乃军 女儿郝佳欣 每个行中包含多个值汇集类型 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.4.2 ORACLE对象关系库(一个例子) 职工号 姓名 职务 家属 关系 姓名 0001 张家口 职员 妻子 李小玫 儿子 张冠李 0002 柴米油 经理 妻子 陆续琴 0003 郝成功 职员 妻子 朱那亚 儿子 郝乃军 女儿 郝佳欣 家属属性有内部数据结构,对象类型 每个行中包含多个值,汇集类型
《数据厍设计与开发》讲义 1.4.2.10 RACle中对象类型 个对象类型有多个类型属性, ORACLE中对象类 型由 Create type语句创建. Fi create type namesex t as object SQL*plus中创 name char(8) sex char((2);/←建对象必须有/ create table employees(eid char(4) ename namesex t, job char(6)) insert into employees value(0001 namesex t(赵子龙’,男’)经理’) select e eid. e ename name. e ename sex typename(属性 from employees e 值)称为对象构 前面‘表名 造器 where e job=业务员’ 不能省略 北京邮电次学软优学 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.4.2.1 ORACLE中对象类型 • 一个对象类型有多个类型属性,ORACLE中对象类 型由Create type语句创建. 例:create type namesex_t as object (name char(8),sex char(2));/ create table employees (eid char(4), ename namesex_t,job char(6)); insert into employees value(‘0001’ , namesex_t(‘赵子龙’ , ’男’),’经理’); select e.eid,e.ename.name,e.ename.sex from employees e where e.job=‘业务员’; SQL*plus中创 建对象必须有/ 前面‘表名.’ 不能省略 typename(属性 值)称为对象构 造器
《数据厍设计与开发》讲义 1.4.2.10 RacLe中对象类型 创建对象的一般格式: CREATE TYPE typename AS OBJECT (属性名类型[属性名类型.]) 可以是其他用户已经定义的类型由此形成对象的嵌套和依赖 ( informⅸx中用 create row type rownameo,行类型) 若 ORACLE中表的行包含对象类型,则称为对象 表( informⅸ中称类型表).用如下形式定义表: CREATE TABLE tablename OF typename 属性名 NOT NULL属性名 NOT NULL.]| typename L PRIMARY KEY(属性名[属性名.]) 对象中属 DROP TYPE typename FORCeI 性即成为 DROP TABLE tablename 表中属性 北京邮电次学软优学 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.4.2.1 ORACLE中对象类型 • 创建对象的一般格式: CREATE TYPE typename AS OBJECT (属性名 类型 [,属性名 类型…]); (informix中用create row type rowname(),行类型) • 若ORACLE中表的行包含对象类型,则称为对象 表(informix中称类型表).采用如下形式定义表: CREATE TABLE tablename OF typename [([属性名 NOT NULL][,属性名 NOT NULL…] [,PRIMARY KEY (属性名[,属性名…])])]; • DROP TYPE typename [FORCE]; DROP TABLE tablename; 可以是其他用户已经定义的类型,由此形成对象的嵌套和依赖 typename 对象中属 性即成为 表中属性