3. QUẢN TRỊ THÀNH PHẦN 1 BẢNG (TABLE)
3.1.2. Cấu hình bảng
Ta có thể tạo table thơng qua câu lệnh SQL
Cú pháp:
CREATE TABLE [schema.] table
(column datatype[ , column datatype ].....) [TABLESPACE tablespace] [PCTFREE interger] [PCTUSED interger] [INITTRANS interger] [MAXTRANS interger] [STORAGE storage_clause] [LOGGING|NOLOGGING] [CACHE|NOCACHE] Trong đó
schema tương ứng với user sở hữu table. table tên của bảng tạo
column tên của cột trong bảng cần tạo datatype kiểu dữ liệu cho cột tương ứng TABLESPACE tên tablespace chứa bảng PCTFREE
.
khơng gian dành riêng trong mỗi block (tính bằng đợn vị %). Sử dụng chứa khi các hàng lớn lên do update
PCTUSED xác định giới hạn dưới của không gian sử dụng trong block INITRANS xác định số giao dịch được thiết lập cho mỗi block
MAXTRANS . xác định số giao dịch lớn nhất có thể thiết lập cho block mặc định là 255
STORAGE quy định kích thước của khơng gian lưu trữ, xác định xem có bao nhiêu extents sẽ được thiết lập cho bảng.
LOGGING chỉ định việc tạo bảng sẽ được ghi vào trong redo log file.
NOLOGGING chỉ định việc tạo bảng và nạp dữ liệu vào bảng sẽ không được ghi vào redo log file.
CACHE chỉ định việc truy xuất các blocks của bảng được thiết lập trong vùng đệm khi có thực hiện full scan trên table.
NOCACHE chỉ định các blocks được truy xuất trên bảng này không được đặt vào trong danh sách LRU trong vùng đệm khi có thực hiện full scan trên table.
Ví dụ:
CREATE TABLE employees( empno NUMBER(4), last_name VARCHAR2(30) deptno NUMBER(2)) PCTFREE 20 PCTUSED 50 STORAGE(INITIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) TABLESPACE data01; 3.1.3. Sao chép một tables
Ta có thể sử dụng câu lệnh CREATE TABLE để sao chép một table đang tồn tại:
Cú pháp:
CREATE TABLE [schema.]table [LOGGING|NOLOGGING] ....
AS Câu truy vấn con
Ví dụ:
CREATE TABLE new_emp
STORAGE(INITTIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) NOLOGGING
TABLESPACE data01