Monday, January 12, 2009

Code Gen from DDL

Convert the below DDL to Java/PHP Code
/**
** atm.sql
** $Revision: 1.1 $
** $Log: atm.sql,v $
** Revision 1.1 2004/08/23 20:22:55 vz86k2
** check in
**
**/


/**
** ATM_VENDOR Table
**/

DROP TABLE ATM_VENDOR CASCADE CONSTRAINTS;

CREATE TABLE ATM_VENDOR (
VENDOR_ID NUMBER(10) NOT NULL,
NAME VARCHAR2(50) NOT NULL
);
ALTER TABLE ATM_VENDOR
ADD ( PRIMARY KEY (VENDOR_ID) );

DROP SEQUENCE ATM_VENDOR_SEQUENCE;
CREATE SEQUENCE ATM_VENDOR_SEQUENCE START WITH 100;

/**
** ATM_USER Table
**/

DROP TABLE ATM_USER CASCADE CONSTRAINTS;

CREATE TABLE ATM_USER (
USER_ID NUMBER(10) NOT NULL,
NETID VARCHAR2(8) NOT NULL
);

ALTER TABLE ATM_USER
ADD ( PRIMARY KEY (USER_ID) );

DROP SEQUENCE ATM_USER_SEQUENCE;
CREATE SEQUENCE ATM_USER_SEQUENCE START WITH 100;

/**
** ATM_USER_ROLE Table
**/

DROP TABLE ATM_USER_ROLE CASCADE CONSTRAINTS;

CREATE TABLE ATM_USER_ROLE (
ROLE_ID NUMBER(10) NOT NULL,
ROLE VARCHAR2(30) NOT NULL
);

ALTER TABLE ATM_USER_ROLE
ADD ( PRIMARY KEY (ROLE_ID) );

DROP SEQUENCE ATM_USER_ROLE_SEQUENCE;
CREATE SEQUENCE ATM_USER_ROLE_SEQUENCE START WITH 100;

/**
** ATM_USER_ROLE_TO_USER Table
**/

DROP TABLE ATM_USER_ROLE_TO_USER CASCADE CONSTRAINTS;

CREATE TABLE ATM_USER_ROLE_TO_USER (
ROLE_ID NUMBER(10) NOT NULL,
USER_ID NUMBER(10) NOT NULL
);

ALTER TABLE ATM_USER_ROLE_TO_USER
ADD ( PRIMARY KEY (ROLE_ID, USER_ID) );

CREATE INDEX ATM_USER_ROLE_TO_USER_INDEX ON ATM_USER_ROLE_TO_USER
(
USER_ID ASC
);

ALTER TABLE ATM_USER_ROLE_TO_USER
ADD ( FOREIGN KEY (USER_ID)
REFERENCES ATM_USER );


ALTER TABLE ATM_USER_ROLE_TO_USER
ADD ( FOREIGN KEY (ROLE_ID)
REFERENCES ATM_USER_ROLE );

/**
** ATM_CODE Table
**/

DROP TABLE ATM_CODE CASCADE CONSTRAINTS;

CREATE TABLE ATM_CODE (
CODE_ID NUMBER(10) NOT NULL,
CODE_GROUP VARCHAR2(50) NOT NULL,
VALUE VARCHAR2(100) NOT NULL
);

ALTER TABLE ATM_CODE
ADD ( PRIMARY KEY (CODE_ID) );

DROP SEQUENCE ATM_CODE_SEQUENCE;
CREATE SEQUENCE ATM_CODE_SEQUENCE START WITH 100;

CREATE INDEX ATM_CODE_INDEX_2 ON ATM_CODE
(
CODE_GROUP ASC
);

/**
** ATM_PRODUCT Table
**/

DROP TABLE ATM_PRODUCT CASCADE CONSTRAINTS;

CREATE TABLE ATM_PRODUCT (
PRODUCT_ID NUMBER(10) NOT NULL,
VENDOR_ID NUMBER(10) NOT NULL,
NAME VARCHAR2(100) NOT NULL,
DESCRIPTION VARCHAR2(255) NOT NULL,
CATEGORY_CD_ID NUMBER(10) NOT NULL,
ACQUISITION_METHOD VARCHAR2(255) NOT NULL,
LICENSE_PRICE DECIMAL(12,2) NOT NULL,
MAINTENANCE_COST DECIMAL(12,2) NOT NULL,
EXT_MAINTENANCE_COST DECIMAL(12,2) NOT NULL,
LICENSE_TYPE_CD_ID NUMBER(10) NOT NULL,
LICENSE_QUANTITY NUMBER(10) NOT NULL,
TOTAL_COST DECIMAL(10,2) NOT NULL,
LICENSE_OWNER_CD_ID NUMBER(10) NOT NULL,
LICENSE_RENEWED_CD_ID NUMBER(10) NOT NULL,
LICENSE_RENEWED_BY_DT DATE NOT NULL,
TOOL_STATUS_CD_ID NUMBER(10) NOT NULL,
PRODUCT_COMMENT VARCHAR(512) NOT NULL
);

ALTER TABLE ATM_PRODUCT
ADD ( PRIMARY KEY (PRODUCT_ID) );

DROP SEQUENCE ATM_PRODUCT_SEQUENCE;
CREATE SEQUENCE ATM_PRODUCT_SEQUENCE START WITH 100;

ALTER TABLE ATM_PRODUCT
ADD ( FOREIGN KEY (VENDOR_ID)
REFERENCES ATM_VENDOR );

ALTER TABLE ATM_PRODUCT
ADD ( FOREIGN KEY (CATEGORY_CD_ID)
REFERENCES ATM_CODE );

ALTER TABLE ATM_PRODUCT
ADD ( FOREIGN KEY (LICENSE_TYPE_CD_ID)
REFERENCES ATM_CODE );

ALTER TABLE ATM_PRODUCT
ADD ( FOREIGN KEY (LICENSE_OWNER_CD_ID)
REFERENCES ATM_CODE );

ALTER TABLE ATM_PRODUCT
ADD ( FOREIGN KEY (LICENSE_RENEWED_CD_ID)
REFERENCES ATM_CODE );

ALTER TABLE ATM_PRODUCT
ADD ( FOREIGN KEY (TOOL_STATUS_CD_ID)
REFERENCES ATM_CODE );

/**
** ATM_PROJECT Table
**/

DROP TABLE ATM_PROJECT CASCADE CONSTRAINTS;

CREATE TABLE ATM_PROJECT (
PROJECT_ID NUMBER(10) NOT NULL,
NAME VARCHAR2(50) NOT NULL
);

ALTER TABLE ATM_PROJECT
ADD ( PRIMARY KEY (PROJECT_ID) );

DROP SEQUENCE ATM_PROJECT_SEQUENCE;
CREATE SEQUENCE ATM_PROJECT_SEQUENCE START WITH 100;

/**
** ATM_PRODUCT_TO_PROJECT Table
**/

DROP TABLE ATM_PRODUCT_TO_PROJECT CASCADE CONSTRAINTS;

CREATE TABLE ATM_PRODUCT_TO_PROJECT (
PRODUCT_ID NUMBER(10) NOT NULL,
PROJECT_ID NUMBER(10) NOT NULL
);

ALTER TABLE ATM_PRODUCT_TO_PROJECT
ADD ( PRIMARY KEY (PRODUCT_ID, PROJECT_ID) );

ALTER TABLE ATM_PRODUCT_TO_PROJECT
ADD ( FOREIGN KEY (PRODUCT_ID)
REFERENCES ATM_PRODUCT );


ALTER TABLE ATM_PRODUCT_TO_PROJECT
ADD ( FOREIGN KEY (PROJECT_ID)
REFERENCES ATM_PROJECT );

No comments: