home *** CD-ROM | disk | FTP | other *** search
- /* The script contains the DDL to create the ACME Credit Bureau database.
- SQL is included at the end to generate sample data. */
-
- CONNECT "ACMECreditBureau.gdb"
- USER "SYSDBA" PASSWORD "masterkey";
-
- DROP DATABASE;
-
- CREATE DATABASE "ACMECreditBureau.gdb"
- USER "SYSDBA" PASSWORD "masterkey" PAGE_SIZE 1024;
-
- /* Table: ACCOUNTS, Owner: SYSDBA */
- CREATE TABLE ACCOUNT (HISTORYID INTEGER NOT NULL,
- ACCOUNTID INTEGER NOT NULL,
- TYPE CHAR(5) NOT NULL,
- STATUS CHAR(10) NOT NULL,
- INSTITUTIONID INTEGER NOT NULL,
- ACCOUNTNUMBER VARCHAR(20) NOT NULL,
- BALANCE DOUBLE PRECISION NOT NULL,
- MONTHLYPAYMENT DOUBLE PRECISION,
- LIMIT DOUBLE PRECISION,
- PASTDUE120 SMALLINT,
- PASTDUE90 SMALLINT,
- PASTDUE60 SMALLINT,
- PASTDUE30 SMALLINT,
- TOTALPAYMENTS SMALLINT,
- PRIMARY KEY (HISTORYID, ACCOUNTID));
-
- /* Table: ACCOUNT_ID, Owner: SYSDBA */
- CREATE TABLE ACCOUNTID (HISTORYID INTEGER NOT NULL,
- ACCOUNTID INTEGER NOT NULL,
- PRIMARY KEY (HISTORYID, ACCOUNTID));
-
- /* Table: ACCOUNT_STATUS, Owner: SYSDBA */
- CREATE TABLE ACCOUNTSTATUS (STATUS CHAR(10) NOT NULL,
- DESCRIPTION CHAR(40),
- PRIMARY KEY (STATUS));
-
- /* Table: ACCOUNTTYPE, Owner: SYSDBA */
- CREATE TABLE ACCOUNTTYPE (TYPE CHAR(5) NOT NULL,
- DESCRIPTION VARCHAR(40),
- PRIMARY KEY (TYPE));
-
- /* Table: CREDITHISTORY, Owner: SYSDBA */
- CREATE TABLE CREDITHISTORY (HISTORYID INTEGER NOT NULL,
- FIRSTNAME VARCHAR(25) NOT NULL,
- MI CHAR(1),
- LASTNAME VARCHAR(40) NOT NULL,
- DOB DATE,
- PHONE VARCHAR(15) NOT NULL,
- ADDR1 VARCHAR(30) NOT NULL,
- ADDR2 VARCHAR(30) NOT NULL,
- CITY VARCHAR(30) NOT NULL,
- STATE VARCHAR(15) NOT NULL,
- POSTALCODE VARCHAR(12) NOT NULL,
- COUNTRY VARCHAR(20) NOT NULL,
- IDENTIFICATION VARCHAR(30),
- PRIMARY KEY (HISTORYID));
-
- /* Create a non-unique index for DOB on table CreditHistory */
- CREATE INDEX DOBINDEX ON CREDITHISTORY( DOB );
-
- /* Table: FINANCIALINSTITUTION, Owner: SYSDBA */
- CREATE TABLE FINANCIALINSTITUTION(INSTITUTIONID INTEGER NOT NULL,
- INSTITUTIONNAME VARCHAR(30) NOT NULL,
- PHONE VARCHAR(15) NOT NULL,
- ADDR1 VARCHAR(30) NOT NULL,
- ADDR2 VARCHAR(30),
- CITY VARCHAR(30) NOT NULL,
- STATE VARCHAR(15) NOT NULL,
- POSTALCODE VARCHAR(12) NOT NULL,
- COUNTRY VARCHAR(20) NOT NULL,
- PRIMARY KEY (INSTITUTIONID));
-
- /* Table: HISTORYID, Owner: SYSDBA */
- CREATE TABLE HISTORYID (HISTORYID INTEGER NOT NULL,
- PRIMARY KEY (HISTORYID));
-
- /* Table: INSTITUTIONID, Owner: SYSDBA */
- CREATE TABLE INSTITUTIONID (INSTITUTIONID INTEGER NOT NULL,
- PRIMARY KEY (INSTITUTIONID));
- ALTER TABLE ACCOUNTID ADD FOREIGN KEY (HISTORYID) REFERENCES CREDITHISTORY(HISTORYID);
- ALTER TABLE ACCOUNT ADD FOREIGN KEY (INSTITUTIONID) REFERENCES FINANCIALINSTITUTION(INSTITUTIONID);
- ALTER TABLE ACCOUNT ADD FOREIGN KEY (STATUS) REFERENCES ACCOUNTSTATUS(STATUS);
- ALTER TABLE ACCOUNT ADD FOREIGN KEY (TYPE) REFERENCES ACCOUNTTYPE(TYPE);
-
- /* Grant permissions for this database */
-
- /* Make sure work is committed */
- COMMIT;
-
- /* Populate the ACME Credit Bureau Database */
-
- /* Create initial history ID row */
- INSERT INTO HISTORYID VALUES( 0 );
-
- /* Create Account Status Records */
- INSERT INTO ACCOUNTSTATUS VALUES( 'OPEN', 'Account is currently active.');
- INSERT INTO ACCOUNTSTATUS VALUES( 'CLOSED', 'Account is currently inactive.');
- INSERT INTO ACCOUNTSTATUS VALUES( 'COLLECTION', 'Account is in collections.');
-
- /* Create Account Type Records */
- INSERT INTO ACCOUNTTYPE VALUES ('AUTO', 'Automobile Loan');
- INSERT INTO ACCOUNTTYPE VALUES ('CCARD', 'Credit Card');
- INSERT INTO ACCOUNTTYPE VALUES ('LOAN', 'Personal Loan');
-
- /* Create financial institutions */
- INSERT INTO FINANCIALINSTITUTION VALUES( 1, 'Bank of the Americas', '5555555000', '1581 Grant St.', '', 'Memphis', 'TN', '380001', 'US' );
- INSERT INTO FINANCIALINSTITUTION VALUES( 2, 'Bank of New York', '5555555001', '1200 W. 58th Ave', '', 'New York', 'NY', '100012', 'US' );
- INSERT INTO FINANCIALINSTITUTION VALUES( 3, 'Bank of Mexico', '5555555002', '1001 Main St.', '', 'Mexico City', 'MX', '121213','Mexico' );
-
- INSERT INTO INSTITUTIONID VALUES(3);
-
- /* Make sure work is committed */
- COMMIT;
-