You are on page 1of 12

LIBRARY MANAGEMENT SYSTEM

>>>>>>>>>>>>>>>>>>>>CREATE TABLE<<<<<<<<<<<<<<<<<<<<

create table book_rec(book_name char(15) primary key,author char(15),total_copies


number(5),available_copies number(5));

create table membership_rec(mem_id number(5) primary key,mem_name char(15),no_of_books_taken


number(2));

create table book_details(book_id number(5) primary key,book_name char(15) references


book_rec(book_name),mem_id number(5));

create table circulation_rec(book_id number(5) references book_details(book_id),mem_id number(5)


references membership_rec(mem_id),issue_date date,return_date date);

>>>>>>>>>>>>>>>>>>>>ADD A NEW BOOK<<<<<<<<<<<<<<<<<<<<

declare

bknam char(15);

auth char(15);

tot number(5);

id number(5);

no number(5);

i number(3);

begin
bknam:='&bknam';

auth:='&auth';

tot:=&tot;

insert into book_rec values(bknam,auth,tot,tot);

for i in 1..tot

loop

select MAX(book_id) into no from book_details;

if no is not null then

id:=no+1;

else

id:=1;

end if;

insert into book_details values(id,bknam,null);

end loop;

end;

Enter value for bknam: DCD

old 9: bknam:='&bknam';

new 9: bknam:='DCD';
Enter value for auth: Mano

old 10: auth:='&auth';

new 10: auth:='Mano';

Enter value for tot: 3

old 11: tot:=&tot;

new 11: tot:=3;

PL/SQL procedure successfully completed.

SQL> /

Enter value for bknam: OS

old 9: bknam:='&bknam';

new 9: bknam:='OS';

Enter value for auth: Silber

old 10: auth:='&auth';

new 10: auth:='Silber';

Enter value for tot: 2

old 11: tot:=&tot;

new 11: tot:=2;

PL/SQL procedure successfully completed.

SQL> select * from book_rec;

BOOK_NAME AUTHOR TOTAL_COPIES AVAILABLE_COPIES

--------------------------------------------------------------------------------------------------------------

DCD Mano 3 3

OS Silber 2 2
SQL> select * from book_details;

BOOK_ID BOOK_NAME MEM_ID

--------------------------------------------------------------

1 DCD

2 DCD

3 DCD

4 OS

5 OS

>>>>>>>>>>>>>>>>>>>>CREATE A NEW MEMBER<<<<<<<<<<<<<<<<<<<<

declare

nam char(15);

id number(5);

no number(5);

i number(3);

begin

nam:='&nam';
select MAX(mem_id) into no from membership_rec;

if no is not null then

id:=no+1;

else

id:=1;

end if;

insert into membership_rec values(id,nam,null);

dbms_output.put_line('Mr/Mrs/Miss. '||nam||', your membership id is '||id);

end;

Enter value for nam: Tintumon

old 7: nam:='&nam';

new 7: nam:='Tintumon';

Mr/Mrs/Miss. Tintumon , your membership id is 1

PL/SQL procedure successfully completed.

SQL> /

Enter value for nam: Kuttoos

old 7: nam:='&nam';

new 7: nam:='Kuttoos';

Mr/Mrs/Miss. Kuttoos , your membership id is 2


PL/SQL procedure successfully completed.

SQL> select * from membership_rec;

MEM_ID MEM_NAME NO_OF_BOOKS_TAKEN

--------------------------------------------------------------------------------------

1 Tintumon

2 Kuttoos

>>>>>>>>>>>>>>>>>>>>ISSUE A BOOK<<<<<<<<<<<<<<<<<<<<

declare

bknam char(15);

mid number(5);

bid number(5);

dat date;

nam char(15);

n number(5);

begin

bknam:='&bknam';
select MIN(book_id) into bid from book_details where book_name=bknam and mem_id is null;

mid:=&mid;

select mem_name into nam from membership_rec where mem_id=mid;

update book_details set mem_id=mid where book_id=bid;

select no_of_books_taken into n from membership_rec where mem_id=mid;

if n is null then

n:=0;

end if;

update membership_rec set no_of_books_taken=n+1 where mem_id=mid;

update book_rec set available_copies=available_copies-1 where book_name=bknam;

select ADD_months(sysdate,1) into dat from dual;

insert into circulation_rec values(bid,mid,sysdate,dat);

end;

Enter value for bknam: DCD

old 8: bknam:='&bknam';

new 8: bknam:='DCD';

Enter value for mid: 2

old 10: mid:=&mid;

new 10: mid:=2;

PL/SQL procedure successfully completed.


SQL> /

Enter value for bknam: OS

old 8: bknam:='&bknam';

new 8: bknam:='OS';

Enter value for mid: 1

old 10: mid:=&mid;

new 10: mid:=1;

PL/SQL procedure successfully completed.

SQL>/

Enter value for bknam: DCD

old 9: bknam:='&bknam';

new 9: bknam:='DCD';

Enter value for mid: 1

old 11: mid:=&mid;

new 11: mid:=1;

PL/SQL procedure successfully completed.

SQL> select * from book_details;

BOOK_ID BOOK_NAME MEM_ID

------------------------------------------------------------

1 DCD 2

2 DCD 1

3 DCD

4 OS 1

5 OS
SQL> select * from book_rec;

BOOK_NAME AUTHOR TOTAL_COPIES AVAILABLE_COPIES

-------------------------------------------------------------------------------------------------------------

DCD Mano 3 1

OS Silber 2 1

SQL> select * from membership_rec;

MEM_ID MEM_NAME NO_OF_BOOKS_TAKEN

------------------------------------------------------------------------------------

1 Tintumon 2

2 Kuttoos 1

SQL> select * from circulation_rec;

BOOK_ID MEM_ID ISSUE_DAT RETURN_DA

------------------------------------------------------------------------------

1 2 08-JAN-10 08-FEB-10

4 1 08-JAN-10 08-FEB-10

2 1 08-JAN-10 08-FEB-10

>>>>>>>>>>>>>>>>>>>>RETURN A BOOK<<<<<<<<<<<<<<<<<<<<

declare

bknam char(15);

id number(5);
bid number(5);

tim number(7,2);

dat date;

begin

bknam:='&bknam';

id:=&id;

select book_id into bid from book_details where book_name=bknam and mem_id=id;

update book_details set mem_id=null where book_id=bid;

update membership_rec set no_of_books_taken=no_of_books_taken-1 where mem_id=id;

update book_rec set available_copies=available_copies+1 where book_name=bknam;

select return_date into dat from circulation_rec where book_id=bid and mem_id=id;

select months_between(sysdate,dat) into tim from dual;

if tim>0 then

dbms_output.put_line('You have to pay fine');

end if;

end;

Enter value for bknam: DCD

old 8: bknam:='&bknam';

new 8: bknam:='DCD';

Enter value for id: 1


old 9: id:=&id;

new 9: id:=1;

PL/SQL procedure successfully completed.

SQL> select * from book_rec;

BOOK_NAME AUTHOR TOTAL_COPIES AVAILABLE_COPIES

-------------------------------------------------------------------------------------------------------------

DCD Mano 3 2

OS Silber 2 1

SQL> select * from membership_rec;

MEM_ID MEM_NAME NO_OF_BOOKS_TAKEN

-----------------------------------------------------------------------------------

1 Tintumon 1

2 Kuttoos 1

SQL> select * from book_details;

BOOK_ID BOOK_NAME MEM_ID

--------------------------------------------------------------

1 DCD 2

2 DCD

3 DCD

4 OS 1
5 OS

SQL> select * from circulation_rec;

BOOK_ID MEM_ID ISSUE_DAT RETURN_DA

------------------------------------------------------------------------------

1 2 08-JAN-10 08-FEB-10

4 1 08-JAN-10 08-FEB-10

2 1 08-JAN-10 08-FEB-10

You might also like