| Table Name | Description | 
|---|---|
| ACCOUNTS | Contains information about all accounts in the bank | 
| CHEQUEBOOKS | Contains information about cheque books issued to accounts. | 
| AVA_CHEQUEBOOKS | Contains information about all available cheque books. | 
| TRANS | Stores information about all transactions. | 
The following is the script to create these four tables.
Use the following procedure to create tables using this script.
SQL>START c:\bank\banktables.sql
Click on Insert Data to see the script used to insert data after tables are created.
REM SCRIPT TO CREATE TABLES OF BANK APP.
REM ********* DROP ALL TABLES *************
DROP TABLE TRANS  CASCADE CONSTRAINTS;
DROP TABLE  CHEQUEBOOKS CASCADE CONSTRAINT;
DROP TABLE  AVA_CHEQUEBOOKS CASCADE CONSTRAINT;
DROP TABLE  ACCOUNTS CASCADE CONSTRAINT;
REM  ******  CREATE TABLES. MOST INDEPENDENT TABLES FIRST  ****
REM  *********  ACCOUNTS  ****************
CREATE TABLE ACCOUNTS
( ACNO NUMBER(5)
        CONSTRAINT ACCOUNTS_PK PRIMARY KEY,
  NAME  VARCHAR2(20) 
       CONSTRAINT ACCOUNTS_NAME_NN NOT NULL,
  DO    DATE,
  ATYPE CHAR(1) 
        CONSTRAINT ACCOUNTS_ATYPE_CHK
        CHECK ( ATYPE IN ('S','C')),
 CURBAL NUMBER(10,2),
  CF    CHAR(1) DEFAULT  'N'
        CONSTRAINT ACCOUNTS_CF_CHK
        CHECK ( CF IN ('Y','N'))
);
REM  *********  CHEQUEBOOKS  **********
CREATE TABLE CHEQUEBOOKS 
( ACNO  NUMBER(5)  
        CONSTRAINT CHEQUEBOOKS_ACNO_FK
        REFERENCES ACCOUNTS(ACNO),
  CBNO  NUMBER(5)
        CONSTRAINT CHEQUEBOOKS_PK 
        PRIMARY KEY,
  DI    DATE,
  SCNO  NUMBER(5), 
  ECNO  NUMBER(5),
  CONSTRAINT CHEQUEBOOKS_SCNO_ECNO_CHK
      CHECK ( SCNO <= ECNO)
);
REM  *********  AVA_CHEQUEBOOKS  **********
CREATE TABLE AVA_CHEQUEBOOKS 
(CBNO  NUMBER(5)
        CONSTRAINT AVA_CHEQUEBOOKS_PK 
        PRIMARY KEY,
  SCNO  NUMBER(5), 
  ECNO  NUMBER(5),
  CONSTRAINT AVA_CHEQUEBOOKS_SCNO_ECNO_CHK
      CHECK ( SCNO <= ECNO)
);
REM  *********  TRANS  **********
CREATE TABLE TRANS
(TNO   NUMBER(10) 
       CONSTRAINT TRANS_PK PRIMARY KEY, 
 ACNO  NUMBER(5)
       CONSTRAINT TRANS_ACNO_FK
       REFERENCES ACCOUNTS(ACNO),
 DT    DATE,
 TTYPE CHAR(1) CONSTRAINT TRANS_TTYPE_CHK
        CHECK ( TTYPE IN ('D','W')),
 TAMT  NUMBER(10,2),
 CQNO  NUMBER(10),
 CQBANK VARCHAR2(20),
 CQACNO NUMBER(5),
 CQTO   VARCHAR2(20)
); 
REM ************ SCRIPT TO INSERT DATA INTO BANK TABLES ******* REM ************ DELETE ALL ROWS FROM ALL TABLES ************** DELETE FROM TRANS; DELETE FROM CHEQUEBOOKS; DELETE FROM AVA_CHEQUEBOOKS; DELETE FROM ACCOUNTS; REM ************ INSERT INTO AVA_CHEQUEBOOKS ************ INSERT INTO AVA_CHEQUEBOOKS VALUES(1020,50001,50025); INSERT INTO AVA_CHEQUEBOOKS VALUES(1021,50026,50050); INSERT INTO AVA_CHEQUEBOOKS VALUES(1022,50051,50075); INSERT INTO AVA_CHEQUEBOOKS VALUES(1023,50076,50100); INSERT INTO AVA_CHEQUEBOOKS VALUES(1024,50101,50125); INSERT INTO AVA_CHEQUEBOOKS VALUES(1025,50126,50150); REM *********** INSERT INTO ACCOUNTS ********** INSERT INTO ACCOUNTS VALUES(1,'RONALDO','14-MAR-2002','S',10000,'Y'); INSERT INTO ACCOUNTS VALUES(2,'DENILSON','16-MAR-2002', 'S',5000,'Y'); INSERT INTO ACCOUNTS VALUES(3,'RIVALDO','20-APR-2002','C',20000,'Y'); INSERT INTO ACCOUNTS VALUES(4,'ROBERTO CARLOS','12-MAY-2002', 'S',5000,'N'); INSERT INTO ACCOUNTS VALUES(5,'CAFU','14-MAR-2002', 'S',4000,'N'); INSERT INTO ACCOUNTS VALUES(6,'EDILSON','2-JUN-2002', 'C',15000,'Y'); INSERT INTO ACCOUNTS VALUES(7,'LENARDO','3-JUN-2002', 'S',4500,'N'); INSERT INTO ACCOUNTS VALUES(8,'RONALDINHO','3-JUN-2002', 'S',5000,'N'); REM ****** CHEQUEBOOKS ******** INSERT INTO CHEQUEBOOKS VALUES(2,1011,'19-MAR-2002', 45026,45050); INSERT INTO CHEQUEBOOKS VALUES(1,1012,'1-APR-2002', 45051,45075); INSERT INTO CHEQUEBOOKS VALUES(3,1013,'5-MAY-2002', 45076,45100); INSERT INTO CHEQUEBOOKS VALUES(6,1014,'2-JUN-2002', 45101,45125); INSERT INTO CHEQUEBOOKS VALUES(1,1015,'2-JUN-2002', 45126,45150); REM ************ TRANS ************ INSERT INTO TRANS VALUES(1,2,'2-MAY-2002','D',1000,NULL, NULL,NULL,NULL); INSERT INTO TRANS VALUES(2,1,'2-MAY-2002','D',5000,7474,'GTB',28282,NULL); INSERT INTO TRANS VALUES(3,3,'6-MAY-2002','W',5500,45077, NULL,NULL,'FIGO'); INSERT INTO TRANS VALUES(4,5,'15-MAY-2002','W',3000,NULL, NULL,NULL,NULL); INSERT INTO TRANS VALUES(5,4,'20-MAY-2002','D',5000,NULL, NULL,NULL,NULL); INSERT INTO TRANS VALUES(6,1,'22-MAY-2002','W',1000,NULL, NULL,NULL,NULL); INSERT INTO TRANS VALUES(7,2,'20-MAY-2002','D',1000,32838,'ICICI',232,NULL); INSERT INTO TRANS VALUES(8,6,'22-MAY-2002','D',1500,12333,'SBI',1222,NULL); INSERT INTO TRANS VALUES(9,1,'23-MAY-2002','D',10000,NULL,NULL,NULL,NULL); INSERT INTO TRANS VALUES(10,7,'25-MAY-2002','D',2000,NULL,NULL,NULL,NULL); INSERT INTO TRANS VALUES(11,7,'25-MAY-2002','W',3000,NULL,NULL,NULL,NULL); INSERT INTO TRANS VALUES(12,4,'26-MAY-2002','W',3500,NULL,NULL,NULL,NULL); INSERT INTO TRANS VALUES(13,3,'26-MAY-2002','W',3000,45090,NULL,NULL,'ZIDANE'); INSERT INTO TRANS VALUES(14,8,'1-JUN-2002','D',20000,37333,'AB',111,NULL); INSERT INTO TRANS VALUES(15,8,'3-JUN-2002','W',7000,NULL,NULL,NULL,NULL); COMMIT;