You are on page 1of 26

INTRODUCTION:

A database is any collection of data, which is organized and designed


to be stored in computer memory and for easy access to authorized users.
Our library database is being designed for educational institutions like
schools, colleges, and universities; therefore, the word “student(s)” has been
used instead of user at various places throughout this report.
The database that our group is making is a library database, which is
to be used by the library staff and management to manage and keep track of
all the books held in the library. It will maintain a record of all the books
which the library holds and it will keep a tab on the exact location of the
books i.e. if they have been issued, to whom they have been issued, when
the book was issued, when it is to be returned and other similar common
functions that a librarian usually performs manually due to unavailability of a
database. In Pakistan, most libraries work on a system based on a manual
framework. The main purpose of our database is to automate all the tasks
that are performed manually by the library staff and management.
A library is a collection of books and other resource materials
containing information that is made available to people for research, reading,
study, and referencing purposes. Students mainly use libraries to enhance
their classroom experiences in order to learn skills in locating sources of
information, and to develop good reading, beneficial study habits and expand
their banks of knowledge beyond the foreseen boundaries.
Through out our report we will be covering the following topics:

1. Existing System,
2. Proposed System,
3. Design of our database,
4. Data Dictionary,
5. User Manual,
6. Bibliography.

The given topics are being briefly explained:

The existing system consists of manually controlled operations of the


library. This includes books entry, student entry, book issued records and
books returned records.

Our proposed system is a computerized library database, which has all


the capabilities of the existing system as well as more advanced capabilities,
which would have been unavailable in the existing system.

The design of our database will consist of the description of all the
relationships between all the tables. It will also consist of the brief design of
the forms used for data entry and the queries being run in the background.

1
The data dictionary consists of the detailed explanation of each table,
form, query etc., which would include the properties of the individual fields in
every table.

The user manual is a complete guide of our database, which would help
the end user in understanding our database better and getting the most out
of it.

In the end we have given the bibliography, which contains the list of the
books we have consulted for creating our database.

2
EXISTING SYSTEM:
The reason that has driven us to make a library database is that the
manual organization of libraries is not in conformity with the requirements of
the contemporary age of today. Since the dawn of the computer age people
have relied on computer in every aspect of life but in many areas of Pakistan
computer s still seem like a far-fetched idea. With reference to the existing
system in Pakistan libraries are still manual which highlights its own
disadvantages.

Disadvantages of Manual Library System:

There are a lot of disadvantages of the manual system. These have


been laid down in the form of points below:

1. The present system is very slow,


2. The manual system leads to high number of errors,
3. The manual system is therefore an unreliable, inefficient and
ineffective system,
4. Student search capability is too time consuming,
5. Book search is also time consuming,
6. Record is kept on registers which occupies space,
7. Registers are consumed on a weekly or monthly basis making it too
expensive.

As we said in our project report submitted earlier, libraries hire large


number of people for up keeping of the library system which includes the
handling of the book keeping register by at least two or three people which in
our database has been reduced down to one.

3
PROPOSED SYSTEM:
In order to make the library system more organized, efficient and
productive, we have proposed to automate the library system by making a
database for it.
For recovering the drawbacks of the existing system we have thought
up a computerized platform for all libraries.

Advantages of our Computerized Library System:

The main features of this computerized system are:

1. This database will be very fast to use in terms of speed,


2. The job will not be laborious in nature, as the computer database will
be performing most of the tasks entailed in the job,
3. The over all system will be compact,
4. Usage speed of this database will overcome the manual speed,
5. Inconsistencies will be eliminated and the drudgeries that the staff
members usually have to go through will be no more,
6. The overall searching of the library will become easier and much
faster.

Basic Structure of our Computerized System:

Our proposed database will basically be used by the staff to maintain a


directory of all the books and other resource materials available in the
library. It will maintain a detailed and precise index, which will contain all the
details of the resource materials.

When fresh stock of books will arrive at the library, an entry will be
made. The process of entering them into the database records will be as
follows:

(i) On arrival of the book,


(ii) An accession number will be assigned to every book, which will
also be keyed into the database
(iii) Author’s name, the title of the book, the quantity of the books
received and name of publication will also be stored in the
database.
(iv) The ISBN code of the book will also be entered in the database.
(v) Similarly, number of pages in the book, the type of cover, the
year in which the book was printed, the price of the book, its
edition, the source from where the book was acquired and
remarks about the book, if any.

4
At present, all the above data is noted in registers manually by hand.
All of this information will now be keyed in by the librarian or by the data
entry personnel.

Similarly, nowadays the librarians use registers to record all the books
that are issued. Data required for inserting the information of the
student’s issuing the book will include:

(i) Code number of the students for the convenience of the


library,
(ii) The date of issue of the book or resource material.
(iii) The due date of the book or resource material.
(iv) The return due date of the issued books.

The student record in the database will show things like:

(i) The name of the student.


(ii) The program and section along with the semester of the
student.
(iii) Address and phone number of the students

At this time, we have, in our report only mentioned the benefits, our
database will provide to the library staff, however, we want to make all
necessary changes to make the database useable by the students
themselves by the application of some passwords.

We intend to provide the students with a general log-on name and


password, which every student can use to sign in, or log-on to the database
and search the library for any particular book by entering the title, author
name, subject or even the accession number.

Drawbacks of our Computerized System:

The only drawback in our computerized database system is that there


is no way of finding if a particular book is in the library or with a student at
any given time.

5
DESIGN OF OUR DATA BASE:
It refers to the structure on basis of which the entire database stands.
The detailed design of our database includes four tables, eight queries, two
reports and two macros, which are interlinked with each other through
various relationships. There are also a number of forms, which are provided
to give the user an interface through which they can enter information into
the base tables.

Tables:

The four base tables are named as:

1. Accession Register,
2. Student Record,
3. Books Issued Record,
4. Books Returned Record, All books being returned by the students is
recorded in this table.

 Accession Register:

This register is used for keeping records of all books handled by the
library. Data is entered into this base table through a form, which acts as an
interface between the raw database design and the user. The form, which
performs this function, is named as “Books Entry Form”.

 Student Record:

Keeps track of all the records named by the students. A form named
“Students Entry Form” accesses this base table.

 Books Issued Record:

Keeps tracks of all the books issued by the students. There is a form
named “Books Issued Entry Form” which is used for entering information
about books being issued from the library.

 Books Returned Record:

All books being returned by the students are recorded in this table. As
with every other base table created, books returned record also uses a form
named as “Books Returned Entry Form”, which acts as a link between the
actual database and the user. This form, like all others that have been
created for this purpose, is used to enter information about books being
returned to the library.

6
Relationships between the Four Tables:

The Accession Register is linked with two tables, these are:

 Books Issued Record &


 Books Returned Record

This relationship is built on the basis of AccessionNo as primary key in


accession register acting as foreign key in both the above mentioned tables.
The type of relationship of both links is One-to-Many.
Similarly, CodeNo in Student Record table has One-to-Many
relationships with Code No in book issued record, acting as primary key and
foreign key respectively.
The Books Issued Records and Books Returned Records have
three One-to-One relationships between the fields:

 Accession No,
 Issue Date &
 Issue Time

7
Queries:

The eight queries being run are named as:

1. Book Search (on basis of Accession#)


2. Book Search (on basis of Author Name)
3. Book Search (on basis of Subject)
4. Book Search (on basis of Title of Book)
5. Books Issued Return Help (on basis of Accession#)
6. Searching for Books (complete)
7. Searching for Students (complete)
8. Student Search (on basis of Student Name)

 Book Search (on basis of Accession#):

This query prompts the user for an accession number on basis of


which it searches through the accession register and if any matching value of
accession number is found, it displays the result in form of a table with the
following fields:

 AccessionNo,
 Author,
 Title,
 Subject,
 ISBN,
 Year,
 Volume/Edition

Since this search is based on only one table i.e., Accession Register,
therefore, all the corresponding values of the accession number entered are
displayed in these fields. A small button named “Acc#” has been place on
the “Main Menu” runs this query when clicked. There will be either one
matching book or none because accession number is the primary key in this
table and it can have no duplicates.

SQL Command:

SELECT [Accession Register].AccessionNo, [Accession Register].Author,


[Accession Register].Title, [Accession Register].Subject, [Accession
Register].ISBN, [Accession Register].Year,
[Accession Register].[Volume/Edition]
FROM [Accession Register]
WHERE ((([Accession Register].AccessionNo)=[Enter Accession#]));

8
 Book Search (on basis of Author Name):

The user is prompted for an author name, which is used to search


through the accession register and if any matching names are found, the
result is displayed in form of a table with the following fields:

 AccessionNo,
 Author,
 Title,
 Subject,
 ISBN,
 Year,
 Volume/Edition

All these values are selected from only one table i.e., Accession Register.
The output can have any number of books because author name can be
repeated in this table. A small button named “Author Name” has been
placed on the ”Main Menu” which prompts the user for an author name
when it is clicked, on basis of which the query is run.

SQL Command:

SELECT [Accession Register].AccessionNo, [Accession Register].Author,


[Accession Register].Title, [Accession Register].Subject, [Accession
Register].ISBN, [Accession Register].Year,
[Accession Register].[Volume/Edition]
FROM [Accession Register]
WHERE ((([Accession Register].Author)=[Enter Author Name:]));

 Book Search (on basis of Subject):

In this query, as in all others of its kind, the user is prompted for a
subject, on basis of which the search is carried out through the accession
register. The result is displayed in a tabular form exactly the same as the one
described earlier for book search (on basis of author name) or (on basis of
accession#).
A small button named “Subject” has been placed on the ”Main Menu”
which prompts the user for a subject when it is clicked, on basis of which the
query is run.

SQL Command:

SELECT [Accession Register].AccessionNo, [Accession Register].Author,


[Accession Register].Title, [Accession Register].Subject, [Accession
Register].ISBN, [Accession Register].Year,
[Accession Register].[Volume/Edition]
FROM [Accession Register]

9
WHERE ((([Accession Register].Subject)=[Enter Subject for which book is
required:]));

 Book Search (on basis of Title of Book):

In this query, as in all others of its kind, the user is prompted for a
title of a book due to which the search is carried out through the accession
register. The result is displayed in a tabular form exactly the same as the one
described earlier for book search (on basis of author name) or (on basis of
accession#).
A small button named “Title of Book” has been placed on the ”Main
Menu” which prompts the user for the title of a book when it is clicked, on
basis of which the query is run.

SQL Command:

SELECT [Accession Register].AccessionNo, [Accession Register].Author,


[Accession Register].Title, [Accession Register].Subject, [Accession
Register].ISBN, [Accession Register].Year,
[Accession Register].[Volume/Edition]
FROM [Accession Register]
WHERE ((([Accession Register].Title)=[Enter Title of Book:]));

 Books Issued Return Help (on basis of Accession#):

This query has been created to give the librarian an easy way to know
the exact date and time when a particular book was issued. The “Books
Returned Entry Form” requires these values. When a book is being returned
the librarian runs this query to find the exact data and time that particular
book was issued as these values link the tables “Books Issued Record” and
“Books Returned Record”.
The result of this query is displayed in tabular form. The following
fields are displayed:

 Accession No,
 Issue Date,
 Issue Time

All the corresponding values are taken from only one table i.e., books
issued record. A small button has been placed on the “Main Menu” named
as “Book Return Help” which prompts the user for an accession number
when it is clicked.

Draw Back of Query:

If a particular book has been issued 50 times then this query will
return 50 values. It will be in ascending order and it will be up to the librarian

10
to choose any of the values. The last tuple of values should always be used in
the books returned entry form for a particular book being returned.

SQL Command:

SELECT [Books Issued Record].[Accession No], [Books Issued Record].[Issue


Date], [Books Issued Record].[Issue Time]
FROM [Books Issued Record]
WHERE ((([Books Issued Record].[Accession No])=[Enter Accession#]));

 Searching for Books (complete):

This is a complete reference query, which works only on Accession


Register. It is based on a report named “Report for Book Search” and on a
macro named “Macroaccession”. A small tab has been placed on the “Main
Menu” for using this query. When that tab is clicked a form named
“Searching for Books (form)” is opened which has the following fields:

 Accession #,
 Author,
 Title,
 Subject

The user can enter a value in any of the above fields and the matching
data will be displayed. The result is displayed in the report form and the
following attribute values are displayed:

 Accession #,
 Author,
 Title,
 Subject,
 ISBN,
 Year,
 Volume/Edition

SQL Command:

SELECT AccessionNo, Author, Title, Subject, ISBN, Year, Volume/Edition


FROM Accession AS Register
WHERE accessionno=[Forms]![Searching for Books (form)]![txtacc] Or
author=[Forms]![Searching for Books (form)]![txtauthor] Or title=[Forms]!
[Searching for Books (form)]![txttitle] Or subject=[Forms]![Searching for
Books (form)]![txtsubject];

 Searching for Students (complete):

This is a complete reference query, which works only on table students


record. It is based on a report named “Report for Student Search” and on

11
a macro named “Macrostudent”. A small tab has been placed on the “Main
Menu” for using this query. When that tab is clicked a form named
“Searching for Students (form)” is opened which has the following fields:

 Code#,
 Name,
 Program,
 Semester,
 Section,
 Phone #

The user can enter a value in any of the above fields and the matching
data will be displayed. The result is displayed in the report form and the
following attribute values are displayed:

 Code#,
 Name,
 Program,
 Semester,
 Section,
 Address,
 Phone #

SQL Command:

SELECT [CodeNo], [Name], [Program], [Semester], [Section], [PhoneNo]


FROM Student AS Record
WHERE codeno=[Forms]![Searching for Students (form)]![txtcodeno] Or
name=[Forms]![Searching for Students (form)]![txtname] Or
program=[Forms]![Searching for Students (form)]![txtprogram] Or
semester=[Forms]![Searching for Students (form)]![txtsemester] Or
section=[Forms]![Searching for Students (form)]![txtsection] Or
phoneno=[Forms]![Searching for Students (form)]![txtphoneno];

 Student Search (on basis of Student Name):

The user is prompted for a student name, which is used to search


through the student record and if any matching names are found, the result
is displayed in form of a table with the following fields:

 Code#,
 Name,
 Program,
 Semester,
 Section,
 Phone#

12
All these values are selected from only one table i.e, student record The
output can have any number of information regarding students because
student name can be repeated in this table. A small button named “student
Name” has been placed on the ”Main Menu” which prompts the user for an
student name when it is clicked, on basis of which the query is run.

SQL Command:

SELECT [Student Record].CodeNo, [Student Record].Name, [Student


Record].Program, [Student Record].Semester, [Student Record].Section,
[Student Record].PhoneNo
FROM [Student Record]
WHERE ((([Student Record].Name)=[Enter Student Name:]));

Report:

We have used two reports in our database. They are named as:

1. Report for Book Search,


2. Report for Student Search

 Report for Book Search:

This report is linked with the query “Searching for Books


(complete)” and a gives a shape to the query output.

13
 Report for Student Search:

This report is linked with the query “Searching for Students


(complete)”. The output is displayed in the manner given below:

Macro:

We have used two macros in our database, namely:

1. Macroaccession,
2. Macrostudent

 Macroaccession:

Macroaccession links “Report for Book Search” with query


“Searching for Books (complete)”. In macroaccession we define that the
action performed should be through report and in the print preview form.

 Macrostudent:

Macroaccession links “Report for Student Search” with query


“Searching for Students (complete)”. In macrostudent we define that the
action performed should be through report and in the print preview form.

14
DATA DICTIONARY:

Data dictionary means data about data. Data dictionary gives the
complete detail of database, in every aspect possible. The designer of the
database provides it so that if any other database administrator wants to
update the database he would have complete information about the way it
was created.
In our data dictionary we have included complete information about
every table being used in our database. We will be explaining every field, in
every table and their properties in complete detail.

Data Dictionary of Tables:

We have four base tables in our database, which we will elaborate in


this data dictionary. These are:

1. Accession Register,
2. Student Record,
3. Books Issued Record,
4. Books Returned Record

Accession Register:

Field Name/ Data Field Size Default Validation Validation Indexed Remarks
Properties Type Value Rule Text about
Fields
AccessionNo Number Long 0 >= 1 Should be Yes (No Primary
Integer (4) >= 1. Duplicates) Key
Date Date/Time 8 =Date() >=Date() Should be No Medium
>= current Date
date. (format
Author Text 50 <None> <None> <None> No <None>
Title Text 50 <None> <None> <None> No <None>
Subject Text 50 <None> <None> <None> No <None>
Publishing Text 50 <None> <None> <None> No <None>
Place
Publisher Text 50 <None> <None> <None> No <None>
ISBN Text 50 <None> <None> <None> Yes (No <None>
Duplicates)
Cover Type Text 50 <None> <None> <None> No <None>
Year Number Long <None> <None> <None> No <None>
Integer (4)
Pages Number Long <None> <None> <None> No <None>
Integer (4)
Price Currency 8 <None> <None> <None> No <None>
Volume/Edition Text 50 <None> <None> <None> No <None>
Source Text 50 <None> <None> <None> No <None>
Remarks Memo (Unlimited) <None> <None> <None> <None> <None>

15
Student Record:

Field Date Field Default Validation Validation Indexed Remarks about


Name/ Type Size Value Rule Text Fields
Properties
CodeNo Number Long 0 >=1 Should be Yes (No Primary Key
Integer >= 1. Duplicates)
(4)
Name Text 50 <None> <None> <None> No <None>
Program Text 50 <None> <None> <None> No <None>
Semester Number Long 0 <None> <None> No <None>
Integer
(4)
Section Text 50 <None> <None> <None> No <None>
Address Text 50 <None> <None> <None> No <None>
Phone No Number Long 0 <None> <None> No <None>
Integer
(4)

Books Issued Record:

Field Date type Field Default Validation Validation Indexed Remarks


Name/ Size Value Rule Text about
Properties Fields
Code No Number Long 0 <None> <None> Yes Foreign
Integer (Duplicates Key
(4) OK)
Accession Number Long 0 <None> <None> No Primary
No Integer Keys
(4) (Composite
Issue Date Date/Time 8 =Date() <None> <None> No Key)
Issue Time Date/Time 8 =Time() <None> <None> No
Due Date Date/Time 8 <None> >=Date() Should be No <None>
>= current
date.
Remarks Memo (Unlimite <None> <None> <None> <None> <None>
d)

Books Returned Record:

Field Date Field Default Validation Validation Indexed Remarks about


Name/ type Size Value Rule Text Fields
Properties
Accession Number Long 0 <None> <None> No Primary Key
No Integer (Composite Key)
(4)
Issue Date/Time 8 <None> <=Date() Should be No
Date <= current
date.
Issue Date/Time 8 =Time() <None> <None> No
Time
Return Date/Time 8 <None> >=Date() Should be No <None>
Date >= current
date.

16
Detail of Relationships between Base Tables:

There are six relationships between the four base tables. These are
explained in detail below:

Relations of Accession Register:

In accession register, the AccessionNo has been linked with Accession


No in books issued record and with books returned record. AccessionNo in
accession register is the primary key and foreign key in the other two tables.
Both these are One-to-Many relationships.

Referential Diagram:

Accession Register Books Issued Record Books Returned Record


AccessionNo Accession No Accession No

Relations of Student Record:

In student record, the CodeNo has only one link with the Code no in
books issued record. The CodeNo in student record is the primary key in that
table while it is a foreign key in the books issued record. The relationship
type is One-to-Many.

Referential Diagram:

Student Record Books Issued Record


CodeNo Code No

Relations of Books Issued Record:

In books issued record and books returned record there are three
fields which act as the primary key and form a composite key. The
relationship type is One-to-One. This is necessary because of the type of link
required between these two tables.

Referential Diagram:

Books Issued Record Books Returned Record


Accession No Accession No
Issue Date Issue Date
Issue Time Issue Time
17
USER MANUAL:
User Manual’s provide an easier way for the end user to take
advantage of all the capabilities provided by the database. The various user
interface forms are illustrated and explained in complete detail below:

 Main Menu:

When our library database is accessed, the first form viewed by the
user is the “Main Menu” form. This form has gives the user access to the
entire database on the click of a single button. The various features of the
main menu form are given below:

Various tabs have been provided in the main menu. Their usage is as
follows:

1. Book Entry Form is used to enter new books into the database. On
clicking this tab a new form opens through which a user can enter new
books into the record of the library database.

18
2. Circulation Desk, when clicked open another form consisting of two
further tabs “Borrow” and “Return”. They are used for keeping
record of books being issued and returned respectively.

3. Searching, when this tab is clicked a form consisting of two further


tabs “Searching for Books” and “Searching for Students” is
opened. These tabs are explained later in the user manual.

4. Student Entry Form, when new students information needs to be


entered into the database this form is used.

5. Book Return Help, in our database it is necessary to know the exact


data and time of the issuance of books that are being returned as
these are required by the “Return” form in the “Circulation Desk”.
The book return help basically assists the librarian in finding the exact
data and time of every book being returned by simply prompting the
librarian for the accession number of the book being returned.

6. Acc#, this is another search, which is based on the accession number


of the book. This search only returns one row of values, as accession
number of every book is unique.

7. Author Name, prompts user for author name on basis of which


search is carried out on the database.

8. Title of Book, prompts user for title of a book on basis of which the
search is carried out on the database.

9. Subject, is used to search for any book related to particular subjects.

10. Student Name, used to search for students on basis of their


names.

11. Close Main Menu, this button has been placed for user
convenience so that if he/she wishes to close the main menu, which
ultimately closes the database, they can do so by clicking on this
button.

12. Quit MS-Access, when this button is clicked, it not only closes
the database but it also closes Microsoft Access.

 Book Entry Form:

When “Book Entry Form” button is clicked on the main menu a form
opens which consists of all fields required for collection of information about
books being held by the library.
The entry of a new book is done in the following way:

19
1. When a new book comes into the library the book entry form is
opened,

Data is entered in the fields shown

Displays Total
Number of
Click Here to Records
go to first
Record in
DataBase

Click Here to go last Record in DataBase

Click Here to go to
next/previous Click Here for Entering a New Book
Record in
DataBase
Shows Number of Record being displayed

2. The above diagram explains the “Book Entry Form” completely

IMPORTANT NOTE: Remember to click on “*” (new record entry


button) before entering information about a new
book other wise previous records will be
overwritten.

 Circulation Desk:

The circulation desk consists of two tabs “Borrow” and “Return”.


They are used for keeping record of books being issued and returned
respectively.
On clicking the “Borrow” tab a form named “Books Issued Entry
Form” is opened which comprises of all the entry fields in which the required
information is to be entered. Similar is the case of “Return” for which
“Books Returned Entry Form” is opened.
(Illustration on next page)

IMPORTANT NOTE: Remember to click on “*” (new record entry


button) before entering information about books
being issued or returned other wise previous
records will be overwritten.

20
Tab to
Close
Circulation
Desk

Borrow tab leading to Return tab leading to


Books Issued Entry Form Books Returned Entry
Form

Books Issued Entry Form:

Control Keys perform the same function in all forms

21
Books Returned Entry Form:

Control Keys perform the same function in all forms

 Searching:

When the “Searching” tab is clicked it opens “Search Counter” form.


Search Counter consists of two tabs, namely, “Searching for Books” and
“Searching for Students”.
Both of these tabs when clicked open a detailed search engine which
comprises of a various fields on basis of which students and books can be
searched. Two or more field values can also be entered into these forms to
narrow down the search to only required results.
(Illustration on next page)

IMPORTANT NOTE: Remember to delete all previously written


information in the searching for students and
searching for books forms.

 Student Entry Form:

When “Student Entry Form” button is clicked on the main menu a


form opens which consists of all fields required for collection of information
about students using the library facilities.

22
(Illustration after “Searching” illustration)

IMPORTANT NOTE: Remember to click on “*” (new record entry


button) before entering information about a new
student other wise previous records will be
overwritten.

Search Counter:

Clicking on
this tab
closes Search
Counter

Searching for Books tab Searching for Students


opens Searching for tab opens Searching for
Books (form) Students (form)

Searching for Books Form:

23
All field To close
values form and
already go back to
entered Search
must be Counter,
deleted click here
before
entering
value for When done
which entering
search is information in
to be the respective
carried fields click
out ‘OK’

Control Keys not to be used in this form

Searching for Students Form:

All field
values
already
entered
must be
deleted
before
entering
value for
which
search is
to be
carried
out

Control Keys not to be used in this form

Students Entry Form:

24
Control Keys perform the same function in all forms

All the other individual searches, when run, prompt the user in the
following manner:

When ‘Acc#’ tab is clicked the user is


prompted for the accession number in
this manner, and the accession number
is entered in the field being pointed

25
BIBLIOGRAPHY:
To create our database we consulted:

 MS-Access Help,
 Office 2000 (book),
 Applications of Microsoft Access (book)

26

You might also like