Sei sulla pagina 1di 7

--PROMPT CREATE TABLE 'CREDITCARDS'

CREATE TABLE APP.CREDITCARDS


(CARD_NUMBER VARCHAR(20) NOT NULL,
CARD_TYPE VARCHAR(10) NOT NULL,
CUST_ID NUMERIC(6) NOT NULL,
CREDIT_LIMIT NUMERIC(9, 2) NOT NULL,
STATUS VARCHAR(20) NOT NULL,
RATING NUMERIC(2)
, CONSTRAINT CREDITCARDS_PK PRIMARY KEY
(CARD_NUMBER)
--ENABLE
)
;
CREATE TABLE APP.SHIPTYPES
(
SHIP_ID NUMERIC(10) NOT NULL,
SHIP_TYPE VARCHAR(20) NOT NULL,
SHIP_COMPANY VARCHAR(20) NOT NULL,
CONSTRAINT SHIPTYPE_PK PRIMARY KEY
(
SHIP_ID
)
--ENABLE
)
;
--PROMPT CREATE TABLE 'EXTERNAL_STORE'
CREATE TABLE APP.EXTERNAL_STORE
(
PROD_ID VARCHAR(20) NOT NULL,
QUANTITY NUMERIC(6)
, CONSTRAINT EXTERNAL_STORE_PK PRIMARY KEY
(
PROD_ID
)
--ENABLE

)
;
--PROMPT CREATE TABLE 'ADDRESS'
CREATE TABLE APP.ADDRESS
(
ADDR_ID NUMERIC(6) NOT NULL,
CUST_ID NUMERIC(6) NOT NULL,
STREET VARCHAR(50),
CITY VARCHAR(40),
STATE VARCHAR(40),
ZIP VARCHAR(20),
COUNTRY VARCHAR(40)
, CONSTRAINT TABLE1_PK PRIMARY KEY
(
ADDR_ID
)
-- ENABLE
)
;

--PROMPT CREATE TABLE 'CUSTOMERS'


CREATE TABLE APP.CUSTOMERS
(
CUST_ID NUMERIC(6) NOT NULL,
FIRST_NAME VARCHAR(40) NOT NULL,
LAST_NAME VARCHAR(40) NOT NULL,
EMAIL VARCHAR(40) NOT NULL,
USERNAME VARCHAR(40) NOT NULL,
PASSWRD VARCHAR(40) NOT NULL,
STATUS VARCHAR(20) NOT NULL
, CONSTRAINT CUSTOMERS_PK PRIMARY KEY
(
CUST_ID
)
--ENABLE

)
;
--PROMPT CREATE TABLE 'ITEMS'
CREATE TABLE APP.ITEMS
(
ITEM_ID NUMERIC(6) NOT NULL,
ORD_ID NUMERIC(6) NOT NULL,
PROD_ID VARCHAR(20) NOT NULL,
PRICE NUMERIC(9, 2) NOT NULL,
QUANTITY NUMERIC(6)
, CONSTRAINT ITEMS_PK PRIMARY KEY
(
ITEM_ID,
ORD_ID
)
--ENABLE
)
;
--PROMPT CREATE TABLE 'PRODUCTS'
CREATE TABLE APP.PRODUCTS
(
PROD_ID VARCHAR(20) NOT NULL,
PROD_NAME VARCHAR(50),
RETAIL_PRICE NUMERIC(9, 2)
, CONSTRAINT PRODUCTS_PK PRIMARY KEY
(
PROD_ID
)
-- ENABLE
)
;
--PROMPT CREATE TABLE 'INTERNAL_STORE'
CREATE TABLE APP.INTERNAL_STORE
(

PROD_ID VARCHAR(20) NOT NULL,


QUANTITY NUMERIC(6)
, CONSTRAINT INTERNAL_STORE_PK PRIMARY KEY
(
PROD_ID
)
--ENABLE
)
;
--PROMPT CREATE TABLE 'PRODID_XREFS'
CREATE TABLE APP.PRODID_XREFS
(
INT_ID VARCHAR(20) NOT NULL,
EXT_ID VARCHAR(20) NOT NULL
, CONSTRAINT PRODID_XREFS_PK PRIMARY KEY
(
INT_ID
)
--ENABLE
)
;
--PROMPT CREATE TABLE 'ONLINE_STORE'
CREATE TABLE APP.ONLINE_STORE
(
PROD_ID VARCHAR(20) NOT NULL,
QUANTITY NUMERIC(6)
, CONSTRAINT ONLINE_STORE_PK1 PRIMARY KEY
(
PROD_ID
)
--ENABLE
)
;
--PROMPT CREATE TABLE 'ORDERS'

CREATE TABLE APP.ORDERS


(
ORD_ID NUMERIC(6) NOT NULL,
CUST_ID NUMERIC(6) NOT NULL,
TOTAL_PRICE NUMERIC(9, 2) NOT NULL,
DATE_ORDERED DATE NOT NULL,
DATE_SHIPPED DATE,
STATUS VARCHAR(20)
, CONSTRAINT ORDERS_PK PRIMARY KEY
(
ORD_ID
)
--ENABLE
)
;
--PROMPT CREATE UNIQUE KEY CONSTRAINT ON 'PRODID_XREFS'
ALTER TABLE APP.PRODID_XREFS
ADD CONSTRAINT PRODID_XREFS_UK1 UNIQUE
(
EXT_ID
)
--ENABLE
;
--PROMPT CREATE FOREIGN KEY CONSTRAINT ON 'ADDRESS'
ALTER TABLE APP.ADDRESS
ADD CONSTRAINT ADDRESS_CUSTOMERS_FK1 FOREIGN KEY
(
CUST_ID
)
REFERENCES APP.CUSTOMERS
(
CUST_ID
)
--ENABLE
;

--PROMPT CREATE FOREIGN KEY CONSTRAINT ON 'CREDITCARDS'


ALTER TABLE APP.CREDITCARDS
ADD CONSTRAINT CREDITCARDS_CUSTOMERS_FK1 FOREIGN KEY
(
CUST_ID
)
REFERENCES APP.CUSTOMERS
(
CUST_ID
)
--ENABLE
;
--PROMPT CREATE FOREIGN KEY CONSTRAINT ON 'ITEMS'
ALTER TABLE APP.ITEMS
ADD CONSTRAINT ITEMS_ORDERS_FK FOREIGN KEY
(
ORD_ID
)
REFERENCES APP.ORDERS
(
ORD_ID
)
--ENABLE
;
--PROMPT CREATE FOREIGN KEY CONSTRAINT ON 'ITEMS'
ALTER TABLE APP.ITEMS
ADD CONSTRAINT ITEMS_PRODUCTS_FK FOREIGN KEY
(
PROD_ID
)
REFERENCES APP.PRODUCTS
(
PROD_ID
)

--ENABLE
;
--PROMPT CREATE FOREIGN KEY CONSTRAINT ON 'ORDERS'
ALTER TABLE APP.ORDERS
ADD CONSTRAINT ORDERS_CUSTOMERS_FK1 FOREIGN KEY
(
CUST_ID
)
REFERENCES APP.CUSTOMERS
(
CUST_ID
)
--ENABLE
;

--PROMPT CREATE CHECK CONSTRAINT ON 'CUSTOMERS'


ALTER TABLE APP.CUSTOMERS
ADD CONSTRAINT CUSTOMERS_STATUS_CHK1 CHECK
(STATUS IN ('bronze', 'silver', 'gold', 'platinum'))
--ENABLE
;
--PROMPT CREATE SEQUENCE 'ORDER_SEQ'
CREATE SEQUENCE APP.ORDER_SEQ INCREMENT BY 1 START WITH 100 ;
--PROMPT CREATE SEQUENCE 'CUSTOMER_SEQ'
CREATE SEQUENCE APP.CUSTOMER_SEQ INCREMENT BY 1 START WITH 1 ;
--PROMPT CREATE SEQUENCE 'ADDRESS_SEQ'
CREATE SEQUENCE APP.ADDRESS_SEQ INCREMENT BY 1 START WITH 1 ;
COMMIT;
--SPOOL OFF

Potrebbero piacerti anche