Sunteți pe pagina 1din 51

-- PURPOSE: CREATE THE ORACLE TABLES FOR THE EXAMPLES AND STUDENT EXERCISES

-- IN THE BOOK "SQL FUNDAMENTALS - 3RD EDITION".


-- THIS SHOULD ONLY BE RUN ONCE.
-- WRITTEN BY: Sridhar
-- DATE: FEb 2010
-- COPYRIGHT: Sridhar
-- This script is intended to be run from SQL SCRIPTS page
-- Which can be accessed from the Oracle Home Page interface
-- Within SQL Scripts, use the Upload button to load this file
-- ************************************************************
-- LOAD THE LUNCHES DATABASE TABLES:
-- L_EMPLOYEES
-- L_FOODS
-- L_DEPARTMENTS
-- L_LUNCHES
-- L_LUNCH_ITEMS
-- L_SUPPLIERS
-- L_CONSTANTS
-- ************************************************************

-- CREATE THE L_EMPLOYEES TABLE


CREATE TABLE L_EMPLOYEES
(EMPLOYEE_ID NUMBER(3),
FIRST_NAME VARCHAR2(10),
LAST_NAME VARCHAR2(20),
DEPT_CODE VARCHAR2(3),
HIRE_DATE DATE,
CREDIT_LIMIT NUMBER(4,2),
PHONE_NUMBER VARCHAR2(4),
MANAGER_ID NUMBER(3));
ALTER TABLE L_EMPLOYEES
ADD CONSTRAINT PK_L_EMPLOYEES
PRIMARY KEY (EMPLOYEE_ID);

INSERT INTO L_EMPLOYEES VALUES


(201, 'SUSAN', 'BROWN', 'EXE', '01-JUN-1998', 30, '3484', NULL);
INSERT INTO L_EMPLOYEES VALUES
(202, 'JIM', 'KERN', 'SAL', '16-AUG-1999', 25, '8722', 201);
INSERT INTO L_EMPLOYEES VALUES
(203, 'MARTHA', 'WOODS', 'SHP', '02-FEB-2009', 25, '7591', 201);
INSERT INTO L_EMPLOYEES VALUES
(204, 'ELLEN', 'OWENS', 'SAL', '01-JUL-2008', 15, '6830', 202);
INSERT INTO L_EMPLOYEES VALUES
(205, 'HENRY', 'PERKINS', 'SAL', '01-MAR-2006', 25, '5286', 202);
INSERT INTO L_EMPLOYEES VALUES
(206, 'CAROL', 'ROSE', 'ACT', NULL, NULL, NULL, NULL);
INSERT INTO L_EMPLOYEES VALUES
(207, 'DAN', 'SMITH', 'SHP', '01-DEC-2008', 25, '2259', 203);
INSERT INTO L_EMPLOYEES VALUES
(208, 'FRED', 'CAMPBELL', 'SHP', '01-APR-2008', 25, '1752', 203);
INSERT INTO L_EMPLOYEES VALUES
(209, 'PAULA', 'JACOBS', 'MKT', '17-MAR-1999', 15, '3357', 201);
INSERT INTO L_EMPLOYEES VALUES
(210, 'NANCY', 'HOFFMAN', 'SAL', '16-FEB-2007', 25, '2974', 203);
COMMIT;
ANALYZE TABLE L_EMPLOYEES COMPUTE STATISTICS;

CREATE SEQUENCE SEQ_EMPLOYEE_ID


START WITH 211
INCREMENT BY 1;

-- CREATE THE L_FOODS TABLE


CREATE TABLE L_FOODS
(SUPPLIER_ID VARCHAR2(3),
PRODUCT_CODE VARCHAR2(2),
MENU_ITEM NUMBER(2),
DESCRIPTION VARCHAR2(20),
PRICE NUMBER(4,2),
PRICE_INCREASE NUMBER(4,2));

ALTER TABLE L_FOODS


ADD CONSTRAINT PK_L_FOODS
PRIMARY KEY (SUPPLIER_ID, PRODUCT_CODE);

INSERT INTO L_FOODS VALUES ('ASP', 'FS', 1, 'FRESH SALAD', 2, 0.25);


INSERT INTO L_FOODS VALUES ('ASP', 'SP', 2, 'SOUP OF THE DAY', 1.5, NULL);
INSERT INTO L_FOODS VALUES ('ASP', 'SW', 3, 'SANDWICH', 3.5, 0.4);
INSERT INTO L_FOODS VALUES ('CBC', 'GS', 4, 'GRILLED STEAK', 6, 0.7);
INSERT INTO L_FOODS VALUES ('CBC', 'SW', 5, 'HAMBURGER', 2.5, 0.3);
INSERT INTO L_FOODS VALUES ('FRV', 'BR', 6, 'BROCCOLI', 1, 0.05);
INSERT INTO L_FOODS VALUES ('FRV', 'FF', 7, 'FRENCH FRIES', 1.5, NULL);
INSERT INTO L_FOODS VALUES ('JBR', 'AS', 8, 'SODA', 1.25, 0.25);
INSERT INTO L_FOODS VALUES ('JBR', 'VR', 9, 'COFFEE', 0.85, 0.15);
INSERT INTO L_FOODS VALUES ('VSB', 'AS', 10, 'DESSERT', 3, 0.5);
COMMIT;
ANALYZE TABLE L_FOODS COMPUTE STATISTICS;
CREATE SEQUENCE SEQ_MENU_ITEM
START WITH 11
INCREMENT BY 1;
-- CREATE THE L_DEPARTMENTS TABLE
CREATE TABLE L_DEPARTMENTS
(DEPT_CODE VARCHAR2(3),
DEPARTMENT_NAME VARCHAR2(30));

ALTER TABLE L_DEPARTMENTS


ADD CONSTRAINT PK_L_DEPARTMENTS
PRIMARY KEY (DEPT_CODE);

INSERT INTO L_DEPARTMENTS VALUES ('ACT', 'ACCOUNTING');


INSERT INTO L_DEPARTMENTS VALUES ('EXE', 'EXECUTIVE');
INSERT INTO L_DEPARTMENTS VALUES ('MKT', 'MARKETING');
INSERT INTO L_DEPARTMENTS VALUES ('PER', 'PERSONNEL');
INSERT INTO L_DEPARTMENTS VALUES ('SAL', 'SALES');
INSERT INTO L_DEPARTMENTS VALUES ('SHP', 'SHIPPING');
COMMIT;
ANALYZE TABLE L_DEPARTMENTS COMPUTE STATISTICS;

-- CREATE THE L_LUNCHES TABLE.


CREATE TABLE L_LUNCHES
(LUNCH_ID NUMBER(3),
LUNCH_DATE DATE,
EMPLOYEE_ID NUMBER(3),
DATE_ENTERED DATE);

ALTER TABLE L_LUNCHES


ADD CONSTRAINT PK_L_LUNCHES
PRIMARY KEY (LUNCH_ID);

INSERT INTO L_LUNCHES VALUES (1, '16-NOV-2011', 201, TO_DATE('13-OCT-2011 10:35:


24', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (2, '16-NOV-2011', 207, TO_DATE('13-OCT-2011 10:35:
39', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (3, '16-NOV-2011', 203, TO_DATE('13-OCT-2011 10:35:
45', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (4, '16-NOV-2011', 204, TO_DATE('13-OCT-2011 10:35:
58', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (6, '16-NOV-2011', 202, TO_DATE('13-OCT-2011 10:36:
41', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (7, '16-NOV-2011', 210, TO_DATE('13-OCT-2011 10:38:
52', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (8, '25-NOV-2011', 201, TO_DATE('14-OCT-2011 11:15:
37', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (9, '25-NOV-2011', 208, TO_DATE('14-OCT-2011 14:23:
36', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (12, '25-NOV-2011', 204, TO_DATE('14-OCT-2011 15:02
:53', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (13, '25-NOV-2011', 207, TO_DATE('18-OCT-2011 08:42
:11', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (15, '25-NOV-2011', 205, TO_DATE('21-OCT-2011 16:23
:50', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (16, '05-DEC-2011', 201, TO_DATE('21-OCT-2011 16:23
:59', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (17, '05-DEC-2011', 210, TO_DATE('21-OCT-2011 16:35
:26', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (20, '05-DEC-2011', 205, TO_DATE('24-OCT-2011 09:55
:27', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (21, '05-DEC-2011', 203, TO_DATE('24-OCT-2011 11:43
:13', 'DD-MON-YYYY HH24:MI:SS'));
INSERT INTO L_LUNCHES VALUES (22, '05-DEC-2011', 208, TO_DATE('24-OCT-2011 14:37
:32', 'DD-MON-YYYY HH24:MI:SS'));
COMMIT;
ANALYZE TABLE L_LUNCHES COMPUTE STATISTICS;
-- CREATE THE L_LUNCH_ITEMS TABLE.
CREATE TABLE L_LUNCH_ITEMS
(LUNCH_ID NUMBER(3),
ITEM_NUMBER NUMBER(2),
SUPPLIER_ID VARCHAR2(3),
PRODUCT_CODE VARCHAR2(2),
QUANTITY NUMBER(1));

ALTER TABLE L_LUNCH_ITEMS


ADD CONSTRAINT PK_L_LUNCH_ITEMS
PRIMARY KEY (LUNCH_ID, ITEM_NUMBER);

INSERT INTO L_LUNCH_ITEMS VALUES (1, 1, 'ASP', 'FS', 1);


INSERT INTO L_LUNCH_ITEMS VALUES (1, 2, 'ASP', 'SW', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (1, 3, 'JBR', 'VR', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (2, 1, 'ASP', 'SW', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (2, 2, 'FRV', 'FF', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (2, 3, 'JBR', 'VR', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (2, 4, 'VSB', 'AS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (3, 1, 'ASP', 'FS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (3, 2, 'CBC', 'GS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (3, 3, 'FRV', 'FF', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (3, 4, 'JBR', 'VR', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (3, 5, 'JBR', 'AS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (4, 1, 'ASP', 'SP', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (4, 2, 'CBC', 'SW', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (4, 3, 'FRV', 'FF', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (4, 4, 'JBR', 'AS', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (6, 1, 'ASP', 'SP', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (6, 2, 'CBC', 'GS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (6, 3, 'FRV', 'FF', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (6, 4, 'JBR', 'VR', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (6, 5, 'VSB', 'AS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (7, 1, 'ASP', 'FS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (7, 2, 'ASP', 'SP', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (7, 3, 'CBC', 'GS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (7, 4, 'JBR', 'VR', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (7, 5, 'VSB', 'AS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (8, 1, 'ASP', 'FS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (8, 2, 'CBC', 'GS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (8, 3, 'JBR', 'AS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (9, 1, 'ASP', 'FS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (9, 2, 'ASP', 'SP', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (9, 3, 'CBC', 'SW', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (9, 4, 'FRV', 'FF', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (9, 5, 'JBR', 'VR', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (9, 6, 'JBR', 'AS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (12, 1, 'ASP', 'FS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (12, 2, 'CBC', 'GS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (12, 3, 'JBR', 'VR', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (12, 4, 'VSB', 'AS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (13, 1, 'ASP', 'SP', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (13, 2, 'ASP', 'SW', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (13, 3, 'FRV', 'FF', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (13, 4, 'JBR', 'AS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (15, 1, 'ASP', 'SP', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (15, 2, 'CBC', 'GS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (15, 3, 'FRV', 'FF', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (15, 4, 'JBR', 'AS', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (16, 1, 'ASP', 'FS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (16, 2, 'ASP', 'SW', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (16, 3, 'CBC', 'SW', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (16, 4, 'JBR', 'VR', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (16, 5, 'JBR', 'AS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (17, 1, 'ASP', 'SP', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (17, 2, 'CBC', 'GS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (17, 3, 'FRV', 'FF', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (17, 4, 'JBR', 'VR', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (17, 5, 'VSB', 'AS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (20, 1, 'ASP', 'FS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (20, 2, 'ASP', 'SP', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (20, 3, 'CBC', 'GS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (20, 4, 'FRV', 'FF', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (20, 5, 'JBR', 'AS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (21, 1, 'ASP', 'SP', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (21, 2, 'CBC', 'GS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (21, 3, 'JBR', 'VR', 2);
INSERT INTO L_LUNCH_ITEMS VALUES (21, 4, 'VSB', 'AS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (22, 1, 'ASP', 'FS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (22, 2, 'CBC', 'GS', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (22, 3, 'FRV', 'FF', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (22, 4, 'JBR', 'VR', 1);
INSERT INTO L_LUNCH_ITEMS VALUES (22, 5, 'JBR', 'AS', 1);
COMMIT;
ANALYZE TABLE L_LUNCH_ITEMS COMPUTE STATISTICS;

-- CREATE THE L_SUPPLIERS TABLE


CREATE TABLE L_SUPPLIERS
(SUPPLIER_ID VARCHAR2(3),
SUPPLIER_NAME VARCHAR2(30));

ALTER TABLE L_SUPPLIERS


ADD CONSTRAINT PK_L_SUPPLIERS
PRIMARY KEY (SUPPLIER_ID);

INSERT INTO L_SUPPLIERS VALUES ('ARR', 'ALICE & RAY''S RESTAURANT');


INSERT INTO L_SUPPLIERS VALUES ('ASP', 'A SOUP PLACE');
INSERT INTO L_SUPPLIERS VALUES ('CBC', 'CERTIFIED BEEF COMPANY');
INSERT INTO L_SUPPLIERS VALUES ('FRV', 'FRANK REED''S VEGETABLES');
INSERT INTO L_SUPPLIERS VALUES ('FSN', 'FRANK & SONS');
INSERT INTO L_SUPPLIERS VALUES ('JBR', 'JUST BEVERAGES');
INSERT INTO L_SUPPLIERS VALUES ('JPS', 'JIM PARKER''S SHOP');
INSERT INTO L_SUPPLIERS VALUES ('VSB', 'VIRGINIA STREET BAKERY');
COMMIT;
ANALYZE TABLE L_SUPPLIERS COMPUTE STATISTICS;

-- CREATE THE L_CONSTANTS TABLE


CREATE TABLE L_CONSTANTS
(BUSINESS_NAME VARCHAR2(30),
BUSINESS_START_DATE DATE,
LUNCH_BUDGET NUMBER(5,2),
OWNER_NAME VARCHAR2(30));
INSERT INTO L_CONSTANTS VALUES ('CITYWIDE UNIFORMS', '01-JUN-1998', 200, 'SUSAN
BROWN');
COMMIT;
ANALYZE TABLE L_CONSTANTS COMPUTE STATISTICS;

-- Create Referential Integrity Constraints for the Lunches Database


ALTER TABLE L_EMPLOYEES
ADD CONSTRAINT FK_L_EMPLOYEES_DEPT_CODE
FOREIGN KEY (DEPT_CODE)
REFERENCES L_DEPARTMENTS (DEPT_CODE);

ALTER TABLE L_EMPLOYEES


ADD CONSTRAINT FK_L_EMPLOYEES_MANAGER_ID
FOREIGN KEY (MANAGER_ID)
REFERENCES L_EMPLOYEES (EMPLOYEE_ID);

ALTER TABLE L_LUNCHES


ADD CONSTRAINT FK_L_LUNCHES_EMPLOYEES
FOREIGN KEY (EMPLOYEE_ID)
REFERENCES L_EMPLOYEES (EMPLOYEE_ID);

ALTER TABLE L_LUNCH_ITEMS


ADD CONSTRAINT FK_L_LUNCH_ITEMS_LUNCHES
FOREIGN KEY (LUNCH_ID)
REFERENCES L_LUNCHES (LUNCH_ID);

ALTER TABLE L_LUNCH_ITEMS


ADD CONSTRAINT FK_L_LUNCH_ITEMS_FOODS
FOREIGN KEY (SUPPLIER_ID, PRODUCT_CODE)
REFERENCES L_FOODS (SUPPLIER_ID, PRODUCT_CODE);

ALTER TABLE L_FOODS


ADD CONSTRAINT FK_L_FOODS_SUPPLIERS
FOREIGN KEY (SUPPLIER_ID)
REFERENCES L_SUPPLIERS (SUPPLIER_ID)
ON DELETE CASCADE;

-- Create NOT NULL constraints - Make a required field


ALTER TABLE L_EMPLOYEES
ADD CONSTRAINT NN_L_EMPLOYEES_FIRST_NAME
CHECK (FIRST_NAME IS NOT NULL);

ALTER TABLE L_EMPLOYEES


ADD CONSTRAINT NN_L_EMPLOYEES_LAST_NAME
CHECK (LAST_NAME IS NOT NULL);

ALTER TABLE L_LUNCHES


ADD CONSTRAINT NN_L_LUNCHES_EMPLOYEE_ID
CHECK (EMPLOYEE_ID IS NOT NULL);

-- Create UNIQUENESS constraints


ALTER TABLE L_EMPLOYEES
ADD CONSTRAINT UNIQUE_L_EMPLOYEES_FULL_NAME
UNIQUE (FIRST_NAME, LAST_NAME);

ALTER TABLE L_EMPLOYEES


ADD CONSTRAINT UNIQUE_L_EMPPLOYEES_PHONE_NUM
UNIQUE (PHONE_NUMBER);

-- Create CHECK constraints


ALTER TABLE L_FOODS
ADD CONSTRAINT CHECK_L_FOODS_PRICE_MAX_PRICE
CHECK (PRICE < 10.00);

-- ***************************************************
-- END OF LOADING THE LUNCHES DATABASE
-- ***************************************************
-- ****************************************************************
-- LOAD THE OTHER TABLES THAT ARE USED THROUGHOUT THE BOOK
-- (NOT IN JUST ONE SECTION)
-- ALPHABET
-- NUMBERS_0_TO_9
-- TWOS
-- THREES
-- (THE DUAL TABLE IS CREATED AUTOMATICALLY BY ORACLE)
-- ****************************************************************
CREATE TABLE ALPHABET
(LETTER VARCHAR2(1));
INSERT INTO ALPHABET VALUES ('A');
INSERT INTO ALPHABET VALUES ('B');
INSERT INTO ALPHABET VALUES ('C');
INSERT INTO ALPHABET VALUES ('D');
INSERT INTO ALPHABET VALUES ('E');
INSERT INTO ALPHABET VALUES ('F');
INSERT INTO ALPHABET VALUES ('G');
INSERT INTO ALPHABET VALUES ('H');
INSERT INTO ALPHABET VALUES ('I');
INSERT INTO ALPHABET VALUES ('J');
INSERT INTO ALPHABET VALUES ('K');
INSERT INTO ALPHABET VALUES ('L');
INSERT INTO ALPHABET VALUES ('M');
INSERT INTO ALPHABET VALUES ('N');
INSERT INTO ALPHABET VALUES ('O');
INSERT INTO ALPHABET VALUES ('P');
INSERT INTO ALPHABET VALUES ('Q');
INSERT INTO ALPHABET VALUES ('R');
INSERT INTO ALPHABET VALUES ('S');
INSERT INTO ALPHABET VALUES ('T');
INSERT INTO ALPHABET VALUES ('U');
INSERT INTO ALPHABET VALUES ('V');
INSERT INTO ALPHABET VALUES ('W');
INSERT INTO ALPHABET VALUES ('X');
INSERT INTO ALPHABET VALUES ('Y');
INSERT INTO ALPHABET VALUES ('Z');
COMMIT;

-- CREATE THE NUMBERS_0_TO_9 TABLE


CREATE TABLE NUMBERS_0_TO_9
(DIGIT NUMBER(1));
INSERT INTO NUMBERS_0_TO_9 VALUES (0);
INSERT INTO NUMBERS_0_TO_9 VALUES (1);
INSERT INTO NUMBERS_0_TO_9 VALUES (2);
INSERT INTO NUMBERS_0_TO_9 VALUES (3);
INSERT INTO NUMBERS_0_TO_9 VALUES (4);
INSERT INTO NUMBERS_0_TO_9 VALUES (5);
INSERT INTO NUMBERS_0_TO_9 VALUES (6);
INSERT INTO NUMBERS_0_TO_9 VALUES (7);
INSERT INTO NUMBERS_0_TO_9 VALUES (8);
INSERT INTO NUMBERS_0_TO_9 VALUES (9);
COMMIT;

CREATE TABLE TWOS


(NUMBER_2 NUMBER(2),
WORD_2 VARCHAR2(15));
INSERT INTO TWOS VALUES (2, 'TWO');
INSERT INTO TWOS VALUES (4, 'FOUR');
INSERT INTO TWOS VALUES (6, 'SIX');
INSERT INTO TWOS VALUES (8, 'EIGHT');
INSERT INTO TWOS VALUES (10, 'TEN');
INSERT INTO TWOS VALUES (12, 'TWELVE');
INSERT INTO TWOS VALUES (14, 'FOURTEEN');
INSERT INTO TWOS VALUES (16, 'SIXTEEN');
INSERT INTO TWOS VALUES (18, 'EIGHTEEN');
INSERT INTO TWOS VALUES (20, 'TWENTY');
INSERT INTO TWOS VALUES (NULL, 'NULL');
COMMIT;

CREATE TABLE THREES


(NUMBER_3 NUMBER(2),
WORD_3 VARCHAR2(15));
INSERT INTO THREES VALUES (3, 'THREE');
INSERT INTO THREES VALUES (6, 'SIX');
INSERT INTO THREES VALUES (9, 'NINE');
INSERT INTO THREES VALUES (12, 'TWELVE');
INSERT INTO THREES VALUES (15, 'FIFTEEN');
INSERT INTO THREES VALUES (18, 'EIGHTEEN');
INSERT INTO THREES VALUES (NULL, 'NULL');
COMMIT;

-- ****************************************************************
-- CREATE THE VIEWS THAT ARE USED THROUGHOUT THE BOOK
-- (NOT IN JUST ONE SECTION)
-- NUMBERS_0_TO_99
-- ****************************************************************
-- CREATE THE NUMBERS_0_TO_99 VIEW
CREATE OR REPLACE VIEW NUMBERS_0_TO_99 AS
SELECT (A.DIGIT * 10) + B.DIGIT AS N
FROM NUMBERS_0_TO_9 A,
NUMBERS_0_TO_9 B;
-- CREATE THE NUMBERS_0_TO_99999 VIEW
CREATE OR REPLACE VIEW NUMBERS_0_TO_99999 AS
SELECT ((A.DIGIT * 10000) + (B.DIGIT * 1000) + (C.DIGIT * 100) + (D.DIGIT * 10)
+ E.DIGIT) AS N
FROM NUMBERS_0_TO_9 A,
NUMBERS_0_TO_9 B,
NUMBERS_0_TO_9 C,
NUMBERS_0_TO_9 D,
NUMBERS_0_TO_9 E;
CREATE OR REPLACE VIEW NUMBERS_1_TO_1000 AS
SELECT ((A.DIGIT * 100) + (B.DIGIT * 10) + C.DIGIT + 1) AS N
FROM NUMBERS_0_TO_9 A,
NUMBERS_0_TO_9 B,
NUMBERS_0_TO_9 C;

-- ***************************************************
-- EXTRA TABLES FOR SPECIFIC CHAPTERS
-- MOST OF THESE EXTRA TABLES ARE USED ONLY ONCE - TO DEMONSTRATE A PARTICULAR P
OINT.
-- THE PRIMARY KEY HAS NOT BEEN CREATED FOR THEM (PARTLY TO SAVE DISK SPACE.)
-- ALSO THE ANALYSE TABLE COMMAND HAS NOT BEEN RUN FOR THEM.
-- ***************************************************
-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 2
-- ***************************************************
CREATE TABLE SEC0207
(ID NUMBER(2,0),
A NUMBER(2,0),
B NUMBER(2,0),
C NUMBER(2,0));
INSERT INTO SEC0207 VALUES (1, 1, 1, 1);
INSERT INTO SEC0207 VALUES (2, 1, 1, 2);
INSERT INTO SEC0207 VALUES (3, 1, 1, 3);
INSERT INTO SEC0207 VALUES (4, 1, 1, 4);
INSERT INTO SEC0207 VALUES (5, 1, 2, 1);
INSERT INTO SEC0207 VALUES (6, 1, 2, 2);
INSERT INTO SEC0207 VALUES (7, 1, 2, 3);
INSERT INTO SEC0207 VALUES (8, 1, 2, 4);
INSERT INTO SEC0207 VALUES (9, 1, 1, 1);
INSERT INTO SEC0207 VALUES (10, 1, 1, 2);
INSERT INTO SEC0207 VALUES (11, 1, 1, 3);
INSERT INTO SEC0207 VALUES (12, 1, 1, 4);
INSERT INTO SEC0207 VALUES (13, 1, 2, 1);
INSERT INTO SEC0207 VALUES (14, 1, 2, 2);
INSERT INTO SEC0207 VALUES (15, 1, 2, 3);
INSERT INTO SEC0207 VALUES (16, 1, 2, 4);
COMMIT;
CREATE TABLE SEC0218
(A NUMBER(2,0),
B NUMBER(2,0));

INSERT INTO SEC0218 VALUES (1, 1);


INSERT INTO SEC0218 VALUES (1, 2);
INSERT INTO SEC0218 VALUES (1, 3);
INSERT INTO SEC0218 VALUES (2, 1);
INSERT INTO SEC0218 VALUES (2, 2);
INSERT INTO SEC0218 VALUES (2, 3);
INSERT INTO SEC0218 VALUES (3, 1);
INSERT INTO SEC0218 VALUES (3, 2);
INSERT INTO SEC0218 VALUES (3, 3);
COMMIT;

CREATE TABLE SEC0219


(A NUMBER(2,0),
B NUMBER(2,0),
C NUMBER(2,0));

INSERT INTO SEC0219 VALUES (1, 1, 1);


INSERT INTO SEC0219 VALUES (1, 1, 2);
INSERT INTO SEC0219 VALUES (1, 1, 3);
INSERT INTO SEC0219 VALUES (1, 2, 1);
INSERT INTO SEC0219 VALUES (1, 2, 2);
INSERT INTO SEC0219 VALUES (1, 2, 3);
INSERT INTO SEC0219 VALUES (1, 3, 1);
INSERT INTO SEC0219 VALUES (1, 3, 2);
INSERT INTO SEC0219 VALUES (1, 3, 3);
INSERT INTO SEC0219 VALUES (2, 1, 1);
INSERT INTO SEC0219 VALUES (2, 1, 2);
INSERT INTO SEC0219 VALUES (2, 1, 3);
INSERT INTO SEC0219 VALUES (2, 2, 1);
INSERT INTO SEC0219 VALUES (2, 2, 2);
INSERT INTO SEC0219 VALUES (2, 2, 3);
INSERT INTO SEC0219 VALUES (2, 3, 1);
INSERT INTO SEC0219 VALUES (2, 3, 2);
INSERT INTO SEC0219 VALUES (2, 3, 3);
INSERT INTO SEC0219 VALUES (3, 1, 1);
INSERT INTO SEC0219 VALUES (3, 1, 2);
INSERT INTO SEC0219 VALUES (3, 1, 3);
INSERT INTO SEC0219 VALUES (3, 2, 1);
INSERT INTO SEC0219 VALUES (3, 2, 2);
INSERT INTO SEC0219 VALUES (3, 2, 3);
INSERT INTO SEC0219 VALUES (3, 3, 1);
INSERT INTO SEC0219 VALUES (3, 3, 2);
INSERT INTO SEC0219 VALUES (3, 3, 3);
COMMIT;
-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 3
-- ***************************************************
CREATE TABLE SEC0306_CONSTANTS
(EVALUATION VARCHAR2(16),
RATING NUMBER(2,0),
EVAL_DATE DATE,
NEXT_EVAL VARCHAR2(6));
INSERT INTO SEC0306_CONSTANTS
VALUES ('EXCELLENT WORKER', 10, '01-JAN-2011', NULL);
COMMIT;

CREATE TABLE SEC0306_PRICE_CONSTANTS


(MIN_PRICE NUMBER(2,0),
MAX_PRICE NUMBER(2,0));
INSERT INTO SEC0306_PRICE_CONSTANTS
VALUES (1, 2);
COMMIT;

CREATE TABLE SEC0313_CASE_SENSITIVITY


(ROW_ID NUMBER(2,0),
NAME1 VARCHAR2(5),
NAME2 VARCHAR2(5));
INSERT INTO SEC0313_CASE_SENSITIVITY VALUES (1, 'john', 'john');
INSERT INTO SEC0313_CASE_SENSITIVITY VALUES (2, 'John', 'John');
INSERT INTO SEC0313_CASE_SENSITIVITY VALUES (3, 'JOHN', 'JOHN');
INSERT INTO SEC0313_CASE_SENSITIVITY VALUES (4, 'john', 'JOHN');
COMMIT;

-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 4
-- ***************************************************
CREATE TABLE SEC0405_SALES_STAFF AS
SELECT *
FROM L_EMPLOYEES
WHERE DEPT_CODE = 'SAL';

CREATE TABLE SEC0405_TABLE_TO_DELETE AS


SELECT *
FROM L_EMPLOYEES;

CREATE OR REPLACE VIEW SEC0406_SALES_STAFF_VIEW AS


SELECT EMPLOYEE_ID,
FIRST_NAME,
LAST_NAME,
DEPT_CODE
FROM L_EMPLOYEES
WHERE DEPT_CODE = 'SAL'
ORDER BY EMPLOYEE_ID;

CREATE OR REPLACE VIEW SEC0406_VIEW_TO_DELETE AS


SELECT *
FROM L_EMPLOYEES;

CREATE TABLE SEC0409_EMPLOYEES AS


SELECT *
FROM L_EMPLOYEES;

CREATE TABLE SEC0409_FOODS AS


SELECT *
FROM L_FOODS;

CREATE TABLE SEC0410_DATA1


(NUMBER_COL NUMBER(3),
TEXT_COL VARCHAR2(10),
DATE_COL DATE);
INSERT INTO SEC0410_DATA1 VALUES (1, 'ONE', '01-JAN-2009');
INSERT INTO SEC0410_DATA1 VALUES (2, 'TWO', '02-JAN-2009');
INSERT INTO SEC0410_DATA1 VALUES (3, 'THREE', '03-JAN-2009');
INSERT INTO SEC0410_DATA1 VALUES (4, 'FOUR', '04-JAN-2009');
INSERT INTO SEC0410_DATA1 VALUES (5, 'FIVE', '05-JAN-2009');
COMMIT;

CREATE TABLE SEC0410_DATA2


(NUMBER_COL NUMBER(3),
TEXT_COL VARCHAR2(10),
DATE_COL DATE);
INSERT INTO SEC0410_DATA2 VALUES (11, 'ELEVEN', '11-JAN-2009');
INSERT INTO SEC0410_DATA2 VALUES (12, 'TWELVE', '12-JAN-2009');
INSERT INTO SEC0410_DATA2 VALUES (13, 'THIRTEEN', '13-JAN-2009');
INSERT INTO SEC0410_DATA2 VALUES (14, 'FOURTEEN', '14-JAN-2009');
INSERT INTO SEC0410_DATA2 VALUES (15, 'FIFTEEN', '15-JAN-2009');
COMMIT;

CREATE TABLE SEC0410_FOODS AS


SELECT *
FROM L_FOODS;
CREATE TABLE SEC0410A_FOODS AS
SELECT *
FROM L_FOODS;
CREATE TABLE SEC0411_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;

CREATE TABLE SEC0411_FOODS AS


SELECT *
FROM L_FOODS;

CREATE TABLE SEC0412_EMPLOYEES AS


SELECT *
FROM L_EMPLOYEES;

CREATE TABLE SEC0412_FOODS AS


SELECT *
FROM L_FOODS;

CREATE TABLE SEC0413_SUPPLIERS AS


SELECT *
FROM L_SUPPLIERS;

CREATE TABLE SEC0413_FOODS AS


SELECT *
FROM L_FOODS;
CREATE TABLE SEC0414_SUPPLIERS AS
SELECT *
FROM L_SUPPLIERS;

CREATE TABLE SEC0414_FOODS AS


SELECT *
FROM L_FOODS;
CREATE TABLE SEC0415_DEPARTMENTS AS
SELECT *
FROM L_DEPARTMENTS;

CREATE TABLE SEC0415_EMPLOYEES AS


SELECT *
FROM L_EMPLOYEES;
-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 5
-- ***************************************************
CREATE TABLE SEC0502_DEPARTMENTS AS
SELECT *
FROM L_DEPARTMENTS;

CREATE TABLE SEC0503_CHECKING_ACCOUNTS


(C_ACCOUNT_ID NUMBER(4),
CUSTOMER VARCHAR2(25),
BALANCE NUMBER(7,2));
INSERT INTO SEC0503_CHECKING_ACCOUNTS VALUES (2741, 'BOB WILKINS', 1567.35);
INSERT INTO SEC0503_CHECKING_ACCOUNTS VALUES (3852, 'AMY JOHNSON', 357.26);
INSERT INTO SEC0503_CHECKING_ACCOUNTS VALUES (8954, 'JUDY SPENCER',6296.54);
COMMIT;

CREATE TABLE SEC0503_SAVINGS_ACCOUNTS


(S_ACCOUNT_ID NUMBER(4),
CUSTOMER VARCHAR2(25),
BALANCE NUMBER(7,2));
INSERT INTO SEC0503_SAVINGS_ACCOUNTS VALUES (5926, 'FRED BOYD', 15642.33);
INSERT INTO SEC0503_SAVINGS_ACCOUNTS VALUES (6197, 'AMY JOHNSON', 5280.25);
INSERT INTO SEC0503_SAVINGS_ACCOUNTS VALUES (5926, 'VALERIE SHAW', 35159.64);
COMMIT;
CREATE TABLE SEC0505_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;

CREATE TABLE SEC0505_FOODS AS


SELECT *
FROM L_FOODS;

CREATE TABLE SEC0505B_EMPLOYEES AS


SELECT *
FROM L_EMPLOYEES;

CREATE TABLE SEC0506_EMPLOYEES AS


SELECT *
FROM L_EMPLOYEES;

CREATE TABLE SEC0506_FOODS AS


SELECT *
FROM L_FOODS;
CREATE OR REPLACE VIEW SEC0513_SHIPPING_DEPT_VIEW AS
SELECT *
FROM L_EMPLOYEES
WHERE DEPT_CODE = 'SHP';

-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 6
-- ***************************************************
CREATE TABLE SEC0607_FOODS
(MENU_ITEM NUMBER(2),
SUPPLIER_ID VARCHAR2(3),
PRODUCT_CODE VARCHAR2(2),
DESCRIPTION VARCHAR2(20),
PRICE NUMBER(4,2),
PRICE_INCREASE NUMBER(4,2) );

CREATE TABLE SEC0609_EMPLOYEES AS


SELECT *
FROM L_EMPLOYEES;
CREATE TABLE SEC0609_FOODS AS
SELECT *
FROM L_FOODS;
CREATE TABLE SEC0610_FOODS AS
SELECT *
FROM L_FOODS;
ALTER TABLE SEC0610_FOODS
ADD CONSTRAINT PK_SEC0610_FOODS
PRIMARY KEY (SUPPLIER_ID, PRODUCT_CODE);
CREATE TABLE SEC0610B_FOODS AS
SELECT *
FROM L_FOODS;
ALTER TABLE SEC0610B_FOODS
ADD CONSTRAINT PK_SEC0610B_FOODS
PRIMARY KEY (SUPPLIER_ID, PRODUCT_CODE);

CREATE TABLE SEC0611_DEPARTMENTS AS


SELECT *
FROM L_DEPARTMENTS;
CREATE TABLE SEC0611_FOODS AS
SELECT *
FROM L_FOODS;
CREATE TABLE SEC0612_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
CREATE TABLE SEC0612_FOODS AS
SELECT *
FROM L_FOODS;
CREATE TABLE SEC0613_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
CREATE TABLE SEC0613_FOODS AS
SELECT *
FROM L_FOODS;

-- DUPLICATE ROWS
-- WHERE THE DUPLICATES ARE DISTINCT OBJECTS
CREATE TABLE SEC0615A
(OBJECT_BOUGHT VARCHAR2(20),
PRICE NUMBER(6,2));
INSERT INTO SEC0615A VALUES ('NEWSPAPER', .75);
INSERT INTO SEC0615A VALUES ('COFFEE', 1.55);
INSERT INTO SEC0615A VALUES ('HAMBURGER', 2.00);
INSERT INTO SEC0615A VALUES ('FLOWERS', 15.38);
INSERT INTO SEC0615A VALUES ('HAMBURGER', 2.00);
INSERT INTO SEC0615A VALUES ('BOOK', 24.89);
INSERT INTO SEC0615A VALUES ('MOVIE TICKETS', 22.00);
COMMIT;

-- DUPLICATE ROWS
-- WHERE THE DUPLICATES ARE MULTIPLE REPRESENTATIONS OF THE SAME OBJECT
CREATE TABLE SEC0615B
(FIRST_NAME VARCHAR2(10),
LAST_NAME VARCHAR2(10),
ADDRESS VARCHAR2(20));
INSERT INTO SEC0615B VALUES ('SUSAN', 'BROWN', '512 ELM STREET');
INSERT INTO SEC0615B VALUES ('JIM', 'KERN', '837-9TH AVENUE');
INSERT INTO SEC0615B VALUES ('MARTHA', 'WOODS', '169 PARK AVENUE');
INSERT INTO SEC0615B VALUES ('SUSAN', 'BROWN', '512 ELM STREET');
INSERT INTO SEC0615B VALUES ('ELLEN', 'OWENS', '418 HENRY STREET');
COMMIT;

CREATE TABLE SEC0616_DUPLICATE_ROWS


(NUM_COL NUMBER(2.0),
WORD_COL VARCHAR2(10));
INSERT INTO SEC0616_DUPLICATE_ROWS VALUES (1, 'ONE');
INSERT INTO SEC0616_DUPLICATE_ROWS VALUES (1, 'ONE');
INSERT INTO SEC0616_DUPLICATE_ROWS VALUES (1, 'ONE');
INSERT INTO SEC0616_DUPLICATE_ROWS VALUES (2, 'TWO');
INSERT INTO SEC0616_DUPLICATE_ROWS VALUES (2, 'TWO');
INSERT INTO SEC0616_DUPLICATE_ROWS VALUES (2, 'TWO');
INSERT INTO SEC0616_DUPLICATE_ROWS VALUES (2, 'TWO');
INSERT INTO SEC0616_DUPLICATE_ROWS VALUES (3, 'THREE');
INSERT INTO SEC0616_DUPLICATE_ROWS VALUES (3, 'THREE');
COMMIT;

CREATE TABLE SEC0617_DUPLICATE_ROWS AS


SELECT *
FROM SEC0616_DUPLICATE_ROWS;

CREATE TABLE SEC0617A


(OBJECT_BOUGHT VARCHAR2(20),
PRICE NUMBER(6,2),
DATE_PURCHASED DATE);
INSERT INTO SEC0617A VALUES ('NEWSPAPER', .75, '14-JUN-2010');
INSERT INTO SEC0617A VALUES ('COFFEE', 1.55, '14-JUN-2010');
INSERT INTO SEC0617A VALUES ('HAMBURGER', 2.00, '14-JUN-2010');
INSERT INTO SEC0617A VALUES ('FLOWERS', 15.38, '14-JUN-2010');
INSERT INTO SEC0617A VALUES ('HAMBURGER', 2.00, '15-JUN-2010');
INSERT INTO SEC0617A VALUES ('BOOK', 24.89, '15-JUN-2010');
INSERT INTO SEC0617A VALUES ('MOVIE TICKETS', 22.00, '15-JUN-2010');
COMMIT;

-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 7
-- ***************************************************
CREATE TABLE SEC0703_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;

CREATE TABLE SEC0703_LUNCHES AS


SELECT *
FROM L_LUNCHES;

CREATE TABLE SEC0705_EMPLOYEES AS


SELECT *
FROM L_EMPLOYEES;
CREATE SEQUENCE SEC0706_SEQ_LUNCH_ID
START WITH 23
INCREMENT BY 1;

CREATE TABLE SEC0707_LUNCHES AS


SELECT *
FROM L_LUNCHES;
CREATE SEQUENCE SEC0707_SEQ_LUNCH_ID
START WITH 23
INCREMENT BY 1;

CREATE SEQUENCE SEQ_SEC0707


START WITH 28
INCREMENT BY 1;

CREATE TABLE SEC0707_SEQUENCE AS


SELECT *
FROM NUMBERS_0_TO_99
WHERE N > 10
AND N < 14;

insert into sec0707_sequence


values (seq_sec0707.nextval);

CREATE TABLE SEC0708_DEPARTMENTS AS


SELECT *
FROM L_DEPARTMENTS;

CREATE TABLE SEC0708_SUPPLIERS AS


SELECT *
FROM L_SUPPLIERS;

CREATE TABLE SEC0709_EMPLOYEES AS


SELECT *
FROM L_EMPLOYEES;
CREATE TABLE SEC0709_DEPARTMENTS AS
SELECT *
FROM L_DEPARTMENTS;

-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 8
-- ***************************************************
CREATE TABLE SEC0802_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;

CREATE TABLE SEC0802_FOODS AS


SELECT *
FROM L_FOODS;

CREATE TABLE SEC0803_DEPARTMENTS AS


SELECT *
FROM L_DEPARTMENTS;

CREATE TABLE SEC0803_EMPLOYEES AS


SELECT *
FROM L_EMPLOYEES;
CREATE TABLE SEC0803B_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;

CREATE TABLE SEC0804_EMPLOYEES AS


SELECT *
FROM L_EMPLOYEES;

CREATE TABLE SEC0804_LUNCHES AS


SELECT *
FROM L_LUNCHES;

CREATE TABLE SEC0805_DEPARTMENTS AS


SELECT *
FROM L_DEPARTMENTS;

CREATE TABLE SEC0805_EMPLOYEES AS


SELECT *
FROM L_EMPLOYEES;

CREATE TABLE SEC0808_STATES


(STATE_CODE VARCHAR2(2),
STATE_NAME VARCHAR2(30),
STATE_CAPITAL VARCHAR2(30));
ALTER TABLE SEC0808_STATES
ADD CONSTRAINT PK_SEC0808_STATES
PRIMARY KEY (STATE_CODE);
INSERT INTO SEC0808_STATES VALUES ('CA', 'CALIFORNIA', 'SACRAMENTO');
INSERT INTO SEC0808_STATES VALUES ('OR', 'OREGON', 'SALEM');
INSERT INTO SEC0808_STATES VALUES ('WA', 'WASHINGTON', 'OLYMPIA');
COMMIT;
CREATE TABLE SEC0808_CLIENTS
(CLIENT_ID NUMBER(4),
CLIENT_NAME VARCHAR2(30),
STATE_CODE VARCHAR2(2));
ALTER TABLE SEC0808_CLIENTS
ADD CONSTRAINT PK_SEC0808_CLIENTS
PRIMARY KEY (CLIENT_ID);
INSERT INTO SEC0808_CLIENTS VALUES (100, 'LARRY COHEN', 'CA');
INSERT INTO SEC0808_CLIENTS VALUES (200, 'ALICE WILLIAMS', 'CA');
INSERT INTO SEC0808_CLIENTS VALUES (300, 'ROGER WOLF', 'OR');
INSERT INTO SEC0808_CLIENTS VALUES (400, 'NANCY KERN', 'OR');
INSERT INTO SEC0808_CLIENTS VALUES (500, 'CATHY LEE', 'WA');
INSERT INTO SEC0808_CLIENTS VALUES (600, 'STEVEN LAKE', 'WA');
COMMIT;

CREATE TABLE SEC0808_DEPARTMENTS AS


SELECT *
FROM L_DEPARTMENTS;
ALTER TABLE SEC0808_DEPARTMENTS
ADD CONSTRAINT PK_SEC0808_DEPARTMENTS
PRIMARY KEY (DEPT_CODE);
CREATE TABLE SEC0808_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
ALTER TABLE SEC0808_EMPLOYEES
ADD CONSTRAINT PK_SEC0808_EMPLOYEES
PRIMARY KEY (EMPLOYEE_ID);

CREATE TABLE SEC0809_STATES


(STATE_CODE VARCHAR2(2),
STATE_NAME VARCHAR2(30),
STATE_CAPITAL VARCHAR2(30));
ALTER TABLE SEC0809_STATES
ADD CONSTRAINT PK_SEC0809_STATES
PRIMARY KEY (STATE_CODE);
INSERT INTO SEC0809_STATES VALUES ('CA', 'CALIFORNIA', 'SACRAMENTO');
INSERT INTO SEC0809_STATES VALUES ('OR', 'OREGON', 'SALEM');
INSERT INTO SEC0809_STATES VALUES ('WA', 'WASHINGTON', 'OLYMPIA');
COMMIT;
CREATE TABLE SEC0809_CLIENTS
(CLIENT_ID NUMBER(4),
CLIENT_NAME VARCHAR2(30),
STATE_CODE VARCHAR2(2));
ALTER TABLE SEC0809_CLIENTS
ADD CONSTRAINT PK_SEC0809_CLIENTS
PRIMARY KEY (CLIENT_ID);
INSERT INTO SEC0809_CLIENTS VALUES (100, 'LARRY COHEN', 'CA');
INSERT INTO SEC0809_CLIENTS VALUES (200, 'ALICE WILLIAMS', 'CA');
INSERT INTO SEC0809_CLIENTS VALUES (300, 'ROGER WOLF', 'OR');
INSERT INTO SEC0809_CLIENTS VALUES (400, 'NANCY KERN', 'OR');
INSERT INTO SEC0809_CLIENTS VALUES (500, 'CATHY LEE', 'WA');
INSERT INTO SEC0809_CLIENTS VALUES (600, 'STEVEN LAKE', 'WA');
COMMIT;
ALTER TABLE SEC0809_CLIENTS
ADD CONSTRAINT FK_SEC0809_CLIENTS_STATE_CODE
FOREIGN KEY (STATE_CODE)
REFERENCES SEC0809_STATES (STATE_CODE);

CREATE TABLE SEC0809_DEPARTMENTS AS


SELECT *
FROM L_DEPARTMENTS;
ALTER TABLE SEC0809_DEPARTMENTS
ADD CONSTRAINT PK_SEC0809_DEPARTMENTS
PRIMARY KEY (DEPT_CODE);
CREATE TABLE SEC0809_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
ALTER TABLE SEC0809_EMPLOYEES
ADD CONSTRAINT PK_SEC0809_EMPLOYEES
PRIMARY KEY (EMPLOYEE_ID);
ALTER TABLE SEC0809_EMPLOYEES
ADD CONSTRAINT FK_SEC0809_EMP_DEPT_CODE
FOREIGN KEY (DEPT_CODE)
REFERENCES SEC0809_DEPARTMENTS (DEPT_CODE);

CREATE TABLE SEC0810_STATES


(STATE_CODE VARCHAR2(2),
STATE_NAME VARCHAR2(30),
STATE_CAPITAL VARCHAR2(30));
ALTER TABLE SEC0810_STATES
ADD CONSTRAINT PK_SEC0810_STATES
PRIMARY KEY (STATE_CODE);
INSERT INTO SEC0810_STATES VALUES ('CA', 'CALIFORNIA', 'SACRAMENTO');
INSERT INTO SEC0810_STATES VALUES ('OR', 'OREGON', 'SALEM');
INSERT INTO SEC0810_STATES VALUES ('WA', 'WASHINGTON', 'OLYMPIA');
COMMIT;
CREATE TABLE SEC0810_CLIENTS
(CLIENT_ID NUMBER(4),
CLIENT_NAME VARCHAR2(30),
STATE_CODE VARCHAR2(2));
ALTER TABLE SEC0810_CLIENTS
ADD CONSTRAINT PK_SEC0810_CLIENTS
PRIMARY KEY (CLIENT_ID);
INSERT INTO SEC0810_CLIENTS VALUES (100, 'LARRY COHEN', 'CA');
INSERT INTO SEC0810_CLIENTS VALUES (200, 'ALICE WILLIAMS', 'CA');
INSERT INTO SEC0810_CLIENTS VALUES (300, 'ROGER WOLF', 'OR');
INSERT INTO SEC0810_CLIENTS VALUES (400, 'NANCY KERN', 'OR');
INSERT INTO SEC0810_CLIENTS VALUES (500, 'CATHY LEE', 'WA');
INSERT INTO SEC0810_CLIENTS VALUES (600, 'STEVEN LAKE', 'WA');
COMMIT;
ALTER TABLE SEC0810_CLIENTS
ADD CONSTRAINT FK_SEC0810_CLIENTS_STATES
FOREIGN KEY (STATE_CODE)
REFERENCES SEC0810_STATES (STATE_CODE);

CREATE TABLE SEC0810_DEPARTMENTS AS


SELECT *
FROM L_DEPARTMENTS;
ALTER TABLE SEC0810_DEPARTMENTS
ADD CONSTRAINT PK_SEC0810_DEPARTMENTS
PRIMARY KEY (DEPT_CODE);
CREATE TABLE SEC0810_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
ALTER TABLE SEC0810_EMPLOYEES
ADD CONSTRAINT PK_SEC0810_EMPLOYEES
PRIMARY KEY (EMPLOYEE_ID);
ALTER TABLE SEC0810_EMPLOYEES
ADD CONSTRAINT FK_SEC0810_EMP_DEPT_CODE
FOREIGN KEY (DEPT_CODE)
REFERENCES SEC0810_DEPARTMENTS (DEPT_CODE);

CREATE TABLE SEC0811_STATES


(STATE_CODE VARCHAR2(2),
STATE_NAME VARCHAR2(30),
STATE_CAPITAL VARCHAR2(30));
ALTER TABLE SEC0811_STATES
ADD CONSTRAINT PK_SEC0811_STATES
PRIMARY KEY (STATE_CODE);
INSERT INTO SEC0811_STATES VALUES ('CA', 'CALIFORNIA', 'SACRAMENTO');
INSERT INTO SEC0811_STATES VALUES ('OR', 'OREGON', 'SALEM');
INSERT INTO SEC0811_STATES VALUES ('WA', 'WASHINGTON', 'OLYMPIA');
COMMIT;
CREATE TABLE SEC0811_CLIENTS
(CLIENT_ID NUMBER(4),
CLIENT_NAME VARCHAR2(30),
STATE_CODE VARCHAR2(2));
ALTER TABLE SEC0811_CLIENTS
ADD CONSTRAINT PK_SEC0811_CLIENTS
PRIMARY KEY (CLIENT_ID);
INSERT INTO SEC0811_CLIENTS VALUES (100, 'LARRY COHEN', 'CA');
INSERT INTO SEC0811_CLIENTS VALUES (200, 'ALICE WILLIAMS', 'CA');
INSERT INTO SEC0811_CLIENTS VALUES (300, 'ROGER WOLF', 'OR');
INSERT INTO SEC0811_CLIENTS VALUES (400, 'NANCY KERN', 'OR');
INSERT INTO SEC0811_CLIENTS VALUES (500, 'CATHY LEE', 'WA');
INSERT INTO SEC0811_CLIENTS VALUES (600, 'STEVEN LAKE', 'WA');
COMMIT;
ALTER TABLE SEC0811_CLIENTS
ADD CONSTRAINT FK_SEC0811_CLIENTS_STATES
FOREIGN KEY (STATE_CODE)
REFERENCES SEC0811_STATES (STATE_CODE);

CREATE TABLE SEC0811_DEPARTMENTS AS


SELECT *
FROM L_DEPARTMENTS;
ALTER TABLE SEC0811_DEPARTMENTS
ADD CONSTRAINT PK_SEC0811_DEPARTMENTS
PRIMARY KEY (DEPT_CODE);
CREATE TABLE SEC0811_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
ALTER TABLE SEC0811_EMPLOYEES
ADD CONSTRAINT PK_SEC0811_EMPLOYEES
PRIMARY KEY (EMPLOYEE_ID);
ALTER TABLE SEC0811_EMPLOYEES
ADD CONSTRAINT FK_SEC0811_EMP_DEPT_CODE
FOREIGN KEY (DEPT_CODE)
REFERENCES SEC0811_DEPARTMENTS (DEPT_CODE);

CREATE TABLE SEC0812_STATES


(STATE_CODE VARCHAR2(2),
STATE_NAME VARCHAR2(30),
STATE_CAPITAL VARCHAR2(30));
ALTER TABLE SEC0812_STATES
ADD CONSTRAINT PK_SEC0812_STATES
PRIMARY KEY (STATE_CODE);
INSERT INTO SEC0812_STATES VALUES ('CA', 'CALIFORNIA', 'SACRAMENTO');
INSERT INTO SEC0812_STATES VALUES ('OR', 'OREGON', 'SALEM');
INSERT INTO SEC0812_STATES VALUES ('WA', 'WASHINGTON', 'OLYMPIA');
COMMIT;
CREATE TABLE SEC0812_CLIENTS
(CLIENT_ID NUMBER(4),
CLIENT_NAME VARCHAR2(30),
STATE_CODE VARCHAR2(2));
ALTER TABLE SEC0812_CLIENTS
ADD CONSTRAINT PK_SEC0812_CLIENTS
PRIMARY KEY (CLIENT_ID);
INSERT INTO SEC0812_CLIENTS VALUES (100, 'LARRY COHEN', 'CA');
INSERT INTO SEC0812_CLIENTS VALUES (200, 'ALICE WILLIAMS', 'CA');
INSERT INTO SEC0812_CLIENTS VALUES (300, 'ROGER WOLF', 'OR');
INSERT INTO SEC0812_CLIENTS VALUES (400, 'NANCY KERN', 'OR');
INSERT INTO SEC0812_CLIENTS VALUES (500, 'CATHY LEE', 'WA');
INSERT INTO SEC0812_CLIENTS VALUES (600, 'STEVEN LAKE', 'WA');
COMMIT;
ALTER TABLE SEC0812_CLIENTS
ADD CONSTRAINT FK_SEC0812_CLIENTS_STATES
FOREIGN KEY (STATE_CODE)
REFERENCES SEC0812_STATES (STATE_CODE);
CREATE TABLE SEC0812_DEPARTMENTS AS
SELECT *
FROM L_DEPARTMENTS;
ALTER TABLE SEC0812_DEPARTMENTS
ADD CONSTRAINT PK_SEC0812_DEPARTMENTS
PRIMARY KEY (DEPT_CODE);
CREATE TABLE SEC0812_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
ALTER TABLE SEC0812_EMPLOYEES
ADD CONSTRAINT PK_SEC0812_EMPLOYEES
PRIMARY KEY (EMPLOYEE_ID);
ALTER TABLE SEC0812_EMPLOYEES
ADD CONSTRAINT FK_SEC0812_EMP_DEPT_CODE
FOREIGN KEY (DEPT_CODE)
REFERENCES SEC0812_DEPARTMENTS (DEPT_CODE);

CREATE TABLE SEC0813_STATES


(STATE_CODE VARCHAR2(2),
STATE_NAME VARCHAR2(30),
STATE_CAPITAL VARCHAR2(30));
ALTER TABLE SEC0813_STATES
ADD CONSTRAINT PK_SEC0813_STATES
PRIMARY KEY (STATE_CODE);
INSERT INTO SEC0813_STATES VALUES ('CA', 'CALIFORNIA', 'SACRAMENTO');
INSERT INTO SEC0813_STATES VALUES ('OR', 'OREGON', 'SALEM');
INSERT INTO SEC0813_STATES VALUES ('WA', 'WASHINGTON', 'OLYMPIA');
COMMIT;
CREATE TABLE SEC0813_CLIENTS
(CLIENT_ID NUMBER(4),
CLIENT_NAME VARCHAR2(30),
STATE_CODE VARCHAR2(2));
ALTER TABLE SEC0813_CLIENTS
ADD CONSTRAINT PK_SEC0813_CLIENTS
PRIMARY KEY (CLIENT_ID);
INSERT INTO SEC0813_CLIENTS VALUES (100, 'LARRY COHEN', 'CA');
INSERT INTO SEC0813_CLIENTS VALUES (200, 'ALICE WILLIAMS', 'CA');
INSERT INTO SEC0813_CLIENTS VALUES (300, 'ROGER WOLF', 'OR');
INSERT INTO SEC0813_CLIENTS VALUES (400, 'NANCY KERN', 'OR');
INSERT INTO SEC0813_CLIENTS VALUES (500, 'CATHY LEE', 'WA');
INSERT INTO SEC0813_CLIENTS VALUES (600, 'STEVEN LAKE', 'WA');
COMMIT;
ALTER TABLE SEC0813_CLIENTS
ADD CONSTRAINT FK_SEC0813_CLIENTS_STATES
FOREIGN KEY (STATE_CODE)
REFERENCES SEC0813_STATES (STATE_CODE);
CREATE TABLE SEC0813_DEPARTMENTS AS
SELECT *
FROM L_DEPARTMENTS;
ALTER TABLE SEC0813_DEPARTMENTS
ADD CONSTRAINT PK_SEC0813_DEPARTMENTS
PRIMARY KEY (DEPT_CODE);
CREATE TABLE SEC0813_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
ALTER TABLE SEC0813_EMPLOYEES
ADD CONSTRAINT PK_SEC0813_EMPLOYEES
PRIMARY KEY (EMPLOYEE_ID);
ALTER TABLE SEC0813_EMPLOYEES
ADD CONSTRAINT FK_SEC0813_EMP_DEPT_CODE
FOREIGN KEY (DEPT_CODE)
REFERENCES SEC0813_DEPARTMENTS (DEPT_CODE);

CREATE TABLE SEC0815_STATES


(STATE_CODE VARCHAR2(2),
STATE_NAME VARCHAR2(30),
STATE_CAPITAL VARCHAR2(30));
ALTER TABLE SEC0815_STATES
ADD CONSTRAINT PK_SEC0815_STATES
PRIMARY KEY (STATE_CODE);
INSERT INTO SEC0815_STATES VALUES ('CA', 'CALIFORNIA', 'SACRAMENTO');
INSERT INTO SEC0815_STATES VALUES ('OR', 'OREGON', 'SALEM');
INSERT INTO SEC0815_STATES VALUES ('WA', 'WASHINGTON', 'OLYMPIA');
COMMIT;
CREATE TABLE SEC0815_CLIENTS
(CLIENT_ID NUMBER(4),
CLIENT_NAME VARCHAR2(30),
STATE_CODE VARCHAR2(2));
ALTER TABLE SEC0815_CLIENTS
ADD CONSTRAINT PK_SEC0815_CLIENTS
PRIMARY KEY (CLIENT_ID);
INSERT INTO SEC0815_CLIENTS VALUES (100, 'LARRY COHEN', 'CA');
INSERT INTO SEC0815_CLIENTS VALUES (200, 'ALICE WILLIAMS', 'CA');
INSERT INTO SEC0815_CLIENTS VALUES (300, 'ROGER WOLF', 'OR');
INSERT INTO SEC0815_CLIENTS VALUES (400, 'NANCY KERN', 'OR');
INSERT INTO SEC0815_CLIENTS VALUES (500, 'CATHY LEE', 'WA');
INSERT INTO SEC0815_CLIENTS VALUES (600, 'STEVEN LAKE', 'WA');
COMMIT;

CREATE TABLE SEC0815_DEPARTMENTS AS


SELECT *
FROM L_DEPARTMENTS;
ALTER TABLE SEC0815_DEPARTMENTS
ADD CONSTRAINT PK_SEC0815_DEPARTMENTS
PRIMARY KEY (DEPT_CODE);
CREATE TABLE SEC0815_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
ALTER TABLE SEC0815_EMPLOYEES
ADD CONSTRAINT PK_SEC0815_EMPLOYEES
PRIMARY KEY (EMPLOYEE_ID);
ALTER TABLE SEC0815_EMPLOYEES
ADD CONSTRAINT FK_SEC0815_EMP_DEPT_CODE
FOREIGN KEY (DEPT_CODE)
REFERENCES SEC0815_DEPARTMENTS (DEPT_CODE);

CREATE TABLE SEC0817_STATES


(STATE_CODE VARCHAR2(2),
STATE_NAME VARCHAR2(30),
STATE_CAPITAL VARCHAR2(30));
ALTER TABLE SEC0817_STATES
ADD CONSTRAINT PK_SEC0817_STATES
PRIMARY KEY (STATE_CODE);
INSERT INTO SEC0817_STATES VALUES ('CA', 'CALIFORNIA', 'SACRAMENTO');
INSERT INTO SEC0817_STATES VALUES ('OR', 'OREGON', 'SALEM');
INSERT INTO SEC0817_STATES VALUES ('WA', 'WASHINGTON', 'OLYMPIA');
COMMIT;
CREATE TABLE SEC0817_CLIENTS
(CLIENT_ID NUMBER(4),
CLIENT_NAME VARCHAR2(30),
STATE_CODE VARCHAR2(2));
ALTER TABLE SEC0817_CLIENTS
ADD CONSTRAINT PK_SEC0817_CLIENTS
PRIMARY KEY (CLIENT_ID);
INSERT INTO SEC0817_CLIENTS VALUES (100, 'LARRY COHEN', 'CA');
INSERT INTO SEC0817_CLIENTS VALUES (200, 'ALICE WILLIAMS', 'CA');
INSERT INTO SEC0817_CLIENTS VALUES (300, 'ROGER WOLF', 'OR');
INSERT INTO SEC0817_CLIENTS VALUES (400, 'NANCY KERN', 'OR');
INSERT INTO SEC0817_CLIENTS VALUES (500, 'CATHY LEE', 'WA');
INSERT INTO SEC0817_CLIENTS VALUES (600, 'STEVEN LAKE', 'WA');
COMMIT;

CREATE TABLE SEC0817_DEPARTMENTS AS


SELECT *
FROM L_DEPARTMENTS;
ALTER TABLE SEC0817_DEPARTMENTS
ADD CONSTRAINT PK_SEC0817_DEPARTMENTS
PRIMARY KEY (DEPT_CODE);
CREATE TABLE SEC0817_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
ALTER TABLE SEC0817_EMPLOYEES
ADD CONSTRAINT PK_SEC0817_EMPLOYEES
PRIMARY KEY (EMPLOYEE_ID);
CREATE TABLE SEC0818_STATES
(STATE_CODE VARCHAR2(2),
STATE_NAME VARCHAR2(30),
STATE_CAPITAL VARCHAR2(30));
ALTER TABLE SEC0818_STATES
ADD CONSTRAINT PK_SEC0818_STATES
PRIMARY KEY (STATE_CODE);
INSERT INTO SEC0818_STATES VALUES ('CA', 'CALIFORNIA', 'SACRAMENTO');
INSERT INTO SEC0818_STATES VALUES ('OR', 'OREGON', 'SALEM');
INSERT INTO SEC0818_STATES VALUES ('WA', 'WASHINGTON', 'OLYMPIA');
COMMIT;
CREATE TABLE SEC0818_CLIENTS
(CLIENT_ID NUMBER(4),
CLIENT_NAME VARCHAR2(30),
STATE_CODE VARCHAR2(2));
ALTER TABLE SEC0818_CLIENTS
ADD CONSTRAINT PK_SEC0818_CLIENTS
PRIMARY KEY (CLIENT_ID);
INSERT INTO SEC0818_CLIENTS VALUES (100, 'LARRY COHEN', 'CA');
INSERT INTO SEC0818_CLIENTS VALUES (200, 'ALICE WILLIAMS', 'CA');
INSERT INTO SEC0818_CLIENTS VALUES (300, 'ROGER WOLF', 'OR');
INSERT INTO SEC0818_CLIENTS VALUES (400, 'NANCY KERN', 'OR');
INSERT INTO SEC0818_CLIENTS VALUES (500, 'CATHY LEE', 'WA');
INSERT INTO SEC0818_CLIENTS VALUES (600, 'STEVEN LAKE', 'WA');
COMMIT;

CREATE TABLE SEC0818_DEPARTMENTS AS


SELECT *
FROM L_DEPARTMENTS;
ALTER TABLE SEC0818_DEPARTMENTS
ADD CONSTRAINT PK_SEC0818_DEPARTMENTS
PRIMARY KEY (DEPT_CODE);
CREATE TABLE SEC0818_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
ALTER TABLE SEC0818_EMPLOYEES
ADD CONSTRAINT PK_SEC0818_EMPLOYEES
PRIMARY KEY (EMPLOYEE_ID);

CREATE TABLE SEC0819_STATES


(STATE_CODE VARCHAR2(2),
STATE_NAME VARCHAR2(30),
STATE_CAPITAL VARCHAR2(30));
ALTER TABLE SEC0819_STATES
ADD CONSTRAINT PK_SEC0819_STATES
PRIMARY KEY (STATE_CODE);
INSERT INTO SEC0819_STATES VALUES ('CA', 'CALIFORNIA', 'SACRAMENTO');
INSERT INTO SEC0819_STATES VALUES ('OR', 'OREGON', 'SALEM');
INSERT INTO SEC0819_STATES VALUES ('WA', 'WASHINGTON', 'OLYMPIA');
COMMIT;
CREATE TABLE SEC0819_CLIENTS
(CLIENT_ID NUMBER(4),
CLIENT_NAME VARCHAR2(30),
STATE_CODE VARCHAR2(2));
ALTER TABLE SEC0819_CLIENTS
ADD CONSTRAINT PK_SEC0819_CLIENTS
PRIMARY KEY (CLIENT_ID);
INSERT INTO SEC0819_CLIENTS VALUES (100, 'LARRY COHEN', 'CA');
INSERT INTO SEC0819_CLIENTS VALUES (200, 'ALICE WILLIAMS', 'CA');
INSERT INTO SEC0819_CLIENTS VALUES (300, 'ROGER WOLF', 'OR');
INSERT INTO SEC0819_CLIENTS VALUES (400, 'NANCY KERN', 'OR');
INSERT INTO SEC0819_CLIENTS VALUES (500, 'CATHY LEE', 'WA');
INSERT INTO SEC0819_CLIENTS VALUES (600, 'STEVEN LAKE', 'WA');
COMMIT;

CREATE TABLE SEC0819_DEPARTMENTS AS


SELECT *
FROM L_DEPARTMENTS;
ALTER TABLE SEC0819_DEPARTMENTS
ADD CONSTRAINT PK_SEC0819_DEPARTMENTS
PRIMARY KEY (DEPT_CODE);
CREATE TABLE SEC0819_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
ALTER TABLE SEC0819_EMPLOYEES
ADD CONSTRAINT PK_SEC0819_EMPLOYEES
PRIMARY KEY (EMPLOYEE_ID);
ALTER TABLE SEC0819_EMPLOYEES
ADD CONSTRAINT FK_SEC0819_EMP_DEPT_CODE
FOREIGN KEY (DEPT_CODE)
REFERENCES SEC0819_DEPARTMENTS (DEPT_CODE);

CREATE TABLE SEC0820_STATES


(STATE_CODE VARCHAR2(2),
STATE_NAME VARCHAR2(30),
STATE_CAPITAL VARCHAR2(30));
ALTER TABLE SEC0820_STATES
ADD CONSTRAINT PK_SEC0820_STATES
PRIMARY KEY (STATE_CODE);
INSERT INTO SEC0820_STATES VALUES ('CA', 'CALIFORNIA', 'SACRAMENTO');
INSERT INTO SEC0820_STATES VALUES ('OR', 'OREGON', 'SALEM');
INSERT INTO SEC0820_STATES VALUES ('WA', 'WASHINGTON', 'OLYMPIA');
COMMIT;
CREATE TABLE SEC0820_CLIENTS
(CLIENT_ID NUMBER(4),
CLIENT_NAME VARCHAR2(30),
STATE_CAPITAL VARCHAR2(30));
ALTER TABLE SEC0820_CLIENTS
ADD CONSTRAINT PK_SEC0820_CLIENTS
PRIMARY KEY (CLIENT_ID);
INSERT INTO SEC0820_CLIENTS VALUES (100, 'LARRY COHEN', 'SACRAMENTO');
INSERT INTO SEC0820_CLIENTS VALUES (200, 'ALICE WILLIAMS', 'SACRAMENTO');
INSERT INTO SEC0820_CLIENTS VALUES (300, 'ROGER WOLF', 'SALEM');
INSERT INTO SEC0820_CLIENTS VALUES (400, 'NANCY KERN', 'SALEM');
INSERT INTO SEC0820_CLIENTS VALUES (500, 'CATHY LEE', 'OLYMPIA');
INSERT INTO SEC0820_CLIENTS VALUES (600, 'STEVEN LAKE', 'OLYMPIA');
COMMIT;
CREATE TABLE SEC0821_LUNCH_ITEMS AS
SELECT *
FROM L_LUNCH_ITEMS;
CREATE TABLE SEC0821_FOODS AS
SELECT *
FROM L_FOODS;
ALTER TABLE SEC0821_FOODS
ADD CONSTRAINT PK_SEC0821_FOODS
PRIMARY KEY (SUPPLIER_ID, PRODUCT_CODE);
CREATE TABLE SEC0822_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
ALTER TABLE SEC0822_EMPLOYEES
ADD CONSTRAINT PK_SEC0822_EMPLOYEES
PRIMARY KEY (EMPLOYEE_ID);
CREATE TABLE SEC0823A_DEPARTMENTS AS
SELECT *
FROM L_DEPARTMENTS;
ALTER TABLE SEC0823A_DEPARTMENTS
ADD CONSTRAINT PK_SEC0823A_DEPARTMENTS
PRIMARY KEY (DEPT_CODE);
CREATE TABLE SEC0823B_DEPARTMENTS AS
SELECT *
FROM L_DEPARTMENTS;
ALTER TABLE SEC0823B_DEPARTMENTS
ADD CONSTRAINT PK_SEC0823B_DEPARTMENTS
PRIMARY KEY (DEPT_CODE);

-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 9
-- ***************************************************
CREATE TABLE SEC0908_TEST_NUMBERS AS
SELECT N - 10 AS N
FROM NUMBERS_0_TO_99
WHERE N < 21;

CREATE TABLE SEC0911_FULL_NAME


(FULL_NAME VARCHAR2(30));
INSERT INTO SEC0911_FULL_NAME VALUES ('SUSAN BROWN');
INSERT INTO SEC0911_FULL_NAME VALUES ('JIM KERN');
INSERT INTO SEC0911_FULL_NAME VALUES ('MARTHA WOODS');
INSERT INTO SEC0911_FULL_NAME VALUES ('ELLEN OWENS');
INSERT INTO SEC0911_FULL_NAME VALUES ('HENRY PERKINS');
INSERT INTO SEC0911_FULL_NAME VALUES ('CAROL ROSE');
INSERT INTO SEC0911_FULL_NAME VALUES ('DAN SMITH');
INSERT INTO SEC0911_FULL_NAME VALUES ('FRED CAMPBELL');
INSERT INTO SEC0911_FULL_NAME VALUES ('PAULA JACOBS');
INSERT INTO SEC0911_FULL_NAME VALUES ('NANCY HOFFMAN');
COMMIT;

CREATE TABLE SEC0911_NAMES


(FULL_NAME VARCHAR2(30));
INSERT INTO SEC0911_NAMES VALUES ('PATRICK, JOHN J.');
INSERT INTO SEC0911_NAMES VALUES ('BROWN, SUSAN V.');
INSERT INTO SEC0911_NAMES VALUES ('LI, HENRY K.');
INSERT INTO SEC0911_NAMES VALUES ('WILLIAMS, MARY B.');
COMMIT;

CREATE TABLE SEC0912_PHONE_NUMBERS


(PHONE_NUMBER VARCHAR2(30));
INSERT INTO SEC0912_PHONE_NUMBERS VALUES ('(415) 627-1445');
INSERT INTO SEC0912_PHONE_NUMBERS VALUES ('(608) 234-5678');
INSERT INTO SEC0912_PHONE_NUMBERS VALUES ('(510) 723-0857');
INSERT INTO SEC0912_PHONE_NUMBERS VALUES ('(362) 942-1783');
COMMIT;

-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 10
-- ***************************************************
CREATE TABLE SEC1003
(PKEY VARCHAR2(5),
NUM_COL NUMBER(4),
TEXT_COL VARCHAR2(8),
DATE_COL DATE);
INSERT INTO SEC1003 VALUES ('A', 1, 'M', NULL);
INSERT INTO SEC1003 VALUES ('B', 2, NULL, '20-JAN-2013');
INSERT INTO SEC1003 VALUES ('C', NULL, 'N', '21-JAN-2013');
COMMIT;

CREATE TABLE SEC1004


(PKEY VARCHAR2(4),
TEXT_1 VARCHAR2(6),
TEXT_2 VARCHAR2(6));
INSERT INTO SEC1004 VALUES ('A', '8', '4');
INSERT INTO SEC1004 VALUES ('B', '33', '11');
COMMIT;

-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 11
-- ***************************************************
CREATE TABLE SEC1103
(ROW_ID NUMBER(2,0),
NUM_1 NUMBER(2,0),
NUM_2 NUMBER(2,0));
INSERT INTO SEC1103 VALUES (1, NULL, 1);
INSERT INTO SEC1103 VALUES (2, 1, 2);
INSERT INTO SEC1103 VALUES (3, 2, 3);
INSERT INTO SEC1103 VALUES (4, 3, 4);
INSERT INTO SEC1103 VALUES (5, NULL, 5);
INSERT INTO SEC1103 VALUES (6, 1, NULL);
INSERT INTO SEC1103 VALUES (7, 2, 1);
INSERT INTO SEC1103 VALUES (8, 3, 2);
INSERT INTO SEC1103 VALUES (9, 4, 3);
INSERT INTO SEC1103 VALUES (10, NULL, 4);
INSERT INTO SEC1103 VALUES (11, 1, 5);
INSERT INTO SEC1103 VALUES (12, 2, NULL);
INSERT INTO SEC1103 VALUES (13, 3, 1);
INSERT INTO SEC1103 VALUES (14, 4, 2);
INSERT INTO SEC1103 VALUES (15, NULL, 3);
COMMIT;

CREATE TABLE SEC1105 AS


SELECT *
FROM SEC1103;

CREATE TABLE SEC1106 AS


SELECT *
FROM SEC1103;

CREATE TABLE SEC1107


(PK_1 VARCHAR2(4),
COL_2 VARCHAR2(6));
INSERT INTO SEC1107 VALUES ('A', NULL);
INSERT INTO SEC1107 VALUES ('B', NULL);
INSERT INTO SEC1107 VALUES ('C', NULL);
INSERT INTO SEC1107 VALUES ('D', NULL);
INSERT INTO SEC1107 VALUES ('E', NULL);
COMMIT;

CREATE TABLE SEC1111


(PK_1 VARCHAR2(6),
COL_2 NUMBER(4),
COL_3 NUMBER(4));
INSERT INTO SEC1111 VALUES ('A', 1, 4);
INSERT INTO SEC1111 VALUES ('B', NULL, 5);
INSERT INTO SEC1111 VALUES ('C', 2, 6);
INSERT INTO SEC1111 VALUES ('D', 3, NULL);
COMMIT;

CREATE TABLE SEC1112_SHIPPING


(PK_1 VARCHAR2(5),
PRICE NUMBER(6,2),
QUANTITY NUMBER(4),
TAX NUMBER(5,2),
SHIPPING NUMBER(5,2));
INSERT INTO SEC1112_SHIPPING VALUES ('A', 211.00, 3, 48.00, 63.00);
INSERT INTO SEC1112_SHIPPING VALUES ('B', 138.00, 7, NULL, 72.00);
INSERT INTO SEC1112_SHIPPING VALUES ('C', 592.00, 1, 51.00, 76.00);
INSERT INTO SEC1112_SHIPPING VALUES ('D', 329.00, 2, 54.00, NULL);
COMMIT;

-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 12
-- ***************************************************
CREATE TABLE SEC1202
(ROW_ID NUMBER(4),
COL_1 VARCHAR2(6),
COL_2 VARCHAR2(6),
COL_3 NUMBER(4));
INSERT INTO SEC1202 VALUES (1, NULL, NULL, 5);
INSERT INTO SEC1202 VALUES (2, 'A', 'Y', 5);
INSERT INTO SEC1202 VALUES (3, 'B', 'Z', 5);
INSERT INTO SEC1202 VALUES (4, 'C', NULL, 5);
INSERT INTO SEC1202 VALUES (5, NULL, 'Y', 5);
INSERT INTO SEC1202 VALUES (6, 'A', 'Z', 5);
INSERT INTO SEC1202 VALUES (7, 'B', NULL, 5);
INSERT INTO SEC1202 VALUES (8, 'C', 'Y', 5);
INSERT INTO SEC1202 VALUES (9, NULL, 'Z', 5);
INSERT INTO SEC1202 VALUES (10, 'A', NULL, 5);
INSERT INTO SEC1202 VALUES (11, 'B', 'Y', 5);
INSERT INTO SEC1202 VALUES (12, 'C', 'Z', 10);
INSERT INTO SEC1202 VALUES (13, NULL, NULL, 10);
INSERT INTO SEC1202 VALUES (14, 'A', 'Y', 10);
INSERT INTO SEC1202 VALUES (15, 'B', 'Z', 10);
INSERT INTO SEC1202 VALUES (16, 'C', NULL, 10);
INSERT INTO SEC1202 VALUES (17, NULL, 'Y', 10);
INSERT INTO SEC1202 VALUES (18, 'A', 'Z', 10);
INSERT INTO SEC1202 VALUES (19, 'B', NULL, 10);
INSERT INTO SEC1202 VALUES (20, 'C', 'Y', 10);
INSERT INTO SEC1202 VALUES (21, NULL, 'Z', 10);
INSERT INTO SEC1202 VALUES (22, 'A', NULL, 10);
INSERT INTO SEC1202 VALUES (23, 'B', 'Y', 10);
INSERT INTO SEC1202 VALUES (24, 'C', 'Z', 10);
COMMIT;
CREATE TABLE SEC1204
(PK_1 NUMBER(4),
COL_2 VARCHAR2(6),
COL_3 VARCHAR2(6),
COL_4 VARCHAR2(6),
COL_5 VARCHAR2(6));

INSERT INTO SEC1204 VALUES (1, 'A', 'Y', 'M', NULL);


INSERT INTO SEC1204 VALUES (2, 'A', 'Y', NULL, NULL);
INSERT INTO SEC1204 VALUES (3, 'A', 'Z', 'M', NULL);
INSERT INTO SEC1204 VALUES (4, 'A', 'Z', NULL, NULL);
INSERT INTO SEC1204 VALUES (5, 'A', NULL, 'M', NULL);
INSERT INTO SEC1204 VALUES (6, 'A', NULL, NULL, NULL);
INSERT INTO SEC1204 VALUES (7, 'B', 'Y', 'M', NULL);
INSERT INTO SEC1204 VALUES (8, 'B', 'Y', NULL, NULL);
INSERT INTO SEC1204 VALUES (9, 'B', 'Z', 'M', NULL);
INSERT INTO SEC1204 VALUES (10, 'B', 'Z', NULL, NULL);
INSERT INTO SEC1204 VALUES (11, 'B', NULL, 'M', NULL);
INSERT INTO SEC1204 VALUES (12, 'B', NULL, NULL, NULL);
INSERT INTO SEC1204 VALUES (13, NULL, 'Y', 'M', NULL);
INSERT INTO SEC1204 VALUES (14, NULL, 'Y', NULL, NULL);
INSERT INTO SEC1204 VALUES (15, NULL, 'Z', 'M', NULL);
INSERT INTO SEC1204 VALUES (16, NULL, 'Z', NULL, NULL);
INSERT INTO SEC1204 VALUES (17, NULL, NULL, 'M', NULL);
INSERT INTO SEC1204 VALUES (18, NULL, NULL, NULL, NULL);
COMMIT;

CREATE TABLE SEC1207 AS


SELECT *
FROM SEC1202;

CREATE TABLE SEC1210 AS


SELECT A.EMPLOYEE_ID,
A.FIRST_NAME,
A.LAST_NAME,
B.LUNCH_ID,
B.LUNCH_DATE
FROM L_EMPLOYEES A
LEFT OUTER JOIN L_LUNCHES B
ON A.EMPLOYEE_ID = B.EMPLOYEE_ID;

CREATE TABLE SEC1211


(ROW_ID NUMBER(3),
COL_1 VARCHAR2(3),
COL_2 NUMBER(3));
INSERT INTO SEC1211 VALUES (1, 'A', 8);
INSERT INTO SEC1211 VALUES (2, 'A', 5);
INSERT INTO SEC1211 VALUES (3, 'A', 10);
INSERT INTO SEC1211 VALUES (4, 'B', 1);
INSERT INTO SEC1211 VALUES (5, 'B', 7);
INSERT INTO SEC1211 VALUES (6, 'C', 40);
INSERT INTO SEC1211 VALUES (7, 'C', 3);
INSERT INTO SEC1211 VALUES (8, 'D', 8);
INSERT INTO SEC1211 VALUES (9, 'D', 6);
INSERT INTO SEC1211 VALUES (10, 'E', 4);
INSERT INTO SEC1211 VALUES (11, 'E', 5);
COMMIT;

-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 13
-- ***************************************************
CREATE TABLE SEC1303_COLORS
(C_NUM NUMBER(2),
COLOR VARCHAR2(10));
INSERT INTO SEC1303_COLORS VALUES (1, 'RED');
INSERT INTO SEC1303_COLORS VALUES (2, 'YELLOW');
INSERT INTO SEC1303_COLORS VALUES (3, 'RED');
INSERT INTO SEC1303_COLORS VALUES (4, 'PURPLE');
INSERT INTO SEC1303_COLORS VALUES (5, 'ORANGE');
COMMIT;

CREATE TABLE SEC1303_FRUITS


(FRUIT VARCHAR2(10),
F_NUM NUMBER(2));
INSERT INTO SEC1303_FRUITS VALUES ('APPLE', 1);
INSERT INTO SEC1303_FRUITS VALUES ('BANANA', 2);
INSERT INTO SEC1303_FRUITS VALUES ('CHERRY', 3);
INSERT INTO SEC1303_FRUITS VALUES ('GRAPE', 4);
INSERT INTO SEC1303_FRUITS VALUES ('ORANGE', 5);
COMMIT;

CREATE TABLE SEC1304_COLORS


(C_NUM NUMBER(2),
COLOR VARCHAR2(10));
INSERT INTO SEC1304_COLORS VALUES (1, 'RED');
INSERT INTO SEC1304_COLORS VALUES (2, 'YELLOW');
INSERT INTO SEC1304_COLORS VALUES (3, 'RED');
INSERT INTO SEC1304_COLORS VALUES (4, 'PURPLE');
INSERT INTO SEC1304_COLORS VALUES (5, 'ORANGE');
COMMIT;

CREATE TABLE SEC1304_FRUITS


(FRUIT VARCHAR2(10),
F_NUM NUMBER(2));
INSERT INTO SEC1304_FRUITS VALUES ('APPLE', 1);
INSERT INTO SEC1304_FRUITS VALUES ('BANANA', 2);
INSERT INTO SEC1304_FRUITS VALUES ('CHERRY', 3);
INSERT INTO SEC1304_FRUITS VALUES ('GRAPE', 4);
INSERT INTO SEC1304_FRUITS VALUES ('ORANGE', 5);
INSERT INTO SEC1304_FRUITS VALUES ('STRAWBERRY', 1);
COMMIT;

CREATE TABLE SEC1305_COLORS


(C_NUM NUMBER(2),
COLOR VARCHAR2(10));
INSERT INTO SEC1305_COLORS VALUES (1, 'RED');
INSERT INTO SEC1305_COLORS VALUES (1, 'GREEN');
INSERT INTO SEC1305_COLORS VALUES (2, 'YELLOW');
INSERT INTO SEC1305_COLORS VALUES (3, 'RED');
INSERT INTO SEC1305_COLORS VALUES (4, 'PURPLE');
INSERT INTO SEC1305_COLORS VALUES (5, 'ORANGE');
COMMIT;

CREATE TABLE SEC1305_FRUITS


(FRUIT VARCHAR2(10),
F_NUM NUMBER(2));

INSERT INTO SEC1305_FRUITS VALUES ('APPLE', 1);


INSERT INTO SEC1305_FRUITS VALUES ('BANANA', 2);
INSERT INTO SEC1305_FRUITS VALUES ('CHERRY', 3);
INSERT INTO SEC1305_FRUITS VALUES ('GRAPE', 4);
INSERT INTO SEC1305_FRUITS VALUES ('ORANGE', 5);
COMMIT;

CREATE TABLE SEC1306_COLORS


(C_NUM NUMBER(2),
COLOR VARCHAR2(10));

INSERT INTO SEC1306_COLORS VALUES (1, 'RED');


INSERT INTO SEC1306_COLORS VALUES (1, 'GREEN');
INSERT INTO SEC1306_COLORS VALUES (2, 'YELLOW');
INSERT INTO SEC1306_COLORS VALUES (3, 'RED');
INSERT INTO SEC1306_COLORS VALUES (4, 'PURPLE');
INSERT INTO SEC1306_COLORS VALUES (4, 'GREEN');
INSERT INTO SEC1306_COLORS VALUES (5, 'ORANGE');
COMMIT;

CREATE TABLE SEC1306_FRUITS


(FRUIT VARCHAR2(10),
F_NUM NUMBER(2));
INSERT INTO SEC1306_FRUITS VALUES ('APPLE', 1);
INSERT INTO SEC1306_FRUITS VALUES ('BANANA', 2);
INSERT INTO SEC1306_FRUITS VALUES ('CHERRY', 3);
INSERT INTO SEC1306_FRUITS VALUES ('GRAPE', 4);
INSERT INTO SEC1306_FRUITS VALUES ('ORANGE', 5);
INSERT INTO SEC1306_FRUITS VALUES ('STRAWBERRY', 1);
COMMIT;

CREATE TABLE SEC1307_COLORS


(C_NUM NUMBER(2),
COLOR VARCHAR2(10));
INSERT INTO SEC1307_COLORS VALUES (1, 'RED');
INSERT INTO SEC1307_COLORS VALUES (2, 'YELLOW');
INSERT INTO SEC1307_COLORS VALUES (1, 'GREEN');
INSERT INTO SEC1307_COLORS VALUES (5, 'ORANGE');
INSERT INTO SEC1307_COLORS VALUES (6, 'WHITE');
COMMIT;

CREATE TABLE SEC1307_FRUITS


(FRUIT VARCHAR2(10),
F_NUM NUMBER(2));
INSERT INTO SEC1307_FRUITS VALUES ('APPLE', 1);
INSERT INTO SEC1307_FRUITS VALUES ('BANANA', 2);
INSERT INTO SEC1307_FRUITS VALUES ('CHERRY', 3);
INSERT INTO SEC1307_FRUITS VALUES ('GRAPE', 4);
INSERT INTO SEC1307_FRUITS VALUES ('ORANGE', 5);
INSERT INTO SEC1307_FRUITS VALUES ('STRAWBERRY', 1);
COMMIT;

CREATE TABLE SEC1308_COLORS


(C_NUM NUMBER(2),
COLOR VARCHAR2(10));
INSERT INTO SEC1308_COLORS VALUES (1, 'RED');
INSERT INTO SEC1308_COLORS VALUES (2, 'YELLOW');
INSERT INTO SEC1308_COLORS VALUES (3, 'RED');
INSERT INTO SEC1308_COLORS VALUES (4, 'PURPLE');
INSERT INTO SEC1308_COLORS VALUES (5, 'ORANGE');
INSERT INTO SEC1308_COLORS VALUES (NULL, 'BROWN');
COMMIT;

CREATE TABLE SEC1308_FRUITS


(FRUIT VARCHAR2(10),
F_NUM NUMBER(2));

INSERT INTO SEC1308_FRUITS VALUES ('APPLE', 1);


INSERT INTO SEC1308_FRUITS VALUES ('BANANA', 2);
INSERT INTO SEC1308_FRUITS VALUES ('CHERRY', 3);
INSERT INTO SEC1308_FRUITS VALUES ('GRAPE', 4);
INSERT INTO SEC1308_FRUITS VALUES ('ORANGE', 5);
INSERT INTO SEC1308_FRUITS VALUES ('KIWI', NULL);
COMMIT;

CREATE TABLE SEC1309_COLORS AS


SELECT *
FROM SEC1306_COLORS;

CREATE TABLE SEC1309_FRUITS AS


SELECT *
FROM SEC1306_FRUITS;

CREATE TABLE SEC1309_TABLE1


(ADJECTIVE VARCHAR2(25));
INSERT INTO SEC1309_TABLE1 VALUES ('ACTIVE');
INSERT INTO SEC1309_TABLE1 VALUES ('BUSY');
INSERT INTO SEC1309_TABLE1 VALUES ('CRAFTY');
INSERT INTO SEC1309_TABLE1 VALUES ('DETERMINED');
INSERT INTO SEC1309_TABLE1 VALUES ('CRAFTY');
INSERT INTO SEC1309_TABLE1 VALUES (null);
COMMIT;

CREATE TABLE SEC1309_TABLE2


(ANIMAL VARCHAR2(25));
INSERT INTO SEC1309_TABLE2 VALUES ('APE');
INSERT INTO SEC1309_TABLE2 VALUES ('BIRD');
INSERT INTO SEC1309_TABLE2 VALUES ('CAT');
INSERT INTO SEC1309_TABLE2 VALUES ('DOG');
INSERT INTO SEC1309_TABLE2 VALUES ('FLY');
INSERT INTO SEC1309_TABLE2 VALUES (null);
COMMIT;

CREATE TABLE SEC1310_COLORS


(C_NUM_1 NUMBER(2),
C_NUM_2 NUMBER(2),
COLOR VARCHAR2(10));
INSERT INTO SEC1310_COLORS VALUES (1, 5, 'RED');
INSERT INTO SEC1310_COLORS VALUES (1, 6, 'YELLOW');
INSERT INTO SEC1310_COLORS VALUES (2, 5, 'RED');
INSERT INTO SEC1310_COLORS VALUES (2, 6, 'PURPLE');
INSERT INTO SEC1310_COLORS VALUES (2, 7, 'ORANGE');
COMMIT;

CREATE TABLE SEC1310_FRUITS


(F_NUM_1 NUMBER(2),
F_NUM_2 NUMBER(2),
FRUIT VARCHAR2(10));
INSERT INTO SEC1310_FRUITS VALUES (1, 5, 'APPLE');
INSERT INTO SEC1310_FRUITS VALUES (1, 6, 'BANANA');
INSERT INTO SEC1310_FRUITS VALUES (2, 5, 'CHERRY');
INSERT INTO SEC1310_FRUITS VALUES (2, 6, 'GRAPE');
INSERT INTO SEC1310_FRUITS VALUES (2, 7, 'ORANGE');
COMMIT;

CREATE TABLE SEC1310_TABLE1


(M1 NUMBER(2),
M2 NUMBER(2),
M3 NUMBER(2),
ADJECTIVE VARCHAR(30));
INSERT INTO SEC1310_TABLE1 VALUES (1, 1, 2, 'ACTIVE');
INSERT INTO SEC1310_TABLE1 VALUES (1, 2, 3, 'BUSY');
INSERT INTO SEC1310_TABLE1 VALUES (1, 3, 4, 'CRAFTY');
INSERT INTO SEC1310_TABLE1 VALUES (2, 1, 2, 'DETERMINED');
INSERT INTO SEC1310_TABLE1 VALUES (2, 2, 3, 'ECCENTRIC');
COMMIT;

CREATE TABLE SEC1310_TABLE2


(M1 NUMBER(2),
M2 NUMBER(2),
M3 NUMBER(2),
ANIMAL VARCHAR(30));
INSERT INTO SEC1310_TABLE2 VALUES (1, 1, 2, 'APE');
INSERT INTO SEC1310_TABLE2 VALUES (1, 2, 3, 'BIRD');
INSERT INTO SEC1310_TABLE2 VALUES (1, 3, 4, 'CAT');
INSERT INTO SEC1310_TABLE2 VALUES (2, 1, 2, 'DOG');
INSERT INTO SEC1310_TABLE2 VALUES (2, 2, 3, 'ELL');
COMMIT;

CREATE TABLE SEC1311_GRADE_RANGES


(BEGINNING_SCORE NUMBER(3),
ENDING_SCORE NUMBER(3),
LETTER_GRADE VARCHAR2(2));
INSERT INTO SEC1311_GRADE_RANGES VALUES (0, 59, 'F');
INSERT INTO SEC1311_GRADE_RANGES VALUES (60, 69, 'D');
INSERT INTO SEC1311_GRADE_RANGES VALUES (70, 79, 'C');
INSERT INTO SEC1311_GRADE_RANGES VALUES (80, 89, 'B');
INSERT INTO SEC1311_GRADE_RANGES VALUES (90, 100, 'A');
COMMIT;

CREATE TABLE SEC1311_STUDENT_SCORES


(STUDENT_NAME VARCHAR2(15),
TEST_SCORE NUMBER(3));
INSERT INTO SEC1311_STUDENT_SCORES VALUES ('CATHY', 85);
INSERT INTO SEC1311_STUDENT_SCORES VALUES ('FRED', 60);
INSERT INTO SEC1311_STUDENT_SCORES VALUES ('JOHN', 95);
INSERT INTO SEC1311_STUDENT_SCORES VALUES ('MEG', 92);
COMMIT;

CREATE TABLE SEC1311_DICTIONARY


(BEGINNING_LETTER VARCHAR2(1),
ENDING_LETTER VARCHAR2(1),
DICTIONARY_VOLUME VARCHAR2(3));
INSERT INTO SEC1311_DICTIONARY VALUES ('A', 'F', '1');
INSERT INTO SEC1311_DICTIONARY VALUES ('G', 'M', '2');
INSERT INTO SEC1311_DICTIONARY VALUES ('N', 'S', '3');
INSERT INTO SEC1311_DICTIONARY VALUES ('T', 'Z', '4');
COMMIT;

CREATE TABLE SEC1311_WORDS


(WORD VARCHAR2(30));
INSERT INTO SEC1311_WORDS VALUES ('APE');
INSERT INTO SEC1311_WORDS VALUES ('BIRD');
INSERT INTO SEC1311_WORDS VALUES ('CAT');
INSERT INTO SEC1311_WORDS VALUES ('DOG');
INSERT INTO SEC1311_WORDS VALUES ('ELL');
INSERT INTO SEC1311_WORDS VALUES ('FISH');
INSERT INTO SEC1311_WORDS VALUES ('GORILLA');
INSERT INTO SEC1311_WORDS VALUES ('HORSE');
INSERT INTO SEC1311_WORDS VALUES ('IGUANA');
INSERT INTO SEC1311_WORDS VALUES ('JAGUAR');
INSERT INTO SEC1311_WORDS VALUES ('KANGAROO');
INSERT INTO SEC1311_WORDS VALUES ('LEOPARD');
INSERT INTO SEC1311_WORDS VALUES ('MALLARD');
INSERT INTO SEC1311_WORDS VALUES ('NIGHTHAWK');
INSERT INTO SEC1311_WORDS VALUES ('OWL');
INSERT INTO SEC1311_WORDS VALUES ('PENGUIN');
INSERT INTO SEC1311_WORDS VALUES ('QUAIL');
INSERT INTO SEC1311_WORDS VALUES ('ROOSTER');
INSERT INTO SEC1311_WORDS VALUES ('SEA LION');
INSERT INTO SEC1311_WORDS VALUES ('TURTLE');
INSERT INTO SEC1311_WORDS VALUES ('UNICORN');
INSERT INTO SEC1311_WORDS VALUES ('VICEROY');
INSERT INTO SEC1311_WORDS VALUES ('WORM');
INSERT INTO SEC1311_WORDS VALUES ('XFISH');
INSERT INTO SEC1311_WORDS VALUES ('YAK');
INSERT INTO SEC1311_WORDS VALUES ('ZEBRA');
COMMIT;

CREATE TABLE SEC1312_BIGGER_NUMBERS


(LARGER_NUMBER NUMBER(2),
WORD VARCHAR2(15));
INSERT INTO SEC1312_BIGGER_NUMBERS VALUES (1, 'ONE');
INSERT INTO SEC1312_BIGGER_NUMBERS VALUES (2, 'TWO');
INSERT INTO SEC1312_BIGGER_NUMBERS VALUES (3, 'THREE');
INSERT INTO SEC1312_BIGGER_NUMBERS VALUES (4, 'FOUR');
INSERT INTO SEC1312_BIGGER_NUMBERS VALUES (5, 'FIVE');
INSERT INTO SEC1312_BIGGER_NUMBERS VALUES (6, 'SIX');
COMMIT;

CREATE TABLE SEC1312_SMALLER_NUMBERS


(SMALLER_NUMBER NUMBER(2),
WORD VARCHAR2(15));
INSERT INTO SEC1312_SMALLER_NUMBERS VALUES (1, 'ONE');
INSERT INTO SEC1312_SMALLER_NUMBERS VALUES (2, 'TWO');
INSERT INTO SEC1312_SMALLER_NUMBERS VALUES (3, 'THREE');
INSERT INTO SEC1312_SMALLER_NUMBERS VALUES (4, 'FOUR');
INSERT INTO SEC1312_SMALLER_NUMBERS VALUES (5, 'FIVE');
INSERT INTO SEC1312_SMALLER_NUMBERS VALUES (6, 'SIX');
COMMIT;

CREATE TABLE SEC1313_COLORS AS


SELECT *
FROM SEC1306_COLORS;

CREATE TABLE SEC1313_FRUITS AS


SELECT *
FROM SEC1306_FRUITS;

CREATE TABLE SEC1313_WORDS1


(WORD VARCHAR2(30));
INSERT INTO SEC1313_WORDS1 VALUES ('BAT');
INSERT INTO SEC1313_WORDS1 VALUES ('IS');
INSERT INTO SEC1313_WORDS1 VALUES ('LAUGH');
INSERT INTO SEC1313_WORDS1 VALUES ('SING');
COMMIT;

CREATE TABLE SEC1313_WORDS2


(WORD VARCHAR2(30));
INSERT INTO SEC1313_WORDS2 VALUES ('DOG');
INSERT INTO SEC1313_WORDS2 VALUES ('HIGH');
INSERT INTO SEC1313_WORDS2 VALUES ('IT');
INSERT INTO SEC1313_WORDS2 VALUES ('WEEKS');
COMMIT;

CREATE TABLE SEC1314_COLORS AS


SELECT *
FROM SEC1306_COLORS;

CREATE TABLE SEC1314_FRUITS AS


SELECT *
FROM SEC1306_FRUITS;

-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 14
-- ***************************************************
CREATE TABLE SEC1405_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;
INSERT INTO SEC1405_EMPLOYEES VALUES (212, 'BOB', 'GREENE', NULL, '10-FEB-2010',
NULL, NULL, NULL);
COMMIT;

CREATE TABLE SEC1407_DEPARTMENTS


(DEPT_CODE VARCHAR2(3),
DEPARTMENT_NAME VARCHAR2(30));
INSERT INTO SEC1407_DEPARTMENTS VALUES ('EXE', 'EXECUTIVE');
INSERT INTO SEC1407_DEPARTMENTS VALUES ('IT', 'INFORMATION TECHNOLOGY');
INSERT INTO SEC1407_DEPARTMENTS VALUES ('SEC', 'SECURITY DEPARTMENT');
COMMIT;

CREATE TABLE SEC1407_FIRST


(NUMBER_1 NUMBER(2),
WORD_1 VARCHAR2(10),
DATE_1 DATE);
INSERT INTO SEC1407_FIRST VALUES (1, 'ONE', '01-DEC-2001');
INSERT INTO SEC1407_FIRST VALUES (2, 'TWO', '02-DEC-2002');
INSERT INTO SEC1407_FIRST VALUES (3, 'THREE', '03-DEC-2003');
INSERT INTO SEC1407_FIRST VALUES (4, 'FOUR', '04-DEC-2004');
INSERT INTO SEC1407_FIRST VALUES (5, 'FIVE', '05-DEC-2005');
COMMIT;
CREATE TABLE SEC1407_SECOND
(NUMBER_2 NUMBER(2),
WORD_2 VARCHAR2(10),
DATE_2 DATE);
INSERT INTO SEC1407_SECOND VALUES (3, 'THREE', '03-DEC-2003');
INSERT INTO SEC1407_SECOND VALUES (4, 'FOUR', '04-DEC-2004');
INSERT INTO SEC1407_SECOND VALUES (5, 'FIVE', '05-DEC-2005');
INSERT INTO SEC1407_SECOND VALUES (6, 'SIX', '06-DEC-2006');
INSERT INTO SEC1407_SECOND VALUES (7, 'SEVEN', '07-DEC-2007');
COMMIT;

CREATE TABLE SEC1411_NUMBERS AS


SELECT *
FROM NUMBERS_1_TO_1000;
DELETE FROM SEC1411_NUMBERS
WHERE N IN (5, 123, 275, 367, 460, 555, 619, 778, 821, 998);
INSERT INTO SEC1411_NUMBERS VALUES (3);
INSERT INTO SEC1411_NUMBERS VALUES (13);
INSERT INTO SEC1411_NUMBERS VALUES (13);
INSERT INTO SEC1411_NUMBERS VALUES (13);
INSERT INTO SEC1411_NUMBERS VALUES (48);
INSERT INTO SEC1411_NUMBERS VALUES (48);
INSERT INTO SEC1411_NUMBERS VALUES (48);
INSERT INTO SEC1411_NUMBERS VALUES (67);
INSERT INTO SEC1411_NUMBERS VALUES (72);
INSERT INTO SEC1411_NUMBERS VALUES (72);
INSERT INTO SEC1411_NUMBERS VALUES (103);
INSERT INTO SEC1411_NUMBERS VALUES (113);
INSERT INTO SEC1411_NUMBERS VALUES (113);
INSERT INTO SEC1411_NUMBERS VALUES (113);
INSERT INTO SEC1411_NUMBERS VALUES (113);
INSERT INTO SEC1411_NUMBERS VALUES (148);
INSERT INTO SEC1411_NUMBERS VALUES (148);
INSERT INTO SEC1411_NUMBERS VALUES (148);
INSERT INTO SEC1411_NUMBERS VALUES (167);
INSERT INTO SEC1411_NUMBERS VALUES (172);
INSERT INTO SEC1411_NUMBERS VALUES (172);
INSERT INTO SEC1411_NUMBERS VALUES (248);
INSERT INTO SEC1411_NUMBERS VALUES (267);
INSERT INTO SEC1411_NUMBERS VALUES (503);
INSERT INTO SEC1411_NUMBERS VALUES (548);
INSERT INTO SEC1411_NUMBERS VALUES (713);
INSERT INTO SEC1411_NUMBERS VALUES (748);
INSERT INTO SEC1411_NUMBERS VALUES (872);
INSERT INTO SEC1411_NUMBERS VALUES (913);
INSERT INTO SEC1411_NUMBERS VALUES (972);
COMMIT;

CREATE TABLE SEC1412_DEPARTMENTS AS


SELECT *
FROM L_DEPARTMENTS;
DELETE FROM SEC1412_DEPARTMENTS
WHERE DEPT_CODE IN ('SHP');
INSERT INTO SEC1412_DEPARTMENTS VALUES ('IT', 'INFORMATION TECHNOLOGY');
UPDATE SEC1412_DEPARTMENTS
SET DEPARTMENT_NAME = 'SALES DEPARTMENT'
WHERE DEPT_CODE = 'SAL';
COMMIT;

CREATE TABLE SEC1412A


(FIRST_COL VARCHAR2(15),
SECOND_COL VARCHAR2(15));
INSERT INTO SEC1412A VALUES ('11101', '22201');
INSERT INTO SEC1412A VALUES ('11101', '22202');
INSERT INTO SEC1412A VALUES ('11101', '22203');
INSERT INTO SEC1412A VALUES ('11102', '22201');
INSERT INTO SEC1412A VALUES ('11102', '22202');
INSERT INTO SEC1412A VALUES ('11102', '22203');
INSERT INTO SEC1412A VALUES ('11103', '22201');
INSERT INTO SEC1412A VALUES ('11103', '22202');
INSERT INTO SEC1412A VALUES ('11103', '22203');
INSERT INTO SEC1412A VALUES ('11104', '22201');
INSERT INTO SEC1412A VALUES ('11104', '22202');
INSERT INTO SEC1412A VALUES ('11104', '22203');
INSERT INTO SEC1412A VALUES ('11105', '22201');
INSERT INTO SEC1412A VALUES ('11105', '22202');
INSERT INTO SEC1412A VALUES ('11105', '22203');
COMMIT;

CREATE TABLE SEC1412B


(FIRST_COL VARCHAR2(15),
SECOND_COL VARCHAR2(15));

INSERT INTO SEC1412B VALUES ('11101', '22201');


INSERT INTO SEC1412B VALUES ('11101', '22202');
INSERT INTO SEC1412B VALUES ('11101', '22203');
INSERT INTO SEC1412B VALUES ('11102', '22201');
INSERT INTO SEC1412B VALUES ('11102', '22203');
INSERT INTO SEC1412B VALUES ('11103', '22202');
INSERT INTO SEC1412B VALUES ('11103', '22203');
INSERT INTO SEC1412B VALUES ('11104', '22201');
INSERT INTO SEC1412B VALUES ('11104', '22202');
INSERT INTO SEC1412B VALUES ('11105', '22201');
INSERT INTO SEC1412B VALUES ('11105', '22202');
INSERT INTO SEC1412B VALUES ('11105', '22203');
COMMIT;
CREATE TABLE SEC1413_COLORS AS
SELECT *
FROM SEC1306_COLORS;

CREATE TABLE SEC1413_FRUITS AS


SELECT *
FROM SEC1306_FRUITS;
CREATE TABLE SEC1414_TWOS
(MULTIPLE_OF_2 NUMBER(4));
INSERT INTO SEC1414_TWOS
SELECT n * 2
FROM NUMBERS_0_TO_99
WHERE N BETWEEN 0 AND 50;
COMMIT;

CREATE TABLE SEC1414_THREES


(MULTIPLE_OF_3 NUMBER(4));
INSERT INTO SEC1414_THREES
SELECT n * 3
FROM NUMBERS_0_TO_99
WHERE N BETWEEN 0 AND 33;
COMMIT;

CREATE TABLE SEC1414_FIVES


(MULTIPLE_OF_5 NUMBER(4));
INSERT INTO SEC1414_FIVES
SELECT n * 5
FROM NUMBERS_0_TO_99
WHERE N BETWEEN 0 AND 20;
COMMIT;

-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 15
-- ***************************************************
CREATE TABLE SEC1501_FIRST AS
SELECT *
FROM SEC1407_FIRST;

CREATE TABLE SEC1501_SECOND AS


SELECT *
FROM SEC1407_SECOND;

CREATE TABLE SEC1502_FIRST AS


SELECT *
FROM SEC1407_FIRST;

CREATE TABLE SEC1502_SECOND AS


SELECT *
FROM SEC1407_SECOND;

CREATE TABLE SEC1504_FIRST AS


SELECT *
FROM SEC1407_FIRST;

CREATE TABLE SEC1504_SECOND AS


SELECT *
FROM SEC1407_SECOND;

CREATE TABLE SEC1505_FIRST AS


SELECT *
FROM SEC1407_FIRST;

CREATE TABLE SEC1505_SECOND AS


SELECT *
FROM SEC1407_SECOND;

CREATE TABLE SEC1506_WITH_LONG_COLUMNS


(NUMBER_COLUMN_WITH_LENGTH_7 NUMBER(7),
TEXT_COLUMN_WITH_LENGTH_7 VARCHAR2(7));
INSERT INTO SEC1506_WITH_LONG_COLUMNS VALUES (1111111, 'AAAAAAA');
INSERT INTO SEC1506_WITH_LONG_COLUMNS VALUES (2222222, 'BBBBBBB');
INSERT INTO SEC1506_WITH_LONG_COLUMNS VALUES (3333333, 'CCCCCCC');
INSERT INTO SEC1506_WITH_LONG_COLUMNS VALUES (4444444, 'DDDDDDD');
INSERT INTO SEC1506_WITH_LONG_COLUMNS VALUES (5555555, 'EEEEEEE');
COMMIT;

CREATE TABLE SEC1506_WITH_SHORT_COLUMNS


(NUMBER_COLUMN_WITH_LENGTH_2 NUMBER(2),
TEXT_COLUMN_WITH_LENGTH_2 VARCHAR2(2));
INSERT INTO SEC1506_WITH_SHORT_COLUMNS VALUES (33, 'CC');
INSERT INTO SEC1506_WITH_SHORT_COLUMNS VALUES (44, 'DD');
INSERT INTO SEC1506_WITH_SHORT_COLUMNS VALUES (55, 'EE');
INSERT INTO SEC1506_WITH_SHORT_COLUMNS VALUES (66, 'FF');
INSERT INTO SEC1506_WITH_SHORT_COLUMNS VALUES (77, 'GG');
COMMIT;

CREATE TABLE SEC1507_WITH_LONG_COLUMNS AS


SELECT *
FROM SEC1506_WITH_LONG_COLUMNS;

CREATE TABLE SEC1507_WITH_SHORT_COLUMNS AS


SELECT *
FROM SEC1506_WITH_SHORT_COLUMNS;
CREATE TABLE SEC1507_FIRST AS
SELECT *
FROM SEC1407_FIRST;

CREATE TABLE SEC1507_SECOND AS


SELECT *
FROM SEC1407_SECOND;
CREATE TABLE SEC1508_MORE_COLUMNS
(NUMBER_COL NUMBER(7),
TEXT_COL VARCHAR2(7),
DATE_COL DATE);
INSERT INTO SEC1508_MORE_COLUMNS VALUES (1111111, 'AAAAAAA', '01-DEC-2015');
INSERT INTO SEC1508_MORE_COLUMNS VALUES (2222222, 'BBBBBBB', '02-DEC-2015');
INSERT INTO SEC1508_MORE_COLUMNS VALUES (3333333, 'CCCCCCC', '03-DEC-2015');
INSERT INTO SEC1508_MORE_COLUMNS VALUES (4444444, 'DDDDDDD', '04-DEC-2015');
INSERT INTO SEC1508_MORE_COLUMNS VALUES (5555555, 'EEEEEEE', '05-DEC-2015');
COMMIT;

CREATE TABLE SEC1508_LESS_COLUMNS


(NUMBER_COL NUMBER(7),
TEXT_COL VARCHAR2(7));
INSERT INTO SEC1508_LESS_COLUMNS VALUES (3333333, 'CCCCCCC');
INSERT INTO SEC1508_LESS_COLUMNS VALUES (4444444, 'DDDDDDD');
INSERT INTO SEC1508_LESS_COLUMNS VALUES (5555555, 'EEEEEEE');
INSERT INTO SEC1508_LESS_COLUMNS VALUES (6666666, 'FFFFFFF');
INSERT INTO SEC1508_LESS_COLUMNS VALUES (7777777, 'GGGGGGG');
COMMIT;

CREATE TABLE SEC1509_FOODS AS


SELECT * FROM L_FOODS;

CREATE TABLE SEC1509A_LUNCHES AS


SELECT * FROM L_LUNCHES;
UPDATE SEC1509A_LUNCHES
SET DATE_ENTERED = TO_DATE('18-OCT-2011 08:43:11 AM', 'DD-MON-YYYY HH12:MI:SS AM
')
WHERE LUNCH_ID = 13;

CREATE TABLE SEC1509B_LUNCHES AS


SELECT * FROM L_LUNCHES;

CREATE TABLE SEC1510_FIRST AS


SELECT *
FROM SEC1407_FIRST;

CREATE TABLE SEC1510_SECOND AS


SELECT *
FROM SEC1407_SECOND;

CREATE TABLE SEC1512_FINANCES


(ITEM VARCHAR2(25),
COST NUMBER(5,2));
INSERT INTO SEC1512_FINANCES VALUES ('SAMSONITE SUITCASE', -248.13);
INSERT INTO SEC1512_FINANCES VALUES ('RENT FOR APRIL', 700.00);
INSERT INTO SEC1512_FINANCES VALUES ('OPERA TICKET', -145.00);
INSERT INTO SEC1512_FINANCES VALUES ('LUNCH', -15.62);
INSERT INTO SEC1512_FINANCES VALUES ('DEBT REPAID BY JIM', 20.00);
INSERT INTO SEC1512_FINANCES VALUES ('CAR REPAIR', -622.98);
INSERT INTO SEC1512_FINANCES VALUES ('HAIRCUT', -22.00);
INSERT INTO SEC1512_FINANCES VALUES ('BIRTHDAY GIFT FROM MOM', 200.00);
COMMIT;

CREATE TABLE SEC1515_FIRST AS


SELECT *
FROM SEC1407_FIRST;

CREATE TABLE SEC1515_SECOND AS


SELECT *
FROM SEC1407_SECOND;

CREATE TABLE SEC1516_FIRST AS


SELECT *
FROM SEC1407_FIRST;

CREATE TABLE SEC1516_SECOND AS


SELECT *
FROM SEC1407_SECOND;

-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 16
-- ***************************************************
CREATE TABLE SEC1601_COLUMNS_1_TO_2
(NUM_COL_1 NUMBER(4),
TEXT_COL_2 VARCHAR2(6));
INSERT INTO SEC1601_COLUMNS_1_TO_2 VALUES (1, 'A');
INSERT INTO SEC1601_COLUMNS_1_TO_2 VALUES (2, 'B');
INSERT INTO SEC1601_COLUMNS_1_TO_2 VALUES (3, 'C');
INSERT INTO SEC1601_COLUMNS_1_TO_2 VALUES (4, 'D');
COMMIT;

CREATE TABLE SEC1601_COLUMNS_3_TO_5


(NUM_COL_3 NUMBER(4),
TEXT_COL_4 VARCHAR2(6),
DATE_COL_5 DATE);
INSERT INTO SEC1601_COLUMNS_3_TO_5 VALUES (25, 'VV', '05-AUG-2025');
INSERT INTO SEC1601_COLUMNS_3_TO_5 VALUES (26, 'WW', '06-SEP-2026');
INSERT INTO SEC1601_COLUMNS_3_TO_5 VALUES (27, 'XX', '07-OCT-2027');
INSERT INTO SEC1601_COLUMNS_3_TO_5 VALUES (28, 'YY', '08-NOV-2028');
INSERT INTO SEC1601_COLUMNS_3_TO_5 VALUES (29, 'ZZ', '09-DEC-2029');
COMMIT;

CREATE TABLE SEC1603_COLORS


(C_NUM NUMBER(2),
COLOR VARCHAR2(10));
INSERT INTO SEC1603_COLORS VALUES (1, 'RED');
INSERT INTO SEC1603_COLORS VALUES (2, 'YELLOW');
INSERT INTO SEC1603_COLORS VALUES (1, 'GREEN');
INSERT INTO SEC1603_COLORS VALUES (5, 'WHITE');
INSERT INTO SEC1603_COLORS VALUES (NULL, 'BROWN');
COMMIT;

CREATE TABLE SEC1603_FRUITS


(FRUIT VARCHAR2(10),
F_NUM NUMBER(2));
INSERT INTO SEC1603_FRUITS VALUES ('APPLE', 1);
INSERT INTO SEC1603_FRUITS VALUES ('BANANA', 2);
INSERT INTO SEC1603_FRUITS VALUES ('STRAWBERRY', 1);
INSERT INTO SEC1603_FRUITS VALUES ('GRAPE', 4);
INSERT INTO SEC1603_FRUITS VALUES ('KIWI', NULL);
COMMIT;

CREATE TABLE SEC1606_CAR_TYPES


(CAR_TYPE VARCHAR2(15));
INSERT INTO SEC1606_CAR_TYPES VALUES ('FORD');
INSERT INTO SEC1606_CAR_TYPES VALUES ('TOYOTA');
INSERT INTO SEC1606_CAR_TYPES VALUES ('VOLKSWAGEN');
INSERT INTO SEC1606_CAR_TYPES VALUES ('CHEVY');
COMMIT;

CREATE TABLE SEC1606_COLORS


(COLOR VARCHAR2(15));
INSERT INTO SEC1606_COLORS VALUES ('WHITE');
INSERT INTO SEC1606_COLORS VALUES ('RED');
INSERT INTO SEC1606_COLORS VALUES ('GREEN');
COMMIT;

CREATE TABLE SEC1609


(COL_1 VARCHAR2(10),
COL_2 NUMBER(4));
INSERT INTO SEC1609 VALUES ('G', 1);
INSERT INTO SEC1609 VALUES ('H', 2);
INSERT INTO SEC1609 VALUES ('I', 3);
INSERT INTO SEC1609 VALUES ('J', 4);
COMMIT;

CREATE TABLE SEC1611_EVENTS


(SEQUENCE_NUMBER NUMBER(5),
TRUCK_ID NUMBER(5),
EVENT VARCHAR2(100),
TIME_DONE DATE);
INSERT INTO SEC1611_EVENTS VALUES (1, 41, 'DELIVERED PACKAGE 391', TO_DATE('11:2
7 AM','HH12:MI AM'));
INSERT INTO SEC1611_EVENTS VALUES (2, 41, 'DELIVERED PACKAGE 392', TO_DATE('11:3
3 AM','HH12:MI AM'));
INSERT INTO SEC1611_EVENTS VALUES (3, 41, 'PICKED UP PACKAGE 572', TO_DATE('11:4
2 AM','HH12:MI AM'));
INSERT INTO SEC1611_EVENTS VALUES (4, 41, 'STARTED LUNCH BREAK', TO_DATE('11:54
AM','HH12:MI AM'));
INSERT INTO SEC1611_EVENTS VALUES (5, 41, 'ENDED LUNCH BREAK', TO_DATE('12:23 PM
','HH12:MI AM'));
INSERT INTO SEC1611_EVENTS VALUES (6, 41, 'DELIVERED PACKAGE 393', TO_DATE('12:3
7 PM','HH12:MI AM'));
INSERT INTO SEC1611_EVENTS VALUES (7, 41, 'PICKED UP PACKAGE 573', TO_DATE('12:4
4 PM','HH12:MI AM'));
INSERT INTO SEC1611_EVENTS VALUES (8, 41, 'PICKED UP PACKAGE 574', TO_DATE('01:0
2 PM','HH12:MI AM'));
INSERT INTO SEC1611_EVENTS VALUES (9, 41, 'DELIVERED PACKAGE 394', TO_DATE('01:0
8 PM','HH12:MI AM'));
INSERT INTO SEC1611_EVENTS VALUES (10, 41, 'DELIVERED PACKAGE 395', TO_DATE('01:
12 PM','HH12:MI AM'));
COMMIT;

CREATE TABLE SEC1611_PRIME_NUMBERS


(SEQUENCE_ID NUMBER(5),
PRIME_NUMBER NUMBER(5));
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (1, 2);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (2, 3);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (3, 5);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (4, 7);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (5, 11);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (6, 13);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (7, 17);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (8, 19);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (9, 23);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (10, 29);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (11, 31);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (12, 37);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (13, 41);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (14, 43);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (15, 47);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (16, 53);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (17, 59);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (18, 61);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (19, 67);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (20, 71);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (21, 73);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (22, 79);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (23, 83);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (24, 89);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (25, 97);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (26, 101);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (27, 103);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (28, 107);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (29, 109);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (30, 113);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (31, 127);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (32, 131);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (33, 137);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (34, 139);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (35, 149);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (36, 151);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (37, 157);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (38, 163);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (39, 167);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (40, 173);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (41, 179);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (42, 181);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (43, 191);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (44, 193);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (45, 197);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (46, 199);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (47, 211);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (48, 223);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (49, 227);
INSERT INTO SEC1611_PRIME_NUMBERS VALUES (50, 229);
COMMIT;

CREATE TABLE SEC1613_CAR_TYPES AS


SELECT *
FROM SEC1606_CAR_TYPES;

CREATE TABLE SEC1613_COLORS AS


SELECT *
FROM SEC1606_COLORS;

CREATE TABLE SEC1614_CAR_TYPES AS


SELECT *
FROM SEC1606_CAR_TYPES;

CREATE TABLE SEC1614_COLORS AS


SELECT *
FROM SEC1606_COLORS;

CREATE TABLE SEC1614_NUMBER_OF_DOORS


(DOORS NUMBER(1));
INSERT INTO SEC1614_NUMBER_OF_DOORS VALUES (2);
INSERT INTO SEC1614_NUMBER_OF_DOORS VALUES (4);
COMMIT;

CREATE TABLE SEC1615_CAR_TYPES AS


SELECT *
FROM SEC1606_CAR_TYPES;

CREATE TABLE SEC1615_COLORS AS


SELECT *
FROM SEC1606_COLORS;

CREATE TABLE SEC1615_NUMBER_OF_DOORS AS


SELECT *
FROM SEC1614_NUMBER_OF_DOORS;
CREATE TABLE SEC1618_CAR_TYPES AS
SELECT *
FROM SEC1606_CAR_TYPES;

CREATE TABLE SEC1618_COLORS AS


SELECT *
FROM SEC1606_COLORS;

CREATE TABLE SEC1618_NUMBER_OF_DOORS AS


SELECT *
FROM SEC1614_NUMBER_OF_DOORS;

CREATE TABLE SEC1619


(CAR_TYPE VARCHAR2(15),
DOORS NUMBER(1),
COLOR VARCHAR2(10),
MY_DATA VARCHAR2(5));
INSERT INTO SEC1619 VALUES ('CHEVY', 2, 'GREEN', 1);
INSERT INTO SEC1619 VALUES ('CHEVY', 4, 'GREEN', 4);
INSERT INTO SEC1619 VALUES ('CHEVY', 2, 'RED', 2);
INSERT INTO SEC1619 VALUES ('CHEVY', 4, 'RED', 5);
INSERT INTO SEC1619 VALUES ('CHEVY', 2, 'WHITE', 3);
INSERT INTO SEC1619 VALUES ('CHEVY', 4, 'WHITE', 6);
INSERT INTO SEC1619 VALUES ('FORD', 2, 'GREEN', 7);
INSERT INTO SEC1619 VALUES ('FORD', 4, 'GREEN', 10);
INSERT INTO SEC1619 VALUES ('FORD', 2, 'RED', 8);
INSERT INTO SEC1619 VALUES ('FORD', 4, 'RED', 11);
INSERT INTO SEC1619 VALUES ('FORD', 2, 'WHITE', 9);
INSERT INTO SEC1619 VALUES ('FORD', 4, 'WHITE', 12);
INSERT INTO SEC1619 VALUES ('TOYOTA', 2, 'GREEN', 13);
INSERT INTO SEC1619 VALUES ('TOYOTA', 4, 'GREEN', 16);
INSERT INTO SEC1619 VALUES ('TOYOTA', 2, 'RED', 14);
INSERT INTO SEC1619 VALUES ('TOYOTA', 4, 'RED', 17);
INSERT INTO SEC1619 VALUES ('TOYOTA', 2, 'WHITE', 15);
INSERT INTO SEC1619 VALUES ('TOYOTA', 4, 'WHITE', 18);
INSERT INTO SEC1619 VALUES ('VOLKSWAGEN', 2, 'GREEN', 19);
INSERT INTO SEC1619 VALUES ('VOLKSWAGEN', 4, 'GREEN', 22);
INSERT INTO SEC1619 VALUES ('VOLKSWAGEN', 2, 'RED', 20);
INSERT INTO SEC1619 VALUES ('VOLKSWAGEN', 4, 'RED', 23);
INSERT INTO SEC1619 VALUES ('VOLKSWAGEN', 2, 'WHITE', 21);
INSERT INTO SEC1619 VALUES ('VOLKSWAGEN', 4, 'WHITE', 24);
COMMIT;
-- ***************************************************
-- EXTRA TABLES FOR CHAPTER 18
-- ***************************************************
CREATE TABLE SEC1804_FINANCES AS
SELECT *
FROM SEC1512_FINANCES;

CREATE TABLE SEC1816_CHANGES


(EMP_ID NUMBER(3),
NEW_MANAGER NUMBER(3));
INSERT INTO SEC1816_CHANGES VALUES (206, 204);
INSERT INTO SEC1816_CHANGES VALUES (207, 204);
INSERT INTO SEC1816_CHANGES VALUES (209, 205);
INSERT INTO SEC1816_CHANGES VALUES (210, 205);
COMMIT;

CREATE TABLE SEC1816A_EMPLOYEES AS


SELECT *
FROM L_EMPLOYEES;
CREATE TABLE SEC1816B_EMPLOYEES AS
SELECT *
FROM L_EMPLOYEES;

CREATE TABLE SEC1817_FIRST AS


SELECT *
FROM SEC1407_FIRST;

CREATE TABLE SEC1817_SECOND AS


SELECT *
FROM SEC1407_SECOND;
-- ***************************************************
-- CHECK THAT THE TABLES WERE BUILT CORRECTLY
-- ***************************************************
CREATE OR REPLACE VIEW ACTUAL_DATABASE_OBJECTS_VIEW AS
SELECT OBJECT_TYPE,
COUNT(*) AS ACTUAL_COUNT
FROM USER_OBJECTS
GROUP BY OBJECT_TYPE;

CREATE OR REPLACE VIEW ACTUAL_CONSTRAINTS_VIEW AS


SELECT CASE WHEN CONSTRAINT_TYPE = 'P' THEN 'PRIMARY KEY CONSTRAINT'
WHEN CONSTRAINT_TYPE = 'C' THEN 'CHECK CONSTRAINT'
WHEN CONSTRAINT_TYPE = 'R' THEN 'REFERENTIAL INTEGRITY CONSTRAINT'
WHEN CONSTRAINT_TYPE = 'U' THEN 'UNIQUENESS CONSTRAINT'
ELSE CONSTRAINT_TYPE
END AS CONSTRAINT_TYPE,
COUNT(*) AS ACTUAL_COUNT
FROM USER_CONSTRAINTS
GROUP BY CONSTRAINT_TYPE;

CREATE OR REPLACE VIEW ACTUAL_BUILT_OBJECTS_VIEW AS


SELECT 'A' AS OBJECT_CATEGORY,
A.OBJECT_TYPE,
A.ACTUAL_COUNT
FROM ACTUAL_DATABASE_OBJECTS_VIEW A
UNION ALL
SELECT 'B',
B.CONSTRAINT_TYPE,
B.ACTUAL_COUNT
FROM ACTUAL_CONSTRAINTS_VIEW B;
CREATE TABLE EXPECTED_BUILT_OBJECTS
(OBJECT_CATEGORY VARCHAR2(1),
OBJECT_TYPE VARCHAR2(50),
EXPECTED_COUNT NUMBER(3));
INSERT INTO EXPECTED_BUILT_OBJECTS VALUES ('A', 'INDEX', 56);
INSERT INTO EXPECTED_BUILT_OBJECTS VALUES ('A', 'SEQUENCE', 5);
INSERT INTO EXPECTED_BUILT_OBJECTS VALUES ('A', 'TABLE', 240);
INSERT INTO EXPECTED_BUILT_OBJECTS VALUES ('A', 'VIEW', 9);
INSERT INTO EXPECTED_BUILT_OBJECTS VALUES ('B', 'PRIMARY KEY CONSTRAINT', 54);
INSERT INTO EXPECTED_BUILT_OBJECTS VALUES ('B', 'CHECK CONSTRAINT', 4);
INSERT INTO EXPECTED_BUILT_OBJECTS VALUES ('B', 'REFERENTIAL INTEGRITY CONSTRAIN
T', 18);
INSERT INTO EXPECTED_BUILT_OBJECTS VALUES ('B', 'UNIQUENESS CONSTRAINT', 2);
COMMIT;

SELECT A.OBJECT_TYPE,
A.ACTUAL_COUNT,
B.EXPECTED_COUNT,
CASE WHEN A.ACTUAL_COUNT = B.EXPECTED_COUNT THEN 'OK'
ELSE '*** ERROR ***'
END AS COMPARE_COUNTS
FROM ACTUAL_BUILT_OBJECTS_VIEW A
FULL OUTER JOIN EXPECTED_BUILT_OBJECTS B
ON A.OBJECT_CATEGORY = B.OBJECT_CATEGORY
AND A.OBJECT_TYPE = B.OBJECT_TYPE
ORDER BY A.OBJECT_CATEGORY,
A.OBJECT_TYPE;
-- ***************************************************
-- END OF PROCEDURE
-- ***************************************************

S-ar putea să vă placă și