Sunteți pe pagina 1din 7

CREATE TABLE CASH_PAYMENT

(
PAYMENT_ID

INTEGER NOT NULL ,

Property_Certificate VARCHAR2 (50) ,


Reference_ID

INTEGER ,

Cus_Employer_Statement VARCHAR2 (50) ,


Bank_Statement
Phone_Bill

VARCHAR2 (50) ,
INTEGER ,

Inst_Amount

INTEGER ,

Down_Payment

INTEGER ,

CUSTOMER_NN

INTEGER NOT NULL ,

CUSTOMER_NAME

VARCHAR2 (50) NOT NULL

);
CREATE UNIQUE INDEX CASH_PAYMENT__IDX ON CASH_PAYMENT
(
CUSTOMER_NN ASC , CUSTOMER_NAME ASC
)
;
ALTER TABLE CASH_PAYMENT ADD CONSTRAINT CASH_PAYMENT_PK PRIMARY KEY
( PAYMENT_ID ) ;

CREATE TABLE CONTRACT


(
Price

INTEGER ,

Mgr_Name

VARCHAR2 (50) ,

CUSTOMER_NN INTEGER NOT NULL ,

CUSTOMER_NAME VARCHAR2 (50) NOT NULL


);

CREATE TABLE CUSTOMER


(
NN

INTEGER NOT NULL ,

NAME

VARCHAR2 (50) NOT NULL ,

ADDRESS
PHONE

VARCHAR2 (50) ,
INTEGER ,

JOB

VARCHAR2 (50) ,

WORK_ADDRESS VARCHAR2 (50) ,


ID_PLACE

VARCHAR2 (50) ,

ID_TYPE

VARCHAR2 (50) ,

ID_DATE

DATE

);
ALTER TABLE CUSTOMER ADD CONSTRAINT CUSTOMER_PK PRIMARY KEY ( NN, NAME
);

CREATE TABLE Car


(
CHASSIS INTEGER NOT NULL ,
PRICE

INTEGER ,

CAR_TYPE VARCHAR2 (100) ,


COLOR

VARCHAR2 (50) ,

MODEL

VARCHAR2 (50)

);
ALTER TABLE Car ADD CONSTRAINT Car_PK PRIMARY KEY ( CHASSIS ) ;

CREATE TABLE DEPARTMENT


(
DEPT_NAME

VARCHAR2 NOT NULL ,

DEPARTMENT_NO
DEPT_NAME1

INTEGER NOT NULL ,


VARCHAR2 NOT NULL ,

DEPARTMENT_NO1 INTEGER NOT NULL ,


EMPLOYEE_EMP_ID INTEGER NOT NULL ,
EMPLOYEE_EMP_ID1 INTEGER NOT NULL
);
CREATE UNIQUE INDEX DEPARTMENT__IDX ON DEPARTMENT
(
EMPLOYEE_EMP_ID ASC
)
;
ALTER TABLE DEPARTMENT ADD CONSTRAINT DEPARTMENT_PK PRIMARY KEY
( DEPT_NAME, DEPARTMENT_NO ) ;

CREATE TABLE EMPLOYEE


(
EMP_ID
EMP_NAME
SALARY
GENDER
B_DATE

INTEGER NOT NULL ,


VARCHAR2 (50) ,
INTEGER ,
VARCHAR2 (20) ,
DATE ,

EMPLOYEE_EMP_ID INTEGER
);

ALTER TABLE EMPLOYEE ADD CONSTRAINT EMPLOYEE_PK PRIMARY KEY ( EMP_ID ) ;

CREATE TABLE INSTALEMENT_PAYMENT


(
PAYMENT_ID

INTEGER NOT NULL ,

CUSTOMER_NN INTEGER NOT NULL ,


CUSTOMER_NAME VARCHAR2 (50) NOT NULL
);
CREATE UNIQUE INDEX INSTALEMENT_PAYMENT__IDX ON INSTALEMENT_PAYMENT
(
CUSTOMER_NN ASC , CUSTOMER_NAME ASC
)
;
ALTER TABLE INSTALEMENT_PAYMENT ADD CONSTRAINT
INSTALEMENT_PAYMENT_PK PRIMARY KEY ( PAYMENT_ID ) ;

CREATE TABLE Insurance_Details


(
Insurance_Date DATE ,
Car_CHASSIS

INTEGER NOT NULL

);
CREATE UNIQUE INDEX Insurance_Details__IDX ON Insurance_Details
(
Car_CHASSIS ASC
)
;

CREATE TABLE MAINTENANCE


(
NO_Kilometers

INTEGER ,

Maintenance_date DATE NOT NULL ,


Car_CHASSIS

INTEGER NOT NULL

);
CREATE UNIQUE INDEX MAINTENANCE__IDX ON MAINTENANCE
(
Car_CHASSIS ASC
)
;
ALTER TABLE MAINTENANCE ADD CONSTRAINT MAINTENANCE_PK PRIMARY KEY
( Maintenance_date ) ;

CREATE TABLE "ORDER"


(
Bill_NO

INTEGER NOT NULL ,

Payment_Type VARCHAR2 (20) ,


Paid_Amount INTEGER ,
"Date"

DATE ,

CUSTOMER_NN INTEGER NOT NULL ,


CUSTOMER_NAME VARCHAR2 (50) NOT NULL
);
ALTER TABLE "ORDER" ADD CONSTRAINT ORDER_PK PRIMARY KEY ( Bill_NO ) ;

CREATE TABLE ORDERS


(

CUSTOMER_NN INTEGER NOT NULL ,


CUSTOMER_NAME VARCHAR2 (50) NOT NULL ,
Car_CHASSIS INTEGER NOT NULL
);
ALTER TABLE ORDERS ADD CONSTRAINT ORDERS_PK PRIMARY KEY ( CUSTOMER_NN,
CUSTOMER_NAME, Car_CHASSIS ) ;

ALTER TABLE CASH_PAYMENT ADD CONSTRAINT CASH_PAYMENT_CUSTOMER_FK


FOREIGN KEY ( CUSTOMER_NN, CUSTOMER_NAME ) REFERENCES CUSTOMER ( NN,
NAME ) ;

ALTER TABLE CONTRACT ADD CONSTRAINT CONTRACT_CUSTOMER_FK FOREIGN KEY


( CUSTOMER_NN, CUSTOMER_NAME ) REFERENCES CUSTOMER ( NN, NAME ) ;

ALTER TABLE DEPARTMENT ADD CONSTRAINT DEPARTMENT_EMPLOYEE_FK FOREIGN


KEY ( EMPLOYEE_EMP_ID ) REFERENCES EMPLOYEE ( EMP_ID ) ;

ALTER TABLE DEPARTMENT ADD CONSTRAINT DEPARTMENT_EMPLOYEE_FKv1


FOREIGN KEY ( EMPLOYEE_EMP_ID1 ) REFERENCES EMPLOYEE ( EMP_ID ) ;

ALTER TABLE EMPLOYEE ADD CONSTRAINT EMPLOYEE_EMPLOYEE_FK FOREIGN KEY


( EMPLOYEE_EMP_ID ) REFERENCES EMPLOYEE ( EMP_ID ) ;

ALTER TABLE ORDERS ADD CONSTRAINT FK_ASS_3 FOREIGN KEY ( CUSTOMER_NN,


CUSTOMER_NAME ) REFERENCES CUSTOMER ( NN, NAME ) ;

ALTER TABLE ORDERS ADD CONSTRAINT FK_ASS_4 FOREIGN KEY ( Car_CHASSIS )


REFERENCES Car ( CHASSIS ) ;

-- ERROR: FK name length exceeds maximum allowed length(30)

ALTER TABLE INSTALEMENT_PAYMENT ADD CONSTRAINT


INSTALEMENT_PAYMENT_CUSTOMER_FK FOREIGN KEY ( CUSTOMER_NN,
CUSTOMER_NAME ) REFERENCES CUSTOMER ( NN, NAME ) ;

ALTER TABLE Insurance_Details ADD CONSTRAINT Insurance_Details_Car_FK


FOREIGN KEY ( Car_CHASSIS ) REFERENCES Car ( CHASSIS ) ;

ALTER TABLE MAINTENANCE ADD CONSTRAINT MAINTENANCE_Car_FK FOREIGN KEY


( Car_CHASSIS ) REFERENCES Car ( CHASSIS ) ;

ALTER TABLE "ORDER" ADD CONSTRAINT ORDER_CUSTOMER_FK FOREIGN KEY


( CUSTOMER_NN, CUSTOMER_NAME ) REFERENCES CUSTOMER ( NN, NAME ) ;

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