Sei sulla pagina 1di 12

Library Management System

Library Management system should do the following:

1. Should have the repository of various collections


2. Should store member information – card number, dues, materials checked
out etc.
3. Librarian should be able to add to the collection
4. Librarian should be able to check out the book
5. Librarian should be able to check in the book
6. Librarian should be able to put books on hold as well as book renewal
7. Should show checkout history for the members
8. Should be able to levy charges and fines against the member account as well
as collect payment. Also display member account details
9. Should give reports on books overdue list, member with balance due list,
Hold requests, Most popular listings and Listings checkout list
10. Should allow storing of library setup data
11. Allow inquiry on Members, materials etc.

Library Settings

Need to add 2 more fields:

BIBLO_ID – Number(10)
Last_Number – Number(10)

Table Name: LIBRARY_SETTING

LIBRARY_HOURS – VARCHAR2 (100)


LIBRARY_PHONE – VARCHAR2 (20)
ITEMS_PER_PAGE – NUMBER (3)
PURGE_HISTORY_AFTER_MONTHS – NUMBER (3)
BLOCK_CHECKOUTS_FINE_DUE – VARCHAR2 (1)
HOLD_MAX_DAYS – NUMBER (2)
Material Type:

Need to add 2 more fields:

Checkout_limit – Number (10)


Renewal_limit – Number (10)

Table Name: MATERIAL_TYPE

CODE – VARCHAR (5) – Primary Key


DESCR – VARCHAR (30)
IMAGE_FIELD – LONG - use the tools function to load the image file into the image
field which is long data type

Library User:

Currently, we are not going to use Library user


We are maintaining two levels Admin & User

Table Name: LIBRARY_USER

EMPLOYEE_ID - VARCHAR2 (11)


CREATE_DT – DATE
CREATED_BY – VARCHAR2 (10)
LAST_MODIFIED_BY – VARCHAR2 (10)
LAST_MODIFIED_DATE – DATE
SUSPENDED_FLG – VARCHAR2 (1)
ADMIN_FLG – VARCHAR2 (1)
CIRC_FLG – VARCHAR2 (1)
UPD_MEMBER_FLG – VARCHAR2(1)
CATALOG_FLG – VARCHAR2(1)
REPORTS_FLG – VARCHAR2 (1)
MEMBER_CLASS - VARCHAR (5)
CARD_NUMBER – VARCHAR2(20)

We are not using currently:

User Classification:

MEMBERCODE_CLASS – VARCHAR(5) – Primary Key


DESCR – VARCHAR(30)
MAX_FINES – NUMBER(5,2)
MEMBER_COUNT – NUMBER(6)

Checkout Limit

MATERIAL_TYPE_CD – Primary Key


USER_CLASS_CD – VARCHAR(5) – Primary Key
CHECK_OUT_LIMIT – NUMBER(3)
RENEWAL_LIMIT – NUMBER(3)

Collections:
Table Name: COLLECTION_TYPE

CODE – VARCHAR(5) – Primary Key


DESCR – VARCHAR(30)
DAYS_DUE_BACK – NUMBER(2)
DAILY_LATE_FEE – NUMBER(5,2)

Book Status:

Build a page to store various book statuses.

We need to create a new field with following translate values.

Field should be”zz_ itembook_status”

STATUS_CD – VARCHAR(5) – Primary Key


DESCR – VARCHAR(30)

Transacction Types:
Build a page to store various transaction types.

We need to create a new field with following translate values.


Field should be”zz_Trans_type”

TRAN_CD – VARCHAR(5) – Primary Key


DESCR – VARCHAR(30)
DR_CR_FLG – VARCHAR2(1) – credit or debit flag

Listing:
Following fields are going to use in this table:

1. Type of Material:
2. Collection:
3. Title:
4. Author Name:
5. International Standard Book Number:
6. Place of Publication, distribution etc,
7. Name of Publisher , distribution etc,
8. Date of Publisher , distribution etc
9. Summary
10.Physical description(other physical details)
11.Physical description(Dimensions)
12.Purchase Price:
13.Userfield1:
14.Userfield2:
15.Userfield3:
16.Userfield4:
17.Userfield5:

Table Name: Listing

BIBLIO_ID – NUMBER(10)
CREATE_DT – DATE
CREATED_BY – VARCHAR2(10)
LAST_MODIFIED_BY – VARCHAR2(10)
LAST_MODIFIED_DATE – DATE
MATERIAL_CD – VARCHAR(5)
COLLECTION_CD - VARCHAR(5)
CALL_NBR1 – VARCHAR2(20)
C CALL_NBR2 – VARCHAR2(20)
CALL_NBR3 – VARCHAR2(20)
TITLE– VARCHAR2(50)
AUTHOR– VARCHAR2(50)
TOPIC1 – VARCHAR2(50)
TOPIC2 – VARCHAR2(50)
TOPIC3 – VARCHAR2(50)
TOPIC4 – VARCHAR2(50)
TOPIC5 – VARCHAR2(50)
INTL_NBR – VARCHAR2(20)
CONGRESS_NBR1 – VARCHAR2(20)
CONGRESS_NBR2 – VARCHAR2(20)
DEWEY_NBR1 – VARCHAR2(20)
DEWEY _NBR2 – VARCHAR2(20)
PUBLISHER_NAME – VARCHAR2(50)
PUBLISHER_PLACE – VARCHAR2(50)
PUBLISH_DATE – DATE
PHYSICAL_DESCR1 – VARCHAR2(50)
PHYSICAL_DESCR2 – VARCHAR2(50)
PURCHASE_PRICE – NUMBER(7,2)
NUM_OF_CHECKOUTS – NUMBER(7)
SUMMARY – VARCHAR2(250)

Once a Listing entry is added, we need to add one or multiple copies of the Listing to
the database.

We have to develop add/search page for this requirements.

Listing copy information is stored in the following table:

Table Name: Listing_Copy

BIBLIO_ID – NUMBER(10)
COPY_ID – NUMBER(10)
COPY_DESCR – VARCHAR2(50)
BARCODE_NBR – VARCHAR2(20)
EMPLOYEE_ID – VARCHAR2(10) – to store member ID
STATUS_CD – VARCHAR2(5)
STATUS_BEGIN_DT – DATE
DUE_BACK_DT – DATE
RENEWAL_COUNT – NUMBER(3)
CREATE_DT – DATE
CREATED_BY – VARCHAR2(10)

Upload Listing Process– Write an application engine process to upload the biblio
data

Listing Inquiry – An inquiry page to search data by Title, Author etc.

Member Search – An inquiry page to search members by card number, name etc.

Bibliography Status Update Page – Create a simple page to update the status of
the Listing, outside of normal check in/checkout process. When a book is sent to a
repair shop for binding or a book is on loan to another library or a book is lost, we
need a way to update the status of listing.
Check-Out

First search member by name or card number

After the member is selected from the list, a page should display member
information as well as his checkout status and limits

We should be able to check out and place books on hold for this user from this page.
To do this, we should first be able to search our listings database. The listing should
be from Listing_copy table so that the correct copy can be checked out or put on
hold.

After search, select a book from the list. The list should how the current status of the
book. If the book is already checked out, we should not be able to check out the
book. If the status of book is checked in, then checkout can proceed. If the book is
already on hold for another member, the checkout can not happen.

Librarian should also be able to put the material on hold for the user from here. If
the material is already on hold for another user, hold should not be completed. Hold
removal can also be done from here.

When a book is put on hold, the hold information can be saved to the following table.

Table Name: Listing_Hold


BIBLIO_ID – NUMBER(10) - Key
COPY_ID – NUMBER(10) -– Key -this is not needed
HOLD_ID – NUMBER(10) – Key
EMPLOYEE_ID – VARCHAR2(10)
HOLD_BEGIN_DT - DATE

The bottom portion of this member page should also show all the materials currently
checked out by the user as well as the material on hold for this user.

At the time of check out, ensure that the check out limits are not exceeded based on
material type and member classification.

As the listings go to checked out, checked in or hold status, the status should be
updated in Listing_status_hist table.
Table Name: Listing_Hold

BIBLIO_ID – NUMBER(10) - Key


COPY_ID – NUMBER(10) – Key
STATUS_CD – VARCHAR2(1)
EMPLOYEE_ID – VARCHAR2(10)
STATUS_BEGIN_DT – DATE
DUE_BACK_DT – DATE
RENEWAL_COUNT- NUMBER(3)

The status history table will be populated in the following manner. We will discuss
the history for Book #3. Book #3, copy #1 was first checked out on 6/15 by member
#2. In the mean time, member #3 put the book on hold. When the book was
returned on 6/15, it went to ‘on hold’ status, since there is a hold request against the
book. Subsequently, the book was checked out by member #3 on 6/15 and renewed
twice on the same day. Finally, the book #3 was returned by member #3 on 6/15.

Checkout History

A page should be available to show a member’s checkout history.

Check in

First search for books by bar code number or some other criteria.
Once the book is identified, check in the book. We could either check in one book at
a time or multiple books.

If the book is already on hold for a member, change the status to ‘on hold’. If there
is no hold, then the book status can be changed to ‘checked in’. At the time of check
in, if there are any charges such as late charges, the member account should be
updated. Also update the member checkout/checkin history.

Member Account:

Allow adding transactions against a member account. Charges can be either late
charge or credit charge or payments. The page should also show member’s
transactions as below.

Table Name: USER_ACCOUNT

EMPLOYEE_ID - VARCHAR2(10)
TRANSACTION_ID – NUMBER(5)
TRANSACTION_TYPE – VARCHAR(1)
TRAN_AMOUNT – NUMBER(7,2)
TRAN_DESCR – VARCHAR2(30)
CREATED_DT – DATE
CREATED_BY – VARCHAR2(10)
Reports:

Following reports should be provided by the system at the minimum.

• books overdue list


• member with balance due list
• Hold requests
• Most popular materials
• Listings checkout

Potrebbero piacerti anche