Sei sulla pagina 1di 5

Q.

5 Banking Enterprise Database ##(i) Create the above tables by properly specifying the primary keys and the foreign keys. SQL> CREATE TABLE BRANCH 2 ( 3 BRANCH_NAME VARCHAR2(20) PRIMARY KEY, 4 BRANCH_CITY VARCHAR2(20) NOT NULL, 5 ASSESTS REAL 6 ); Table created. SQL> SQL> CREATE TABLE ACCOUNT 2 ( 3 ACCOUNT_NO INT PRIMARY KEY, 4 BRANCH VARCHAR2(20), 5 BALANCE REAL, 6 FOREIGN KEY (BRANCH) REFERENCES BRANCH(BRANCH_NAME) 7 ); Table created. SQL> SQL> CREATE TABLE BCUSTOMER 2 ( 3 CUST_NAME VARCHAR2(20) PRIMARY KEY, 4 CUST_STREET VARCHAR2(20) NOT NULL, 5 CUST_CITY VARCHAR2(20) 6 ); Table created. SQL> CREATE TABLE DEPOSITOR 2 ( 3 CUSTOMER VARCHAR2(20), 4 ACCNO INT, 5 FOREIGN KEY (CUSTOMER) REFERENCES BCUSTOMER(CUST_NAME), 6 FOREIGN KEY (ACCNO) REFERENCES ACCOUNT(ACCOUNT_NO) ON DELETE CASCADE 7 ); Table created.

SQL> CREATE TABLE LOAN 2 ( 3 LOAN_NO INT PRIMARY KEY, 4 BNAME VARCHAR2(20), 5 AMT REAL, 6 FOREIGN KEY (BNAME) REFERENCES BRANCH(BRANCH_NAME) 7 ); Table created. SQL> SQL> CREATE TABLE BORROWER 2 ( 3 CUST VARCHAR2(20), 4 LOAN INT, 5 PRIMARY KEY (CUST,LOAN), 6 FOREIGN KEY (CUST) REFERENCES BCUSTOMER(CUST_NAME), 7 FOREIGN KEY (LOAN) REFERENCES LOAN(LOAN_NO) 8 ); Table created. (ii) Enter at least five tuples for each relation. SQL> desc branch Name Null? Type ----------------------------------------- -------- ---------------------------BRANCH_NAME NOT NULL VARCHAR2(20) BRANCH_CITY NOT NULL VARCHAR2(20) ASSESTS NUMBER(63) SQL> INSERT INTO BRANCH VALUES ('&branch_name','&branch_city',&assests); SQL> select *from branch; BRANCH_NAME BRANCH_CITY ASSESTS -------------------- -------------------- ---------MAIN MUMBAI 990098754 OPERA HOUSE SYDENY 86568884.6 SANTA CRUZ MUMBAI 654567355 WALIGINTON BERN 57521568.3 DADAR MUMBAI 541321835 GREEN PARK N. DELHI 1541321835 6 rows selected. SQL> desc account

Name Null? Type ----------------------------------------- -------- ---------------------------ACCOUNT_NO NOT NULL NUMBER(38) BRANCH VARCHAR2(20) BALANCE NUMBER(63) SQL> INSERT INTO ACCOUNT VALUES (&account_no,'&branch',&balance); SQL> desc bcustomer Name Null? Type ----------------------------------------- -------- ---------------------------CUST_NAME NOT NULL VARCHAR2(20) CUST_STREET NOT NULL VARCHAR2(20) CUST_CITY VARCHAR2(20) SQL> INSERT INTO BCUSTOMER VALUES ('&cust_name','&cust_street','&cust_city'); SQL> select *from bcustomer; CUST_NAME CUST_STREET CUST_CITY -------------------- -------------------- -------------------SEHWAG GREEN PARK N. DELHI POINTING OPERA HOUSE SYDENY WARNE OPERA HOUSE SYDENY FEDERER WALIGINTON BERN DRAVID SANTA CRUZ MUMBAI SQL> desc depositor Name Null? Type ----------------------------------------- -------- ---------------------------CUSTOMER VARCHAR2(20) ACCNO NUMBER(38) SQL> INSERT INTO DEPOSITOR VALUES('&customer',&accno); SQL> select *from depositor; CUSTOMER ACCNO -------------------- ---------SEHWAG 4 POINTING 5 WARNE 2 FEDERER 6 SQL> desc loan Name Null? Type ----------------------------------------- -------- ---------------------------LOAN_NO NOT NULL NUMBER(38)

BNAME AMT

VARCHAR2(20) NUMBER(63)

SQL> INSERT INTO LOAN VALUES (&loan_no,'&bname',&amt); SQL> select *from loan; LOAN_NO BNAME AMT ---------- -------------------- ---------1 MAIN 98745 2 OPERA HOUSE 47277 3 SANTA CRUZ 24657 4 GREEN PARK 4452 5 WALIGINTON 54563 SQL> desc borrower Name Null? Type ----------------------------------------- -------- ---------------------------CUST NOT NULL VARCHAR2(20) LOAN NOT NULL NUMBER(38) SQL> INSERT INTO BORROWER VALUES ('&cust',&loan); SQL> select *from borrower; CUST LOAN -------------------- ---------SEHWAG 1 POINTING 2 DRAVID 3 SEHWAG 4 FEDERER 5 ##(iii): FIND ALL THE CUSTOMERS WHO HAVE ATLEAST TWO ACCOUNTS AT THE MAIN BRANCH. SQL> SELECT CUSTOMER CUSTOMER_ACCOUNT_2, COUNT(*) 2 FROM DEPOSITOR, ACCOUNT 3 WHERE ACCNO = ACCOUNT_NO AND BRANCH='MAIN' 4 GROUP BY CUSTOMER 5 HAVING COUNT(*)>=2; CUSTOMER_ACCOUNT_2 -------------------- ---------DRAVID 2 COUNT(*)

##(iv): Find all the customer who have an account at all the branches located in a specific city. SQL> SELECT CUSTOMER 2 FROM DEPOSITOR 3 WHERE ACCNO IN ( 4 SELECT ACCOUNT_NO 5 FROM ACCOUNT 6 WHERE BRANCH IN 7 ( 8 SELECT BRANCH_NAME 9 FROM BRANCH 10 WHERE BRANCH_CITY IN 11 ( 12 SELECT DISTINCT BRANCH_CITY 13 FROM BRANCH 14 WHERE BRANCH_CITY='MUMBAI'))); CUSTOMER -------------------DRAVID DRAVID SEHWAG DRAVID DRAVID ##(v): DEMONSTRATE HOW YOU DELETE ALL ACCOUNT TUPLES AT EVERY BRANCH LOCATED IN A SPECIFIC CITY. SQL> DELETE FROM ACCOUNT 2 WHERE BRANCH IN 3 ( 4 SELECT BRANCH_NAME 5 FROM BRANCH 6 WHERE BRANCH_CITY='MUMBAI' 7 ); 5 rows deleted.

Potrebbero piacerti anche