Managing Tables
11
Copyright © Oracle Corporation, 2001. All rights reserved.
Objectives
After completing this lesson, you should be able to do the following:
11-2
Copyright © Oracle Corporation, 2001. All rights reserved.
Storing User Data
Regular table
Cluster
Partitioned�table
Index-organized�table
11-3
Copyright © Oracle Corporation, 2001. All rights reserved.
11-4
Copyright © Oracle Corporation, 2001. All rights reserved.
11-5
Copyright © Oracle Corporation, 2001. All rights reserved.
Oracle Built-in Data Types
CHAR(N), NCHAR(N)�VARCHAR2(N),�NVARCHAR2(N)
NUMBER(P,S)
DATE�TIMESTAMP
RAW(N)�BLOB, CLOB,
NCLOB, BFILE
LONG, LONG RAW
ROWID, UROWID
VARRAY��TABLE
REF
Data type
Built-in
User-defined
Scalar
Relationship
Collection
11-6
Copyright © Oracle Corporation, 2001. All rights reserved.
11-7
Copyright © Oracle Corporation, 2001. All rights reserved.
11-8
Copyright © Oracle Corporation, 2001. All rights reserved.
11-9
Copyright © Oracle Corporation, 2001. All rights reserved.
ROWID Format
OOOOOO
BBBBBB
FFF
RRR
Data object number
Relative file number
Row number
Block number
BBBBBBBB
FFFF
RRRR
Block number
Row number
File number
.
.
11-10
Copyright © Oracle Corporation, 2001. All rights reserved.
11-11
Copyright © Oracle Corporation, 2001. All rights reserved.
Structure of a Row
Database block
Row header
Column length
Column value
11-12
Copyright © Oracle Corporation, 2001. All rights reserved.
Creating a Table
CREATE TABLE hr.employees(
employee_id NUMBER(6),
first_name VARCHAR2(20),
last_name VARCHAR2(25),
email VARCHAR2(25),
phone_number VARCHAR2(20),
hire_date DATE DEFAULT SYSDATE,
job_id VARCHAR2(10),
salary NUMBER(8,2),
commission_pct NUMBER (2,2),
manager_id NUMBER(6),
department_id NUMBER(4)
);
11-13
Copyright © Oracle Corporation, 2001. All rights reserved.
11-14
Copyright © Oracle Corporation, 2001. All rights reserved.
11-15
Copyright © Oracle Corporation, 2001. All rights reserved.
11-16
Copyright © Oracle Corporation, 2001. All rights reserved.
Creating a Table: Guidelines
11-17
Copyright © Oracle Corporation, 2001. All rights reserved.
Creating Temporary Tables
CREATE GLOBAL TEMPORARY TABLE hr.employees_temp
AS SELECT * FROM hr.employees;
11-18
Copyright © Oracle Corporation, 2001. All rights reserved.
Setting PCTFREE and PCTUSED
(Average Row Size - Initial Row Size) * 100
�Average Row Size
Average Row Size * 100�100 - PCTFREE - � Available Data Space
11-19
Copyright © Oracle Corporation, 2001. All rights reserved.
Row Migration and Chaining
Before update
After update
Pointer
11-20
Copyright © Oracle Corporation, 2001. All rights reserved.
Changing Storage and Block Utilization Parameters
ALTER TABLE hr.employees
PCTFREE 30
PCTUSED 50
STORAGE(NEXT 500K
MINEXTENTS 2
MAXEXTENTS 100);
11-21
Copyright © Oracle Corporation, 2001. All rights reserved.
11-22
Copyright © Oracle Corporation, 2001. All rights reserved.
11-23
Copyright © Oracle Corporation, 2001. All rights reserved.
Manually Allocating Extents
ALTER TABLE hr.employees
ALLOCATE EXTENT(SIZE 500K
DATAFILE ‘/DISK3/DATA01.DBF’);
11-24
Copyright © Oracle Corporation, 2001. All rights reserved.
Nonpartitioned Table Reorganization
ALTER TABLE hr.employees
MOVE TABLESPACE data1;
11-25
Copyright © Oracle Corporation, 2001. All rights reserved.
Truncating a Table
TRUNCATE TABLE hr.employees;
11-26
Copyright © Oracle Corporation, 2001. All rights reserved.
Dropping a Table
DROP TABLE hr.department
CASCADE CONSTRAINTS;
11-27
Copyright © Oracle Corporation, 2001. All rights reserved.
11-28
Copyright © Oracle Corporation, 2001. All rights reserved.
Dropping a Column
Removing a column from a table:
ALTER TABLE hr.employees
DROP COLUMN comments
CASCADE CONSTRAINTS CHECKPOINT 1000;
11-29
Copyright © Oracle Corporation, 2001. All rights reserved.
11-30
Copyright © Oracle Corporation, 2001. All rights reserved.
Using the UNUSED Option
ALTER TABLE hr.employees
SET UNUSED COLUMN comments CASCADE CONSTRAINTS;
ALTER TABLE hr.employees
DROP UNUSED COLUMNS CHECKPOINT 1000;
ALTER TABLE hr.employees
DROP COLUMNS CONTINUE CHECKPOINT 1000;
11-31
Copyright © Oracle Corporation, 2001. All rights reserved.
11-32
Copyright © Oracle Corporation, 2001. All rights reserved.
Obtaining Table Information
Information about tables can be obtained by querying
the following views:
11-33
Copyright © Oracle Corporation, 2001. All rights reserved.
11-34
Copyright © Oracle Corporation, 2001. All rights reserved.
Summary
In this lesson, you should have learned how to:
11-35
Copyright © Oracle Corporation, 2001. All rights reserved.
Practice 11 Overview
This practice covers the following topics:
11-36
Copyright © Oracle Corporation, 2001. All rights reserved.
11-37
Copyright © Oracle Corporation, 2001. All rights reserved.
11-38
Copyright © Oracle Corporation, 2001. All rights reserved.