More Related Content
Similar to Milestone 1 FINAL
Similar to Milestone 1 FINAL (20)
Milestone 1 FINAL
- 1. DROP TABLE DEBIT;
DROP TABLE CASH;
DROP TABLE CHECKC;
DROP TABLE CREDIT;
DROP TABLE STOREMOVIE;
DROP TABLE MOVIERENT;
DROP TABLE RENTSTAT;
DROP TABLE PAYMENT;
DROP TABLE PAYSTAT;
DROP TABLE EMPLOYEE;
DROP TABLE CUSTOMER;
DROP TABLE TAPE;
DROP TABLE MOVIE;
DROP TABLE STORE;
DROP TABLE DISTRIBUTOR;
CREATE TABLE DISTRIBUTOR (
DIST_DISTID INTEGER PRIMARY KEY,
DIST_NAME VARCHAR(40) NOTNULL,
DIST_STREET VARCHAR(40) NOTNULL,
DIST_CITY VARCHAR(40) NOTNULL,
DIST_PROVINCE VARCHAR(40) NOTNULL,
DIST_POSTCODE CHAR(6) NOT NULL,
DIST_PHONE CHAR(10) NOTNULL
);
CREATE TABLE STORE (
STORE_STOREID INTEGER PRIMARY KEY,
DIST_DISTID INTEGER,
STORE_NAME VARCHAR(40) NOTNULL,
STORE_STREET VARCHAR(40) NOTNULL,
STORE_CITY VARCHAR(40) NOTNULL,
STORE_PROVINCE VARCHAR(40) NOTNULL,
STORE_POSTCODE CHAR(6) NOT NULL,
STORE_PHONE CHAR(10) NOTNULL,
FOREIGN KEY (DIST_DISTID) REFERENCESDISTRIBUTOR (DIST_DISTID)
);
CREATE TABLE MOVIE (
MOVIE_MOVIEID INTEGER PRIMARY KEY,
MOVIE_TITLE VARCHAR(40) NOTNULL,
MOVIE_DESC VARCHAR2(40) NOTNULL,
MOVIE_DIRECTOR VARCHAR(40) NOTNULL,
MOVIE_STARNAME VARCHAR(40) NOTNULL,
MOVIE_RATING CHAR(1)
CHECK (MOVIE_RATING>=1 OR MOVIE_RATING<= 5)
);
- 2. CREATE TABLE TAPE (
TAPE_TAPEID INTEGER PRIMARY KEY,
MOVIE_MOVIEID INTEGER,
STORE_STOREID INTEGER,
TAPE_CONDITION VARCHAR2(35) NOTNULL,
FOREIGN KEY (MOVIE_MOVIEID) REFERENCESMOVIE(MOVIE_MOVIEID),
FOREIGN KEY (STORE_STOREID) REFERENCESSTORE (STORE_STOREID)
);
CREATE TABLE CUSTOMER (
CUST_CUSTID INTEGER PRIMARY KEY,
CUST_NAME VARCHAR(40) NOTNULL,
CUST_STREET VARCHAR(40) NOTNULL,
CUST_CITY VARCHAR(40) NOTNULL,
CUST_PROVINCE VARCHAR(40) NOTNULL,
CUST_POSTCODE CHAR(6) NOT NULL,
CUST_PHONE CHAR(10)
);
CREATE TABLE EMPLOYEE (
EMP_EMPSIN INTEGER PRIMARY KEY,
EMP_MANSIN INTEGER,
STORE_STOREID INTEGER,
EMP_NAME VARCHAR(40) NOTNULL,
EMP_STREET VARCHAR(40) NOTNULL,
EMP_CITY VARCHAR(40) NOTNULL,
EMP_PROVINCE VARCHAR(40) NOTNULL,
EMP_POSTCODE CHAR(6) NOT NULL,
EMP_PHONE CHAR(10) NOTNULL,
EMP_HIREDATE DATE NOT NULL,
FOREIGN KEY (STORE_STOREID) REFERENCESSTORE (STORE_STOREID),
CONSTRAINTEMPLOYEE_CK1 CHECK (EMP_HIREDATE > TO_DATE('01-01-2012','DD-MM-YYYY'))
);
CREATE TABLE PAYSTAT(
PAYSTAT_STATID INTEGER PRIMARY KEY,
PAYSTAT_DESC VARCHAR2(35) NOTNULL
);
CREATE TABLE PAYMENT (
PAY_PAYID INTEGER PRIMARY KEY,
EMP_EMPSIN INTEGER,
CUST_CUSTID INTEGER,
PAYSTAT_STATID INTEGER,
PAY_PAYAMOUNT NUMBER(5,2),
PAY_DATE DATE NOT NULL,
FOREIGN KEY (EMP_EMPSIN) REFERENCESEMPLOYEE (EMP_EMPSIN),
FOREIGN KEY (CUST_CUSTID) REFERENCES CUSTOMER (CUST_CUSTID),
- 3. FOREIGN KEY (PAYSTAT_STATID) REFERENCESPAYSTAT(PAYSTAT_STATID),
CONSTRAINTPAYMENT_CK1CHECK (PAY_DATE> TO_DATE('01-01-2012','DD-MM-YYYY'))
);
CREATE TABLE RENTSTAT (
RENTSTAT_STATID INTEGER PRIMARYKEY,
RENTSTAT_DESC VARCHAR2(35) NOT NULL
);
CREATE TABLE MOVIERENT (
TAPE_TAPEID INTEGER,
MOVIE_MOVIEID INTEGER,
STORE_STOREID INTEGER,
MOVIERENT_RENTDATEDATE PRIMARYKEY,
CUST_CUSTID INTEGER,
EMP_EMPSIN INTEGER,
PAY_PAYID INTEGER,
RENTSTAT_STATID INTEGER,
MOVIERENT_DUEDATE DATE,
MOVIERENT_OVERDUECHARGE NUMBER(5,2) DEFAULT 0.00,
MOVIERENT_RENTRATE NUMBER(5,2),
FOREIGN KEY (TAPE_TAPEID) REFERENCESTAPE(TAPE_TAPEID),
FOREIGN KEY (MOVIE_MOVIEID) REFERENCESMOVIE(MOVIE_MOVIEID),
FOREIGN KEY (STORE_STOREID) REFERENCESSTORE (STORE_STOREID),
FOREIGN KEY (CUST_CUSTID) REFERENCES CUSTOMER (CUST_CUSTID),
FOREIGN KEY (EMP_EMPSIN) REFERENCESEMPLOYEE (EMP_EMPSIN),
FOREIGN KEY (PAY_PAYID) REFERENCESPAYMENT(PAY_PAYID),
FOREIGN KEY (RENTSTAT_STATID) REFERENCESRENTSTAT(RENTSTAT_STATID),
CONSTRAINTMOVIERENT_CK1CHECK (MOVIERENT_RENTDATE> TO_DATE('01-01-2012','DD-MM-
YYYY')),
CONSTRAINTMOVIERENT2_CK1CHECK (MOVIERENT_DUEDATE > TO_DATE('01-01-2012','DD-MM-
YYYY'))
);
CREATE TABLE STOREMOVIE (
MOVIE_MOVIEID INTEGER,
STORE_STOREID INTEGER,
FOREIGN KEY (MOVIE_MOVIEID) REFERENCESMOVIE(MOVIE_MOVIEID),
FOREIGN KEY (STORE_STOREID) REFERENCESSTORE (STORE_STOREID)
);
CREATE TABLE CREDIT (
PAY_PAYID INTEGER,
CREDIT_NUMBER INTEGER,
CREDIT_TYPE VARCHAR(20),
CREDIT_EXPIRY CHAR(4),
FOREIGN KEY (PAY_PAYID) REFERENCESPAYMENT(PAY_PAYID)
);
- 4. CREATE TABLE CHECKC (
PAY_PAYID INTEGER,
CHECKC_NUMBER INTEGER,
CHECKC_BANKNUMBERINTEGER,
CHECKC_BANKNAME VARCHAR(40),
FOREIGN KEY (PAY_PAYID) REFERENCESPAYMENT (PAY_PAYID)
);
CREATE TABLE CASH (
PAY_PAYID INTEGER,
FOREIGN KEY (PAY_PAYID) REFERENCESPAYMENT(PAY_PAYID)
);
CREATE TABLE DEBIT (
PAY_PAYID INTEGER,
DEBIT_NUMBER INTEGER,
DEBIT_TYPE VARCHAR(20),
DEBIT_EXPIRY CHAR(4),
FOREIGN KEY (PAY_PAYID) REFERENCESPAYMENT(PAY_PAYID)
);