home *** CD-ROM | disk | FTP | other *** search
/ Java 1.2 How-To / JavaHowTo.iso / 3rdParty / jbuilder / TRIAL / JBUILDER / JVISBRKR.Z / ACMESchema.sql < prev    next >
Encoding:
Text File  |  1998-05-08  |  4.2 KB  |  116 lines

  1. /* The script contains the DDL to create the ACME Credit Bureau database. 
  2.    SQL is included at the end to generate sample data. */
  3.  
  4. CONNECT "ACMECreditBureau.gdb"
  5. USER "SYSDBA" PASSWORD "masterkey";
  6.  
  7. DROP DATABASE;
  8.  
  9. CREATE DATABASE "ACMECreditBureau.gdb"
  10. USER "SYSDBA" PASSWORD "masterkey" PAGE_SIZE 1024;
  11.  
  12. /* Table: ACCOUNTS, Owner: SYSDBA */
  13. CREATE TABLE ACCOUNT (HISTORYID INTEGER NOT NULL,
  14.         ACCOUNTID INTEGER NOT NULL,
  15.         TYPE CHAR(5) NOT NULL,
  16.         STATUS CHAR(10) NOT NULL,
  17.         INSTITUTIONID INTEGER NOT NULL,
  18.         ACCOUNTNUMBER VARCHAR(20) NOT NULL,
  19.         BALANCE DOUBLE PRECISION NOT NULL,
  20.         MONTHLYPAYMENT DOUBLE PRECISION,
  21.         LIMIT DOUBLE PRECISION,
  22.         PASTDUE120 SMALLINT,
  23.         PASTDUE90 SMALLINT,
  24.         PASTDUE60 SMALLINT,
  25.         PASTDUE30 SMALLINT,
  26.         TOTALPAYMENTS SMALLINT,
  27. PRIMARY KEY (HISTORYID, ACCOUNTID));
  28.  
  29. /* Table: ACCOUNT_ID, Owner: SYSDBA */
  30. CREATE TABLE ACCOUNTID (HISTORYID INTEGER NOT NULL,
  31.         ACCOUNTID INTEGER NOT NULL,
  32. PRIMARY KEY (HISTORYID, ACCOUNTID));
  33.  
  34. /* Table: ACCOUNT_STATUS, Owner: SYSDBA */
  35. CREATE TABLE ACCOUNTSTATUS (STATUS CHAR(10) NOT NULL,
  36.         DESCRIPTION CHAR(40),
  37. PRIMARY KEY (STATUS));
  38.  
  39. /* Table: ACCOUNTTYPE, Owner: SYSDBA */
  40. CREATE TABLE ACCOUNTTYPE (TYPE CHAR(5) NOT NULL,
  41.         DESCRIPTION VARCHAR(40),
  42. PRIMARY KEY (TYPE));
  43.  
  44. /* Table: CREDITHISTORY, Owner: SYSDBA */
  45. CREATE TABLE CREDITHISTORY (HISTORYID INTEGER NOT NULL,
  46.         FIRSTNAME VARCHAR(25) NOT NULL,
  47.         MI CHAR(1),
  48.         LASTNAME VARCHAR(40) NOT NULL,
  49.         DOB DATE,
  50.         PHONE VARCHAR(15) NOT NULL,
  51.         ADDR1 VARCHAR(30) NOT NULL,
  52.         ADDR2 VARCHAR(30) NOT NULL,
  53.         CITY VARCHAR(30) NOT NULL,
  54.         STATE VARCHAR(15) NOT NULL,
  55.         POSTALCODE VARCHAR(12) NOT NULL,
  56.         COUNTRY VARCHAR(20) NOT NULL,
  57.         IDENTIFICATION VARCHAR(30),
  58. PRIMARY KEY (HISTORYID));
  59.  
  60. /* Create a non-unique index for DOB on table CreditHistory */
  61. CREATE INDEX DOBINDEX ON CREDITHISTORY( DOB );
  62.  
  63. /* Table: FINANCIALINSTITUTION, Owner: SYSDBA */
  64. CREATE TABLE FINANCIALINSTITUTION(INSTITUTIONID INTEGER NOT NULL,
  65.         INSTITUTIONNAME VARCHAR(30) NOT NULL,
  66.         PHONE VARCHAR(15) NOT NULL,
  67.         ADDR1 VARCHAR(30) NOT NULL,
  68.         ADDR2 VARCHAR(30),
  69.         CITY VARCHAR(30) NOT NULL,
  70.         STATE VARCHAR(15) NOT NULL,
  71.         POSTALCODE VARCHAR(12) NOT NULL,
  72.         COUNTRY VARCHAR(20) NOT NULL,
  73. PRIMARY KEY (INSTITUTIONID));
  74.  
  75. /* Table: HISTORYID, Owner: SYSDBA */
  76. CREATE TABLE HISTORYID (HISTORYID INTEGER NOT NULL,
  77. PRIMARY KEY (HISTORYID));
  78.  
  79. /* Table: INSTITUTIONID, Owner: SYSDBA */
  80. CREATE TABLE INSTITUTIONID (INSTITUTIONID INTEGER NOT NULL,
  81. PRIMARY KEY (INSTITUTIONID));
  82. ALTER TABLE ACCOUNTID ADD FOREIGN KEY (HISTORYID) REFERENCES CREDITHISTORY(HISTORYID);
  83. ALTER TABLE ACCOUNT ADD FOREIGN KEY (INSTITUTIONID) REFERENCES FINANCIALINSTITUTION(INSTITUTIONID);
  84. ALTER TABLE ACCOUNT ADD FOREIGN KEY (STATUS) REFERENCES ACCOUNTSTATUS(STATUS);
  85. ALTER TABLE ACCOUNT ADD FOREIGN KEY (TYPE) REFERENCES ACCOUNTTYPE(TYPE);
  86.  
  87. /* Grant permissions for this database */
  88.  
  89. /* Make sure work is committed */
  90. COMMIT;
  91.  
  92. /* Populate the ACME Credit Bureau Database */
  93.  
  94. /* Create initial history ID row */
  95. INSERT INTO HISTORYID VALUES( 0 );
  96.  
  97. /* Create Account Status Records */
  98. INSERT INTO ACCOUNTSTATUS VALUES( 'OPEN', 'Account is currently active.');
  99. INSERT INTO ACCOUNTSTATUS VALUES( 'CLOSED', 'Account is currently inactive.');
  100. INSERT INTO ACCOUNTSTATUS VALUES( 'COLLECTION', 'Account is in collections.');
  101.  
  102. /* Create Account Type Records */
  103. INSERT INTO ACCOUNTTYPE VALUES ('AUTO', 'Automobile Loan');
  104. INSERT INTO ACCOUNTTYPE VALUES ('CCARD', 'Credit Card');
  105. INSERT INTO ACCOUNTTYPE VALUES ('LOAN', 'Personal Loan');
  106.  
  107. /* Create financial institutions */
  108. INSERT INTO FINANCIALINSTITUTION VALUES( 1, 'Bank of the Americas', '5555555000', '1581 Grant St.', '', 'Memphis', 'TN', '380001', 'US' );
  109. INSERT INTO FINANCIALINSTITUTION VALUES( 2, 'Bank of New York', '5555555001', '1200 W. 58th Ave', '', 'New York', 'NY', '100012', 'US' );
  110. INSERT INTO FINANCIALINSTITUTION VALUES( 3, 'Bank of Mexico', '5555555002', '1001 Main St.', '', 'Mexico City', 'MX', '121213','Mexico' );
  111.  
  112. INSERT INTO INSTITUTIONID VALUES(3);
  113.  
  114. /* Make sure work is committed */
  115. COMMIT;
  116.