???
本文研究有關(guān)Oracle數(shù)據(jù)庫對(duì)象的用法。Oracle中包含五種數(shù)據(jù)庫對(duì)象,分別為別名、序列、視圖、索引和簇,其中別名和序列為Oracle中特有的數(shù)據(jù)庫對(duì)象。
??? 別名:通過對(duì)Oracle中數(shù)據(jù)表設(shè)置別名之后,可以使用別名對(duì)數(shù)據(jù)表進(jìn)行與原表名同樣的各種操作。其語句關(guān)鍵字為synonym,下面看其具體用法。
??? 創(chuàng)建同義詞:create synonym student for stu;
??? 通過創(chuàng)建后,student即為stu表的別名,因此以下兩語句執(zhí)行結(jié)果為一樣的
??? select *from student;? ==>?? select *from stu;
??? 刪除同義詞:drop synonym student;
??? 序列:作為Oracle的特有對(duì)象,序列用來實(shí)現(xiàn)Oracle的主鍵自增,這是區(qū)別于其他關(guān)系數(shù)據(jù)庫的。關(guān)鍵字為sequence。
??? 創(chuàng)建序列方法:create sequence NumSeq increment by 1 start with 1 maxvalue 999;創(chuàng)建一個(gè)序列從1開始遞增量為1并設(shè)置最大值為999。
??? 序列使用:insert into testTable values(NumSeq.nextVal);
??????? nextVal
?
返回下一個(gè)可用的值
;?
??????? currVal
?
獲得當(dāng)前序列中值
??
第一次需先返回一個(gè)
nextVal
,才能取得curr
Val
值.??
??????? Alter? sequence?
修改序列定義: alter sequence NumSeq set maxvalue 1000;
??? 視圖與索引:其用法與其他數(shù)據(jù)庫相同,這里不多贅述。
??? 簇:
兩表或多個(gè)表中存在相同列,將相同列存儲(chǔ)在一個(gè)空間中,以節(jié)省空間。
??? 創(chuàng)建簇方法:
??? create cluser classcluser
??? (
?????????? ClassNo varchar2(10)
??? );
??? 為簇創(chuàng)建索引? create index cluserIndex on cluser classcluser;
??? 創(chuàng)建表StuClass并指向已定義簇
??? create table StuClass
??? (
?????????? ClassNo varchar2(10),
?????????? ClassName varchar2(20)
??? )cluser classcluser(ClassNo);
??? 創(chuàng)建表Student并指向已定義簇
??? create table Student
??? (
?????????? StuNo int,
?????????? ClassNo varchar2(10)
??? )cluser classcluser(ClassNo);
?
鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
???? 隱姓埋名/低調(diào)華麗/簡單生活/完美人生