国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
一個(gè)完整的Oracle建表的例子 ? 半瓶

一個(gè)完整的Oracle建表的例子

建表一般來說是個(gè)挺簡單的事情,但是Oracle的建表語句有很多可選的參數(shù),有些我們可能平時(shí)不太用,用的時(shí)候又不知道怎么用,這里就寫一個(gè)較完整的建表的例子:

CREATE TABLE banping
  (id  NUMBER(5) 
       CONSTRAINT banping_id_pk PRIMARY KEY, 
   last_name VARCHAR2(10) 
       CONSTRAINT banping_last_name_nn NOT NULL,
   first_name VARCHAR2(10) NOT NULL UNIQUE,
   userid VARCHAR2(8) 
       CONSTRAINT banping_userid_uk UNIQUE,
  start_date DATE DEFAULT SYSDATE,
  title VARCHAR2(10),
  dept_id NUMBER(7)
       CONSTRAINT banping_dept_id_fk REFERENCES dept(id),
  salary NUMBER(11,2),
user_type VARCHAR2(4)
      CONSTRAINT banping_user_type_ck CHECK
       (user_type IN('IN','OUT')),
CONSTRAINT banping_uk_title UNIQUE (title,salary)
 )
INITRANS 1 MAXTRANS 255
PCTFREE  20  PCTUSED  50
STORAGE( INITIAL  1024K  NEXT  1024K  PCTINCREASE  0  MINEXTENTS  1 MAXEXTENTS  5)
TABLESPACE  data
;

解釋說明如下:
語法

CREATE  TABLE  [schema.]table
(column  datatype [, column  datatype] … )
[TABLESPACE  tablespace]
 [PCTFREE  integer]
 [PCTUSED  integer]
 [INITRANS  integer]
 [MAXTRANS  integer]
 [STORAGE  storage-clause]
 [LOGGING | NOLOGGING]
 [CACHE | NOCACHE] ];

Schema:表的所有者
Table:表名
Column:字段名
Datatype:字段的數(shù)據(jù)類型
Tablespace:表所在的表空間
Pctfree:為了行長度增長而在每個(gè)塊中保留的空間的量(以占整個(gè)空間減去塊頭部后所剩余空間的百分比形式表示),當(dāng)剩余空間不足pctfree時(shí),不再向該塊中增加新行。
Pctused:在塊剩余空間不足pctfree后,塊已使用空間百分比必須小于pctused后,才能向該塊中增加新行。
INITRANS:在塊中預(yù)先分配的事務(wù)項(xiàng)數(shù),缺省值為1
MAXTRANS:限定可以分配給每個(gè)塊的最大事務(wù)項(xiàng)數(shù),缺省值為255
STORAGE:標(biāo)識決定如何將區(qū)分配給表的存儲子句
LOGGING:指定表的創(chuàng)建將記錄到重做日志文件中。它還指定所有針對該表的后續(xù)操作都將被記錄下來。這是缺省設(shè)置。
NOLOGGING:指定表的創(chuàng)建將不被記錄到重做日志文件中。
CACHE:指定即使在執(zhí)行全表掃描時(shí),為該表檢索的塊也將放置在緩沖區(qū)高速緩存的LRU列表最近使用的一端。
NOCACHE:指定在執(zhí)行全表掃描時(shí),為該表檢索的塊將放置在緩沖區(qū)高速緩存的LRU列表最近未使用的一端。
STORAGE子句:
INITIAL:初始區(qū)的大小
NEXT:下一個(gè)區(qū)的大小
PCTINCREASE:以后每個(gè)區(qū)空間增長的百分比
MINEXTENTS:段中初始區(qū)的數(shù)量
MAXEXTENTS:最大能擴(kuò)展的區(qū)數(shù)

 如果已為表空間定義了MINIMUM EXTENT,則表的區(qū)大小將向上舍入為MINIMUM EXTENT值的下一個(gè)較高的倍數(shù)。

外鍵關(guān)聯(lián)的表dept的id列必須是唯一的或者是自身的主鍵,如不是可以用以下語句填加:

alter table dept  add constraint dept_id_pk primarykey(id)

塊空間使用參數(shù)可用來控制對數(shù)據(jù)段和索引段空間的使用:

控制并發(fā)性參數(shù):

INITRANS和MAXTRANS指定初始的和最大的事務(wù)位置數(shù),這些事務(wù)位置在索引塊或者數(shù)據(jù)塊內(nèi)創(chuàng)建。事務(wù)位置用來存儲在某一事件點(diǎn)上正在對塊進(jìn)行更改的事務(wù)的信息。一個(gè)事務(wù)只占用一個(gè)事務(wù)位置,即使它正在更改多行或者多個(gè)索引條目。INITRANS對數(shù)據(jù)段的缺省值為1,對索引段的缺省值為2,以保證最低程度的并發(fā)。例如,如果INITRANS設(shè)為3,則保證至少3個(gè)事務(wù)可以同時(shí)對塊進(jìn)行更改。如果需要,也可以從塊空閑空間內(nèi)分配其它事務(wù)位置,以允許更多的事務(wù)并發(fā)修改塊內(nèi)的行。MAXTRANS的缺省值為255,它設(shè)置可更改數(shù)據(jù)塊或者索引塊的并發(fā)事務(wù)數(shù)的限制。設(shè)置后,該值限制事務(wù)位置對空間的使用,從而保證塊內(nèi)有足夠的空間供行或者索引數(shù)據(jù)使用。

控制數(shù)據(jù)空間使用的參數(shù):

數(shù)據(jù)段的PCTFREE指定每個(gè)數(shù)據(jù)塊中保留空間的百分比,用于因更新塊內(nèi)的行而導(dǎo)致的增長。PCTFREE的缺省值為10%。數(shù)據(jù)段的PCTUSED代表Oracle服務(wù)器試圖為表內(nèi)的每個(gè)數(shù)據(jù)塊維持的已用空間的最低百分比。如果一個(gè)塊的已用空間低于PCTUSED,則將這塊放回到空閑列表中。段的空閑列表示容納將來所插入內(nèi)容的可選擇塊的列表。根據(jù)缺省,每個(gè)段在創(chuàng)建時(shí)都有一個(gè)空閑列表。PCTUSED的缺省值為40%。PCTFREE和PCTUSED都按可用數(shù)據(jù)空間百分比來計(jì)算,可用數(shù)據(jù)空間是從整個(gè)塊大小減去塊頭空間后剩余的塊空間。塊空間使用參數(shù)只能針對段指定,而不能在表空間級別設(shè)置。

下面步驟介紹對PCTFREE=20且PCTUSED=40的數(shù)據(jù)段如何管理塊內(nèi)空間:

1.向塊中插入行,直到塊內(nèi)的空閑空間小等于20%。當(dāng)行所占用的塊內(nèi)數(shù)據(jù)空間達(dá)到80%(100-PCTFREE)或者更多后,即無法再向該塊進(jìn)行插入。

2.剩余的20%可在行大小增長時(shí)使用。例如,更新初始為NULL的列并分配一個(gè)值。這樣,由于更新,塊使用率可能超過80%。

3.如果由于更新,刪除了塊內(nèi)的行或者行大小減少,塊使用率可能跌至80%以下。但是,仍然無法向塊中插入,直到塊使用率跌至PCTUSED以下,在本例中PCTUSED為40%。

4.當(dāng)塊使用率跌至PCTUSED以下后,該塊可用于插入。隨著向塊內(nèi)插入行,塊使用率增長,重復(fù)從步驟1開始的循環(huán)。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
創(chuàng)建表時(shí)參數(shù)PCTFREE和PCTUSED
PCTFREE和pctused參數(shù)的作用
第二章 Oracle 概念2 數(shù)據(jù)塊、區(qū)段和段
Oracle 體系結(jié)構(gòu)
oracle新手入門指導(dǎo)之一——數(shù)據(jù)庫表空間知識[天源迪科論壇]
oracle數(shù)據(jù)庫空間估算
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服