数据库基础与应用课件_第1页
数据库基础与应用课件_第2页
数据库基础与应用课件_第3页
数据库基础与应用课件_第4页
数据库基础与应用课件_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

对象关系数据库

1关系模型的限制2新的数据类型3用户自定义类型4存储对象的表5子表和超表关系模型的限制关系模型要求:属性不能是复合类型属性的值不能是多值不支持IsA语义编号姓名职称工

资扣

除实发基本工龄职务房租水电86051陈平讲师120550801601201055………………………………………………姓

名电话号码王

林8636xxxx(H),8797xxxx(O),139xxxxx001张大民133xxxxx125,138xxxxx878Product(model,

maker,

type)PC(model,

speed,

ram,

hd,

cd,

price)Laptop(model,

speed,

ram,

hd,

screen,

price)Printer(model,

color,

type,

price)新的数据类型-Array例10.5创建Sales表,记录商品12个月的销售量。CREATE

TABLE

Sales(

ITEM_NO

CHAR(20),

--商品号

QTY

INTEGER

ARRAY[12],

--整型数组,存放12个月的销售额

PRIMARY

KEY(ITEM_NO)

);INSERT

INTO

Sales(ITEM_NO,QTY)VALUES

('T-shirt2000',

array[200,150,200,100,50,70,80,200,10,20,100,200]);SELECT

ITEM_NO

FROM

Sales

--从Sales表中选出满足下面条件的商品号WHERE

QTY[3]>100;

--QTY数组的第3个值大于100新的数据类型-multiset例10.6CREATE

TABLE

Student

(

sno

char(7),

Sname

char(8),

Ssex

char(2),

Sage

smallint,

Sdept

char(20),

PhoneList

varchar(20)

multiset);INSERT

INTO

Student

VALUES('2000012','王林','男',19,'计算机',

multiset('12345678',

'139xxxxxxxx'));SELECT

S.SnameFROM

Student

SWHERE

'12345678'

in

unnest(S.PhoneList);新的数据类型-rowCREATE

TABLE

person

(

pno

int,

name

row(first_name

VARCHAR2(30),

last_name

VARCHAR2(30)),

address

row(street

VARCHAR2(50),

city

VARCHAR2(50)),

birthday

date);pnonameaddressbirthdayfirst_namelast_namestreetcity………………………………SELECTaddress.cityFROMperson创建新的数据类型-CREATETYPE新的数据类型:用户自定义类型类类CREATE

TYPE

StudentType

AS

(

Sno

char(7),

Sname

char(8),

Ssex

char(2),

Sage

int,

Sdept

char(20));CREATE

TYPE

StudentType

AS

(

Sno

char(7),

Sname

char(8),

Ssex

char(2),

Sage

int,

Sdept

char(20))methodage(OnDatedate)returnsintervalyear;

CREATE

INSTANCE

METHOD

age(OnDate

date)

FOR

PersonTypeLANGUAGE

SQLBEGIN

return

OnDate

self.dayOfBirth;END;子类/超类CREATE

TYPE

post-studentType

under

StudentType

(Supervisor

char(8));新的数据类型-ref例10.7定义Student类型和Course类型,二者之间存在参照关系。

CREATE

TYPE

StudentType

AS

(

Sno

char(7),

Sname

char(8),

Ssex

char(2),

Sage

int,

Sdept

char(20),

Courses

ref(CourseType)

multiset);CREATE

TYPE

CourseType

AS

(

Cno

char(4),

Cname

char(40),

Cpno

char(4),

Ccredit

int,

Students

ref(StudentType)

multiset);aStudentTypeaCourseTypeaCourseTypeaCourseTypeaCourseTypeaStudentTpeaStudentType对象关系(表)CREATE

TABLE

OStudent

OF

StudentType创建表OStudentOStudent是StudentType对象的集合refobjectoid.........SELECT

S.SnoFROM

OStudent

SWHERE

S.Sname

=

'王林';SELECT

S.Sno()FROM

OStudent

SWHERE

S.Sname()

=

'王林';对象关系(表)INSERT

INTO

OStudentVALUES(new

StudentType()

.Sno('2000012')

.Sname('王林')

.Ssex('男')

.Sage(19)

.Sdept('计算机')

);子表/超表CREATE

TABLE

OPostStudent

OF

post-studentType

under

OStudent

类型StudentTypepost-studentType表OStudentOPostStudentIsA关系:apoststudentisastude

温馨提示

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

评论

0/150

提交评论