You are on page 1of 12

 Practical No.

6: Consider the following database for a banking enterprise

BRANCH (branch_name:string, branch_city:string,assets:real)


ACCOUNT (accno:int, branch_name:string, balance:real)
CUSTOMER (customer_no:string, customer_name: string,
customer_street:string,city:string)
DEPOSITOR (customer_no:string,accno:int)
LOAN (loan_number:int,branch_name:string)
BORROWER (customer_no:string,loan_number)

1. Create the above tables by properly specifying the primary and foreign keys
Ans:

CREATE TABLE BRANCH

(BRANCH_NAME VARCHAR(30) PRIMARY KEY NOT NULL,

BRANCH_CITY VARCHAR (30) NOT NULL,

ASSETS REAL

);

CREATE TABLE ACCOUNT

(ACCNO INT PRIMARY KEY NOT NULL,

BRANCH_NAME VARCHAR(40) NOT NULL,

BALANCE REAL

);

CREATE TABLE CUSTOMER

(CUSTOMER_NO VARCHAR(30) PRIMARY KEY NOT NULL,

CUSTOMER_NAME VARCHAR(30) NOT NULL,

CUSTOMER_STREET VARCHAR(30) NOT NULL,

CITY VARCHAR(30) NOT NULL

);

CREATE TABLE DEPOSITOR

(CUSTOMER_NO VARCHAR (50) PRIMARY KEY NOT NULL,


ACCNO INT,

FOREIGN KEY (CUSTOMER_NO) REFERENCES CUSTOMER,

FOREIGN KEY (ACCNO)REFERENCES ACCOUNT

);

CREATE TABLE LOAN

(LOAN_NUMBER INT PRIMARY KEY NOT NULL,

BRANCH_NAME VARCHAR (40),

FOREIGN KEY (BRANCH_NAME) REFERENCES BRANCH

);

CREATE TABLE BORROWER

(CUSTOMER_NO VARCHAR (50) PRIMARY KEY NOT NULL,

LOAN_NUMBER INT,

FOREIGN KEY (CUSTOMER_NO) REFERENCES CUSTOMER,

FOREIGN KEY (LOAN_NUMBER) REFERENCES LOAN

);
2.Enter 3 tuples for Branch, borrower and 5 tuples for account, customer, depositor and loan
relation.
Ans:

INSERT INTO BRANCH(BRANCH_NAME, BRANCH_CITY, ASSETS)

VALUES('RURAL DAWRPUI', 'AIZAWL', 1000);

INSERT INTO BRANCH(BRANCH_NAME, BRANCH_CITY, ASSETS)

VALUES('SERCHIP RURAL', 'SERCHIP', 2000);

INSERT INTO BRANCH(BRANCH_NAME, BRANCH_CITY, ASSETS)

VALUES('RURAL CHANMARI', 'LUNGLEI', 3000);

INSERT INTO ACCOUNT(ACCNO,BRANCH_NAME,BALANCE)

VALUES('1111', 'RURAL DAWRPUI',20000),

INSERT INTO ACCOUNT(ACCNO,BRANCH_NAME,BALANCE)

VALUES('1112', 'SERCHIP RURAL', 80000);

INSERT INTO ACCOUNT

(ACCNO,BRANCH_NAME,BALANCE)

VALUES('1113', 'RURAL DAWRPUI', 50000);

INSERT INTO ACCOUNT (ACCNO,BRANCH_NAME,BALANCE)

VALUES('1114', 'RURAL CHANMARI', 70000);

INSERT INTO ACCOUNT(ACCNO,BRANCH_NAME,BALANCE)

VALUES('1115', 'RURAL DAWRPUI', 50000);


INSERT INTO CUSTOMER VALUES('1001','Tea','DAWRPUI','AIZAWL');

INSERT INTO CUSTOMER

VALUES('1002','Puia','ZARKAWT','AIZAWL');

INSERT INTO CUSTOMER VALUES('1003','Tluangi','ELECTRIC VENG','AIZAWL');

INSERT INTO CUSTOMER

VALUES('1004','Liana','MUAL VENG','SERCHIP');

INSERT INTO CUSTOMER

VALUES('1005','Zuali','CHANMARI S','LUNGLEI');
INSERT INTO DEPOSITOR VALUES('1001','1111');

INSERT INTO DEPOSITOR

VALUES('1002','1112');

INSERT INTO DEPOSITOR

VALUES('1003','1113');

INSERT INTO DEPOSITOR

VALUES('1004','1114');

INSERT INTO DEPOSITOR

VALUES('1005','1115');
INSERT INTO LOAN

VALUES('1', 'RURAL DAWRPUI');

INSERT INTO LOAN

VALUES('2', 'SERCHIP RURAL');

INSERT INTO LOAN

VALUES('3', 'RURAL DAWRPUI');

INSERT INTO LOAN

VALUES('4', 'RURAL CHANMARI');

INSERT INTO LOAN

VALUES('5', 'RURAL DAWRPUI');


INSERT INTO BORROWER

VALUES ('1001', '1');

INSERT INTO BORROWER

VALUES ('1004', '2');

INSERT INTO BORROWER

VALUES ('1005', '4');


3. Find all the customers who have at least two accounts at the main branch.

Ans.

SELECT CUSTOMER_NO FROM ACCOUNT, DEPOSITOR WHERE ACCOUNT.ACCNO=DEPOSITOR_ACCNO


AND BRANCH_NAME='RURAL DAWRPUI' GROUP BY CUSTOMER_NO HAVING COUNT(*)>1;

4. Find all the customers who have an account at all the branches located in a specified city(any

city)

Ans:

SELECT C.CUSTOMER_NAME FROM CUSTOMERSS C, BRANCH B, ACCOUNT A,

DEPOSITOR D WHERE C.CUSTOMER_NO=D.CUSTOMER_NO AND

D.ACCNO=A.ACCNO AND A.BRANCH_NAME=B.BRANCH_NAME AND


B.BRANCH_CITY='AIZAWL';

5. Find the number of loan taken by each customer in any branch.

SELECT C.CUSTOMER_NO, COUNT(L.LOAN_NUMBER) AS NO_OF_LOAN_TAKEN FROM LOAN L,


CUSTOMERS C, BORROWER B WHERE L.LOAN_NUMBER=B.LOAN_NUMBER AND
C.CUSTOMER_NO=B.CUSTOMER_NO GROUP BY C.CUSTOMER_NO;

6. Select the borrower name and balance using sub query.

Ans:

SELECT CUSTOMER_NAME, BALANCE FROM CUSTOMER C, ACCOUNT A, DEPOSITOR D, BORROWER B


WHERE A.ACCNO=D.ACCNO

AND C.CUSTOMER_NO=D.CUSTOMER_NO

AND B.CUSTOMER_NO=C.CUSTOMER_NO;
7. Fine the lowest and highest balance in account table.

Ans:

SELECT MIN(BALANCE), MAX(BALANCE) FROM ACCOUNT;

8.Find the customer Sanjit(any name-Tea)Take loan from the Noida(any branch-Aizawl)branch.

Ans:

SELECT C.CUSTOMER_NAME,L.LOAN_NUMBER,BR.BRANCH_CITYFROM BRANCH BR, CUSTOMER


C,ACCOUNT A, LOAN L,DEPOSITOR D, BORROWER BWHERE BR.BRANCH_NAME=A.BRANCH_NAME AND
C.CUSTOMER_NO=D.CUSTOMER_NO AND A.ACCNO=D.ACCNO AND C.CUSTOMER
NO=B.CUSTOMER_NO AND L.LOAN_NUMBER=B.LOAN_NUMBER AND C.CUSTOMER_NAME='Tea' AND
BR.BRANCH_CITY='Aizawl';
9. Create a view call Personal loan that shows customer name, account no and loan

Ans: CREATE VIEW PERSONAL_LOAN AS SELECT C.CUSTOMER_NAME_ACCNO,L.LOAN_NUMBER WHERE


C.CUSTOMER_NO=D.CUSTOMER_NO AND A.ACCNO=D.ACCNO AND
L.LOAN_NUMBER=BLOAN_NUMBER AND C.CUSTOMER_NO=B.CUSTOMER_NO;

You might also like