11 Copyright © Oracle Corporation, All rights reserved. Managing Tables
11-2 Copyright © Oracle Corporation, All rights reserved. Objectives After completing this lesson, you should be able to do the following: Identify the various methods of storing data Outline Oracle data types Distinguish between an extended versus a restricted ROWID Outline the structure of a row Create regular and temporary tables Manage storage structures within a table Reorganize, truncate, drop a table Drop a column within a table
11-3 Copyright © Oracle Corporation, All rights reserved. Storing User Data Regular table Cluster Partitioned table Index-organized table
11-4 Copyright © Oracle Corporation, All rights reserved.
11-5 Copyright © Oracle Corporation, All rights reserved.
11-6 Copyright © Oracle Corporation, 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 ScalarRelationshipCollection
11-7 Copyright © Oracle Corporation, All rights reserved.
11-8 Copyright © Oracle Corporation, All rights reserved.
11-9 Copyright © Oracle Corporation, All rights reserved.
11-10 Copyright © Oracle Corporation, All rights reserved. ROWID Format Extended ROWID Format Restricted ROWID Format OOOOOOBBBBBBFFFRRR Data object number Relative file number Row numberBlock number BBBBBBBBFFFFRRRR Block numberRow numberFile number..
11-11 Copyright © Oracle Corporation, All rights reserved.
11-12 Copyright © Oracle Corporation, All rights reserved. Structure of a Row Database block Row header Column length Column value
11-13 Copyright © Oracle Corporation, All rights reserved. Creating a Table CREATE TABLE hr.employees( employee_id NUMBER(6), first_nameVARCHAR2(20), last_name VARCHAR2(25), 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-14 Copyright © Oracle Corporation, All rights reserved.
11-15 Copyright © Oracle Corporation, All rights reserved.
11-16 Copyright © Oracle Corporation, All rights reserved.
11-17 Copyright © Oracle Corporation, All rights reserved. Creating a Table: Guidelines Place tables in separate tablespaces. Use locally-managed tablespaces to avoid fragmentation. Use few standard extent sizes for tables to reduce tablespace fragmentation.
11-18 Copyright © Oracle Corporation, All rights reserved. Creating Temporary Tables Created using the GLOBAL TEMPORARY clause Tables retain data only for the duration of a transaction or session DML locks are not acquired on the data Can create indexes, views, and triggers on temporary tables CREATE GLOBAL TEMPORARY TABLE hr.employees_temp AS SELECT * FROM hr.employees;
11-19 Copyright © Oracle Corporation, All rights reserved. (Average Row Size - Initial Row Size) * 100 Average Row Size -- Average Row Size * PCTFREE - Available Data Space Setting PCTFREE and PCTUSED Compute PCTFREE Compute PCTUSED
11-20 Copyright © Oracle Corporation, All rights reserved. Before updateAfter update Pointer Row Migration and Chaining
11-21 Copyright © Oracle Corporation, 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-22 Copyright © Oracle Corporation, All rights reserved.
11-23 Copyright © Oracle Corporation, All rights reserved.
11-24 Copyright © Oracle Corporation, All rights reserved. Manually Allocating Extents ALTER TABLE hr.employees ALLOCATE EXTENT(SIZE 500K DATAFILE /DISK3/DATA01.DBF);
11-25 Copyright © Oracle Corporation, All rights reserved. Nonpartitioned Table Reorganization When a nonpartitioned table is reorganized, its structure is kept, but not its contents. Used to move a table to a different tablespace or reorganize extents. ALTER TABLE hr.employees MOVE TABLESPACE data1;
11-26 Copyright © Oracle Corporation, All rights reserved. Truncating a Table Truncating a table deletes all rows in a table and releases used space. Corresponding indexes are truncated. TRUNCATE TABLE hr.employees;
11-27 Copyright © Oracle Corporation, All rights reserved. Dropping a Table DROP TABLE hr.department CASCADE CONSTRAINTS;
11-28 Copyright © Oracle Corporation, All rights reserved.
11-29 Copyright © Oracle Corporation, All rights reserved. Dropping a Column Removing a column from a table: Removes the column length and data from each row, freeing space in the data block. Dropping a column in a large table takes a considerable amount of time. ALTER TABLE hr.employees DROP COLUMN comments CASCADE CONSTRAINTS CHECKPOINT 1000;
11-30 Copyright © Oracle Corporation, All rights reserved.
11-31 Copyright © Oracle Corporation, All rights reserved. Using the UNUSED Option Mark a column as unused: Drop unused columns: Continue to drop column operation: 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-32 Copyright © Oracle Corporation, All rights reserved.
11-33 Copyright © Oracle Corporation, All rights reserved. Obtaining Table Information Information about tables can be obtained by querying the following views: DBA_TABLES DBA_OBJECTS
11-34 Copyright © Oracle Corporation, All rights reserved.
11-35 Copyright © Oracle Corporation, All rights reserved. Summary In this lesson, you should have learned how to: Distinguish between an extended versus a restricted ROWID Outline the structure of a row Create regular and temporary tables Manage storage structures within a table Reorganize, truncate, and drop a table Drop a column within a table
11-36 Copyright © Oracle Corporation, All rights reserved. Practice 11 Overview This practice covers the following topics: Creating a table Viewing, marking as unused, and dropping columns within a table Allocating extents manually Truncating a table Obtaining table information
11-37 Copyright © Oracle Corporation, All rights reserved.
11-38 Copyright © Oracle Corporation, All rights reserved.