| CREATE TABLE MCUSTOMER (ID INTEGER NOT NULL, ACCOUNT_NUM BIGINT, ADDRESS1 VARCHAR(255), ADDRESS2 VARCHAR(255), ADDRESS3 VARCHAR(255), ADDRESS4 VARCHAR(255), BIRTHDATE DATE, CITY VARCHAR(255), COUNTRY VARCHAR(255), DATE_ACCNT_OPENED VARCHAR(255), EDUCATION VARCHAR(255), FNAME VARCHAR(255), FULLNAME VARCHAR(255), GENDER VARCHAR(255), HOUSEOWNER VARCHAR(255), LNAME VARCHAR(255), MARITAL_STATUS VARCHAR(255), MEMBER_CARD VARCHAR(255), MI VARCHAR(255), NUM_CARS_OWNED INTEGER, NUM_CHILDREN_AT_HOME INTEGER, OCCUPATION VARCHAR(255), PHONE1 VARCHAR(255), PHONE2 VARCHAR(255), POSTAL_CODE VARCHAR(255), STATE_PROVINCE VARCHAR(255), TEST VARCHAR(255), TOTAL_CHILDREN INTEGER, YEARLY_INCOME VARCHAR(255), PRIMARY KEY (ID)) |
| CREATE TABLE CASH_REGISTER (ID VARCHAR(255) NOT NULL, CURRENT_DAY VARCHAR(255), IP VARCHAR(255), LOCATION VARCHAR(255), NUM VARCHAR(255), PRIMARY KEY (ID)) |
| CREATE UNIQUE INDEX cashIpIndex ON CASH_REGISTER (ip) |
| CREATE UNIQUE INDEX cashNumIndex ON CASH_REGISTER (num) |
| CREATE TABLE CASH_SLIP (ID VARCHAR(255) NOT NULL, CASHIER VARCHAR(255), CURRENT_DAY VARCHAR(255), NOW TIMESTAMP, PAYED SMALLINT DEFAULT 0, SERIAL BIGINT, TOTAL FLOAT, CUSTOMER_ID INTEGER, REGISTER_ID VARCHAR(255), PRIMARY KEY (ID)) |
| CREATE INDEX currentDay_index ON CASH_SLIP (currentDay) |
| CREATE INDEX serial_index ON CASH_SLIP (currentDay, serial) |
| CREATE TABLE CASH_POSITION (ID VARCHAR(255) NOT NULL, AMOUNT FLOAT, NOW TIMESTAMP, PRICE FLOAT, QUANTITY FLOAT, SLIP_ID VARCHAR(255), PRIMARY KEY (ID)) |
| CREATE TABLE CASH_PAYMENT (ID VARCHAR(255) NOT NULL, NOW TIMESTAMP, PAYED FLOAT, METHOD_OF_PAYMENT_ID VARCHAR(255), SLIP_ID VARCHAR(255), PRIMARY KEY (ID)) |
| CREATE TABLE CASH_PAYMENT_METHOD (ID VARCHAR(255) NOT NULL, CREDIT SMALLINT DEFAULT 0, IMAGE_NAME VARCHAR(255), LOWER_LIMIT FLOAT, NAME VARCHAR(255), NUM VARCHAR(255), PRIMARY KEY (ID)) |
| CREATE UNIQUE INDEX paymentNumIndex ON CASH_PAYMENT_METHOD (num) |
| CREATE TABLE COMPANY_RELATION_TYPE (ID VARCHAR(255) NOT NULL, DESCRIPTION VARCHAR(255), NAME VARCHAR(255), PRIMARY KEY (ID)) |
| CREATE TABLE COMPANY_GROUP (ID VARCHAR(255) NOT NULL, DESCRIPTION VARCHAR(255), NAME VARCHAR(255), MAIN_COMPANY_ID VARCHAR(255), PRIMARY KEY (ID)) |
| CREATE TABLE COMPANY (ID VARCHAR(255) NOT NULL, DESCRIPTION VARCHAR(255), NAME VARCHAR(255), COMPANY_GROUP_ID VARCHAR(255), RELATION_TYPE_ID VARCHAR(255), PRIMARY KEY (ID)) |
| CREATE TABLE ADDRESS (ID VARCHAR(255) NOT NULL, ADDRESS1 VARCHAR(255), ADDRESS2 VARCHAR(255), CITY VARCHAR(255), COUNTRY VARCHAR(255), EMAIL VARCHAR(255), LANDLINE VARCHAR(255), MOBILE VARCHAR(255), POSTAL_CODE VARCHAR(255), STATE_PROVINCE VARCHAR(255), COMPANY_ID VARCHAR(255), DEPARTMENT_ID VARCHAR(255), PRIMARY KEY (ID)) |
| CREATE TABLE DEPARTMENT (ID VARCHAR(255) NOT NULL, DEFAULT_YEARLY_INCOME FLOAT, DESCRIPTION VARCHAR(255), NAME VARCHAR(255), COMPANY_ID VARCHAR(255), PRIMARY KEY (ID)) |
| ALTER TABLE CASH_SLIP ADD CONSTRAINT CASHSLIPREGISTERID FOREIGN KEY (REGISTER_ID) REFERENCES CASH_REGISTER (ID) |
| ALTER TABLE CASH_SLIP ADD CONSTRAINT CASHSLIPCUSTOMERID FOREIGN KEY (CUSTOMER_ID) REFERENCES MCUSTOMER (ID) |
| ALTER TABLE CASH_POSITION ADD CONSTRAINT CASHPOSITIONSLIPID FOREIGN KEY (SLIP_ID) REFERENCES CASH_SLIP (ID) |
| ALTER TABLE CASH_PAYMENT ADD CONSTRAINT CSHPYMNMTHDFPYMNTD FOREIGN KEY (METHOD_OF_PAYMENT_ID) REFERENCES CASH_PAYMENT_METHOD (ID) |
| ALTER TABLE CASH_PAYMENT ADD CONSTRAINT CASHPAYMENTSLIP_ID FOREIGN KEY (SLIP_ID) REFERENCES CASH_SLIP (ID) |
| ALTER TABLE COMPANY_GROUP ADD CONSTRAINT CMPNYGRUPMNCMPNYID FOREIGN KEY (MAIN_COMPANY_ID) REFERENCES COMPANY (ID) |
| ALTER TABLE COMPANY ADD CONSTRAINT CMPNYCMPANYGROUPID FOREIGN KEY (COMPANY_GROUP_ID) REFERENCES COMPANY_GROUP (ID) |
| ALTER TABLE COMPANY ADD CONSTRAINT CMPANYRLTIONTYPEID FOREIGN KEY (RELATION_TYPE_ID) REFERENCES COMPANY_RELATION_TYPE (ID) |
| ALTER TABLE ADDRESS ADD CONSTRAINT ADDRESS_COMPANY_ID FOREIGN KEY (COMPANY_ID) REFERENCES COMPANY (ID) |
| ALTER TABLE ADDRESS ADD CONSTRAINT DDRESSDEPARTMENTID FOREIGN KEY (DEPARTMENT_ID) REFERENCES DEPARTMENT (ID) |
| ALTER TABLE DEPARTMENT ADD CONSTRAINT DPARTMENTCOMPANYID FOREIGN KEY (COMPANY_ID) REFERENCES COMPANY (ID) |
| CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(15), PRIMARY KEY (SEQ_NAME)) |
| INSERT INTO SEQUENCE(SEQ_NAME, SEQ_COUNT) values ('SEQ_GEN', 0) |