61
Library’s Database Design for Dar Al-Hekma University Database Management MIS 4301 Nemah Alsayed Ferdous Mohammed Monday, May 2 nd , 2016 1

Library’s Database Design Project for Dar Al-Hekma University

Embed Size (px)

Citation preview

Page 1: Library’s Database Design Project for Dar Al-Hekma University

Library’s Database Design for Dar Al-Hekma University

Database Management MIS 4301

Nemah Alsayed

Ferdous Mohammed

Monday, May 2nd, 2016

1

Page 2: Library’s Database Design Project for Dar Al-Hekma University

Abstract:

This project is a requirement of the course Database management, where we as students are exposed to a real life business environment and are required to design a database for a real client, Dar Al Hekma’s library. The database design will match the DAH library specification and needs, this will also include user’s documentation that will be submitted to the library. Furthermore, our project is divided into five phases which are the planning, analysis, design and implementation. In the planning phase, we sent a proposal to the library which was later approved by the library director. Interviews were then conducted with reference librarian Ms.Weam to gather information about the library processes and to identify our scope. Then in the analysis phase, we studied the existing systems and data storing methods in detail to identify the opportunities before starting the next phase of the project. The opportunity identified was to design a database that fits their requirements and could be used even after the expansion of the library. A conceptual model was created in the design phase followed by physical design. This report documents the steps to complete the design for the database and is divided into five chapters which require their own deliverables.

2

Page 3: Library’s Database Design Project for Dar Al-Hekma University

Acknowledgments

The outcome of this project required feedback from many people, and we are thankful to have got them along the completion of our project, hence we would like to use this opportunity to thank all who have directly or indirectly helped us to accomplish this project. We are grateful especially to Ms.Waem Almuzain who accepted us to do our project with her great help in answering all our questions and providing us with all documents we needed. Despite her a busy schedule managing the library affairs. We would like to thank all the library staff for being encouraging of students and very friendly. We also thank Dr. Mohamed Fares for his support and mentorship throughout the project.

3

Page 4: Library’s Database Design Project for Dar Al-Hekma University

Table of ContentsChapter 1: Introduction ……………………………………………………………….71.1 Company ………………………………………………………………...………….71.2 Dar Al-Hekma University’s Library………………………………..………….….71.3 Library’s Mission and Vision ……………………………………….…………….71.4 Organizational Chart ………………………………………………………………8

1.5 Similar Businesses…………………………………………………………………..8

1.6 Project Overview …………………………………………………………………...8

1.6.1 Project’s Scope ……………………………………………………………8

1.6.2 Tools Used by the Customers…………………………………………….9

1.6.3 Customer’s Point of View………………………………………………..10

1.7 Project’s Deliverables………………………………………………………….....10

Chapter 2: Database Requirements …………………………………………………..11

2.1 Requirements Collection Process ………………………………………………11

2.2 Stakeholders ……………………………………………………………………11

2.3 Actors …………………………………………………………………………….12

2.4 Work Flow Process ………………………………………………………………12

2.5 Use case scenarios ………………………………………………………………..15

2.6 Narrative Requirements …………………………………………………………16

2.7 Entities and relationships ………………………………………………………..17

2.8 Functional Requirements ………………………………………………………..18

2.9 Non Functional Requirements …………………………………………………..19

2.10 Project Plan …………………………………………………………………….20

2.11 Project Budget ………………………………………………………………….21

Chapter 3: Database Design ………………………………………………………23

3.1 Enhanced Entity-Relationship Diagram (ERD) ………………………….....23

3.2 Relational Schema……………………………………………………………..243.3 Normalization………………………………………………………………….243.4 Data Samples …………………………………………………………………..27

Chapter 4: Database implementation …………………………………………………31

4.1 Justification of Using Indexes ……………………………………………...31

4

Page 5: Library’s Database Design Project for Dar Al-Hekma University

5 Chapter 5: Conclusion……………………………………………………………….32

Appendix A……………………………………………………………………………….33

References…………………………………………………………………………33

Appendix B………………………………………………………………………………..34

Interview questions ……………………………………………………………….34

Appendix C………………………………………………………………………………...35

Library’s Forms …………………………………………………………………..35

5

Page 6: Library’s Database Design Project for Dar Al-Hekma University

6

Page 7: Library’s Database Design Project for Dar Al-Hekma University

Chapter 1: Introduction

1.1 Company

Our client is Dar Al-Hekma University’s Library. Dar Al-Hekma University is a non-profit, private university for females in Jeddah, Saudi Arabia, established in 1999. Their mission is to graduate accomplished women, leaders and entrepreneurs. Their vision is to be a premier institution of higher education for women in Saudi Arabia to promote high standards of character and learning in keeping with Islamic teachings. Its graduates will be capable of bringing about positive change for the betterment of self, family, society and humanity, with the aim of serving and pleasing the Creator. (Dar Al-Hekma Annual Report, 2014).

According to the registrars, there is a total of 1580 students currently registered in the university. In addition to 179 faculty members and 437 staffs according to HR department. The university is planning future expansion to cater to the increasing numbers of students. They developed an expansion plan including new buildings, facilities, and majors. The expansion project aims to accommodate 4,000 students for current and future schools and academic degree programs.

1.2 Dar Al-Hekma University’s Library

The library is located in the first floor and has two divisions, the main library and the technical services library. With a total of 10 library’s staff. The library’s operations are divided into three categories: collections, databases, and services. The library has around 49,000 print items and over 150 journals and magazines. In addition, the library is subscribed to 18 online databases each specialized on a subject ranging from education, design, business, law, and general etc. Examples of the most popular databases are EBSCO Host, The wall street journal, and Pro Quest. Last year the library processed a total of 3705 new additions to the current collection and lent a total of 13428 items. Library’s’ users reached 117290 according to library’s director’s statistics.

The reasons we chose DAH library are: first, existing opportunity for database design that is tailored according to customer’s specific requirements. Second, to eliminate manual operations such as registering visitors and fines processing thus reducing inconsistency of data. Third, it will improve the management of library collections by the librarians and ease their work. Last, the library is a convenient location inside the university and has very friendly staff who are willing to contribute into the project.

1.3 Library’s Mission and Vision

The library’s mission is summarized as: “To provide an environment of learning and investigation that effectively supports the college programs of study and their curricula, research, faculty, staff, students and community outreach.” The library follows their mission in the acquisition, organization, and delivery of information to the Dar Al Hekma University community to fulfil their information needs. They maintain leadership by committing to excellent quality and creating a friendly environment, while promoting the use of progressive and innovative technology and information literacy, and providing an accessible facility for

7

Page 8: Library’s Database Design Project for Dar Al-Hekma University

studying and researching in addition to making sure that the collections in the library are up-to-date.

1.4 Organizational Chart

Figure 1: Library’s Organizational Chart.

1.5 Similar Businesses

The University of Business and Technology (UBT) has similar size library, with its central library in Dahban which is responsible for acquisitions and supervision of operations, and branch library in Jeddah’s campus. (UBT, 2015)

Al Batterjee Medical College’s Library, which contains collections of books and electronic resources for the needs of students, faculty, and staff. It has two branches one at male and other at female sections. (Batterjee Medical College, 2015)

Effat University is a similar business to Dar Al-Hekma University. Its library provides similar services to DAH’s but it is larger in scale and has more resources. It has an approximate of 25,000 items including academic works, magazines, newspapers, fiction, and literature. They are subscribed to over one hundred academic databases including JSTOR, Academic Search Complete, APA's PsycArticles, Credo Reference, and many more. They use Glifos library system. (Effat University Library, 2013)

1.6 Project Overview

1.6.1 Project’s Scope

Scope defines the project’s boundaries, or in other words which business process the project may or may not address. The decision of what to include in our scope was based on whether the data we collected is related to our definition of our mini-world. It is also important to have a clear picture of scope beforehand and agreement with the clients, to avoid project’s failure. This database design project will cover all the library collections including books, serials,

8

Page 9: Library’s Database Design Project for Dar Al-Hekma University

and multimedia items, like films, audio discs, DVD discs, as well as journals, and magazines included in both English and Arabic catalogs. It will also cover all the different types of users including registering visiting patrons and their subscriptions. In addition to the different services they use in the library like searching, reserving, and borrowing items. Moreover, it will cover loans handling and all the fines which could occur according to the library’s policies. Last, it will cover the librarians’ information such as their type and working hours.

This design will not cover some of the activities which are directly related to the PSSD and partially related to the library. Including books orders processing, handling of donated and gifted books, library materials which are weeded and removed from circulation, as the PSSD dispose of them. Plus the databases the library is subscribed to as those services are negotiated and paid for by the PSSD. Also, community service hours done by library or students are not included because they are handled by CS officers and stored into different database. Last, we will not cover the reservations of study rooms and orientation day as it is usually done informally.

1.6.2 Tools Used by the Customers

The Library uses OCLC system and ARUC (Arabic Union Catalog) software to manage the library’s collections. Processing is done in-house with the help of automated union catalogs. Also, all print and some electronic material are included in the online public access catalog (OPAC) which is offered under OCLC system as well as the OLIB Online Library’s Catalog which can be accessed through http://library.dah.edu.sa/webview .Users can access electronic databases like EBSCO through a link on the OPAC interface (the Library’s portal). OCLC is a comprehensive systems that covers the collections handling and borrowing process. Besides OLIB, it has intranet for library staffs, which we saw with the help of Ms. Weaam, and she showed us how she uses it for the borrowing process as one of its main functions. She scans RFID tags, which are attached to each book, and readers called 3M is used to read the tags when book is borrowed and students’ IDs when it is returned. Librarians attach security strips and Radio Frequency Identification (RFID) tags to all Library materials. Last, all data is stored in OCLC’s database which is managed by the OCLC’s company and maintained by them, not by Dar Al-Hekma’s IT department. IT department maintains all the remaining services of the Library, like PCs.

Application Description

GCstar It is an application used to manage collections such as books, movies, videogames etc. Information such as the location of the item you lent can also be retrieved through this app. (GCstar, 2012).

Tellico Tellico is a collection manager for keeping track of your books, bibliographies, videos, music, comic books and video games. (Tellico, n.d.)

Data Crow Data Crow is a powerful media cataloger and organizer that allow users to manage all their audio, software, book, movie, and photo collections in one customizable tool. The program can create a huge database containing all your collected items. (Data Crow

9

Page 10: Library’s Database Design Project for Dar Al-Hekma University

Cataloger, 2014).

Table1: Similar Applications in the Market.

1.6.3 Customer’s Point of View

We interviewed the library staff and they were satisfied with the current system they use, and how it facilities the borrowing process. However, they thought they could improve the manual process of recording fines and registering patrons. This, we figured was an opportunity because those process are time consuming and could result in mistakes. Additionally, they wanted to expand their collections and library’s size in the future with the university expansion. Our design of database will be suitable to use and doesn’t need modification after the university expansion because it is designed specifically to their requirements. It will also have added features that doesn’t exist in the old system such as supported courses by a collection item, loans handled by which librarian, and total automation of registering patrons and fines handling.

1.7 Project’s Deliverables

A copy of this project will be delivered to Dr. Mariam Gard, the library director, and Ms. Weaam Almuzain, to keep it in the library’s documents as a reference for future developments. Training will also be scheduled for the library members if they requested any to show them step by step how to use the new database.

10

Page 11: Library’s Database Design Project for Dar Al-Hekma University

Chapter 2: Database Requirements

2.1 Requirements Collection Process

First step in gathering information was observation; we observed the roles of the librarians on the help desk and what kind of tasks they do. They are responsible of the borrowing processes, which is facilitated by using RFID tags, attached to each book, and readers to read the tags and students’ IDs, they have access to the library system. They also help students or staff in finding the right resources in the library. They are also responsible for scanning, and printing. Upon our observations, we found that there are 2 printers, 4 scanners and 44 computers in the main library. The technical services library is not for visiting, only the library workers are allowed there. They have 7 staff who are responsible for receiving the books from the purchasing department and they bind them, attach the RFID tags, screen them, and make them ready to use in the main library. We observed and talked to the library main users, students. Their main activates was using library’s devices and books. They search books first using OLIB, note the shelve number, and then look for the book/material.

Second, we conducted an interview with Ms.Weaam Almuzain, Reference Librarian, to gather the requirements, and inquire about library’s process. A total of 2 meetings were held with the Ms.Weam with an approximate of 30 minutes each. We asked a total of 24 questions, attached interview questions in appendix, and took notes of her answers. We wanted to get a feel of how their current system works and their expectations from the database that we will design. We also wanted to gather an in depth information about the library’s day to day operations as she is always on the help desk interacting with both, system and customers.

Third, we used data analysis approach which according to (Munro et al. as cited in De& Sen, 1984) includes examining files, records, and reports that management uses for decision making. Then asking the director/ manger about extra information which helps in discarding supposed requirements. It is old approach and reliable. We reviewed all the documents used in the library, for internal staff, director and external users. Including policies and provisions, borrowing rules, collections development, forms for visiting patrons, and statistics from the current database. Last, we always got chance to visit the library to inquire about the documents and ask questions, also we send emails beforehand to the library staff if we need to ask additional questions.

2.2 Stakeholders

A stakeholder is a person or organization that has an interest in the project. We as students working on the project took the role of database designers. Our university, Library, and IT, and MIS department are of the main stakeholders. As we used various methods to collect the necessary information needed to design a database, we required participation of library’s workers, customers including students, visitors, faculty, and staff. Last, the project’s manager Dr. Mohamed Fares, who will guide the project until it’s finished.

2.3 Actors

Actors are those who will directly interact with the database to exchange information. In the library case, the users interacting with the database are librarians, students, registered

11

Page 12: Library’s Database Design Project for Dar Al-Hekma University

patrons, faculty, and staff. All end users occasionally access the database, they perform similar tasks such as searching, borrowing and reserving items from the library collection. They also pay fines for overdue, damaged, or lost items and have to return the items they borrowed. However, their privileges are not the same as the main users, librarians, who are responsible to registering users of all types into the system. As well as manging library’s collections, loans, and fines. While different types of user have different privileges in using the library resources as the library polices differ based on user type. Those polices are elaborated in table 2 below in the narrative requirements.

2.4 Work Flow Process

This section describes the current library process from start to finish. Currently, the process starts when the technical library receives materials shipments from PSSD. The librarians prepare the books/items in the technical library, attach RFID tags to materials, bind, and screen them. They then insert new materials information into OLIB system and deliver materials to the main library. The librarians arrange materials on shelves based on Dewey decimal classifications. Users can search for desired items manually or using OLIB. If they couldn’t find it, they ask reference librarian/ submit request. If they found it, they note shelf number, pick up book and go to reference desk to borrow it. Librarian checks user’s type, if the user is a visitor, they check subscription, if there is no subscription they ask the user to pay 500 to register them as visiting patron. If the user is student/faculty/staff, they ask the user present her ID and check her loan status. If they have overdue or late due, the user has to return the material and pay fines. If they don’t have any, librarian checks if material is reference or audio/visual. If it is, librarian would ask library’s director for permission to borrow material. If it isn’t, librarian scans material s RFID tags and user s ID and stamps at the end of the material the end of loan duration. Emails are send to user to remind her of the loan due date. User returns borrowed items. Librarian checks due date and if item is damaged. If it is overdue/damaged, user pays fines. If it isn’t, librarian scans user ID to drop the loan. Librarian collects statistics about users and borrowed items and a report is submitted to the library director. Below is the flow chart diagram that illustrates the process.

12

Page 13: Library’s Database Design Project for Dar Al-Hekma University

Figure 2: Work Flow Diagram.

13

Page 14: Library’s Database Design Project for Dar Al-Hekma University

2.5 Use case scenarios

Figure 3: Use Cases Diagram

This section breaks down the process of borrowing an item by describing the actors that interact with the system. The actors of the system are entities that interact with the system in some way: whether they directly provide input into the system, receive an output from the system, or are affected by it indirectly. In this project, the actors are the librarian, student, registered patron and faculty. Relationships in the use case diagram are called Association. There are two types of associations used in our project’s use case diagram, they are extend and include. The extend is optional and can be used to further add more use cases whereas the include represents a use case that cannot occur unless a preceding use case has been completed. Our use case diagram begins when all actors enter their username and password. The student, registered patron and faculty can then search their desired item. They can also select, borrow and request new item if they want. The librarian updates and removes items. Cases that weren’t mentioned in the use case diagram include Liberian inserting new users and receiving fines.

14

Page 15: Library’s Database Design Project for Dar Al-Hekma University

2.6 Narrative Requirements

The Library has two branches, each branch is responsible for different tasks. The main library’s librarians hold primary responsibility for the development of the Library collection. The librarians must work with faculty to identify print, non-print, multi-media and electronic materials for the Library collection. The Library uses multiple methods of identifying items for purchase, such as user requests, publisher brochures, websites, academic magazines, and memberships. Faculty, staff and students can submit recommendations to the Library for materials to be purchased. The Library purchases between one and three copies of each resource, according to demand. The Library supports the following collection areas: First, General Reference Collection, such as encyclopaedias, thesauri, handbooks, directories and yearbooks. Second, Core Curriculum which are materials are selected to support general knowledge. Third, Academic Programs. Forth, Leisure Reading, both fiction and non-fiction. The Library collects print and electronic books, print and electronic serials. The Library purchases films, videocassettes, audio discs, DVD discs and other audio-visual formats when they offer the most effective learning experiences. English is the primary language of the collection, but Arabic and other languages materials can also be acquired. All collection items information are stored into the system such as authors, publishes, publishing date, and shelf mark.

Current Dar Al-Hekma students, faculty, staff and registered visiting patrons are permitted to borrow items from the Library. Their information such as IDs, names are stored into the system. Students, faculty and staff are required to present their DAH ID card and visiting patrons are required to use their visitor card in order to borrow library resources. The DAH ID card may be used for checkout only by the person to whom the card is issued. Users must return library materials in good condition, on or before the due date. Users must obtain the permission of the Library Director to borrow Reference and audio-visual resources. Users are not permitted to take Library materials out of the Library until the loan has been recorded. Users are responsible for all material checked out on their card and for any fines incurred for lost, overdue, or damaged items. Users must ensure that all circulated library materials have been returned before requesting the Library Director's signature on their clearance form. Users are responsible for bringing books into the library for renewal before the due date. The Library will send three overdue notices to the university or registered email address of the user after the due date for returning borrowed material has passed. After the third notice is sent, the item will be treated as a lost item if not returned. Borrowing privileges for different types of users are explained in more details in the table below.

User type Number of borrowed items DurationStudent Permitted to borrow:

1. 8 books from the main collection.2. 1 Reference, l Audio Visual and/or 1

bound.3. Students are not permitted to borrow

Faculty Reference collection items.

1. 14 days for main collection.

2. Overnight use or weekend use for references.

Faculty Permitted to borrow:

1. 10 Main Collection or Faculty

1. 14 days or whole semester.

2. 7 days.

15

Page 16: Library’s Database Design Project for Dar Al-Hekma University

Reference books.2. 3 audio-visual materials.3. 1 Reference item.4. 3 periodical issues from circulating

journal titles.5. Are allowed to request via email for

library materials to be delivered to their offices for borrowing purposes.

3. Overnight or weekend use.

4. Overnight or weekend use.

Visiting patron Permitted to borrow:1. 1 book from the Main Collection at a

time.2. Cannot borrow any other format of

library resources.

1. 14 days.

Table 2: Library’s User’s Borrowing Privileges.

Fines are assessed in all days of the Library operations. Library privileges will be suspended if a user accumulates fines of SR50 or more. Fines incurred by visiting patrons are subtracted from their deposit. The Librarian will not sign an employee's clearance form until all Library charges and fines have been cleared. Fines descriptions and amounts are explained in details in the table below.

Fine description Item type AmountLoan overdue Main Collection and Faculty

Reference items.1 SR a day

Loan overdue Periodicals, audio-visual materials, and reference items.

5 SR a day

Lost or damaged items Main Collection or Faculty Reference items.

SR 350 plus the late fee

Lost or damaged items periodicals SR 100 plus the late feeLost or damaged items Audio-visual materials, reference

items and bound periodicals.SR 500 plus the late fee

Table 3: Library’s Fines Description.

2.7 Entities and relationships

Entities Attributes Relationships

Library collections Barcode, tittle, Author, ISBN, Publisher, Language, Form, Publishing date, Location, Shelf-mark.

Managed by (Technical Library)

16

Page 17: Library’s Database Design Project for Dar Al-Hekma University

Librarian ID, Name, working hours Supervised by (Library director)

User User ID, User name 1.Searches (Library collections)2.Reserves (Library collections)3.Borrows(Library collections)4.Returns (Loans)5. Pays (Fine)

General Reference Reference Type No relationship

Core curriculum Area No relationship

Academic programs Course No relationship

Leisure reading Reading Type No relationship

Loan Loan ID, date, transaction, due, Fine ID, Librarian ID, User ID, Barcode

Handled by (General Librarian)

General Librarian No attributes Handles (Loans)

Technical Librarian No attributes Manages (Library collection)

DAH member Type No relationship

Visitor Subscription No relationship

Library director ID, Name, working hours Supervise (Librarian)

Fine Fine ID, Loan ID, User ID, Type, Barcode, date, Amount

Paid by (user)

Table 4: Entities and Relationships.

2.8 Functional Requirements

1. Show all information about the users who borrowed books in a given month. 2. Show all the loans which should be returned today (date on the system) with user’s

information. 3. Provide information about a selected item.

17

Page 18: Library’s Database Design Project for Dar Al-Hekma University

4. Show the library's collections which are on loan, including barcode, title, UserID who borrowed it and when is loan due.

5. Count the number of loans for each user. 6. List each user name, type, fineID, and amount for a given UserID. 7. Whenever a user of type visitor is inserted, show a message asking for deposit receipt

to activate their subscription. 8. Show the number of users served a librarian by using LibarianID.9. If a user has fine amount more than 50 SR will show a message to be suspended their

privileges when their information is inserted.

2.9 Non Functional Requirements

(Doorn & Rivero 2002) identify functional requirements as methods or procedures and processes related to database performance, while non-functional requirements are properties or guidelines that must be accomplished to enhance performance. They range on various areas such as security, output quality, and performance. We estimated the numbers of library users, on and offline, to be 6000 user covering students, all faculty, staff, visitors and new students. All these numbers need a powerful database server with fast network connection while accessing the database.

Availability and backup are crucial because many users will need to access the library’s collections off site so it should be available 24/7. (Vieira, 2009) explained that SQL server provides network libraries that configures and talks to the network’s protocols, they should be installed on server and client computers.

Backup is important because customers’ data is very valuable asset to any organization, besides library’s collections data is the core of the library’s business operations. Nowadays, more organizations are using a private cloud for data backup while others are still using backup tapes. It is up for IT department to choose backup method after weighting advantages and costs. Cloud disadvantage that it needs fast connection, while tapes requires special readers and should be saved off site. According to (Vieira, 2009) there is three types of backup in SQL server: full backup, differential, which writes what have changed since last full backup, and transaction log.

Security is very important aspect of database, we define it as the access to database whether to a confidential data or to do modifications. The system will ask for users’ authentication through User ID and password. The DBA can manage security by assigning privileges to users and limiting their authority to view or modify data. It can be implemented by using triggers and views. Also, security is important in the network connections, using firewalls and intrusion detection systems is needed. Last, maintenance, which is the job of the DBA to maintain the database.

18

Page 19: Library’s Database Design Project for Dar Al-Hekma University

2.10 Project Plan

ID TaskMode

Task Name Duration Start Finish

1 Database Management project 59 days Wed 2/10/16 Sat 4/30/16

2 Looking for a company 2 days Wed 2/10/16 Thu 2/11/16

3 Submmiting permession letter to library

1 day Thu 2/11/16 Thu 2/11/16

4 Writing interview questions 2 days Tue 2/23/16 Wed 2/24/16

5 Interview 2 days Tue 2/23/16 Wed 2/24/166 Survey and observations 2 days Wed 2/24/16 Thu 2/25/16

7 Reading the prochures and documentaions of the library

2 days Sat 2/27/16 Mon 2/29/16

8 Chapter 1: Introduction 3 days Mon 2/29/16 Wed 3/2/16

9 Background of the organization1 day Mon 2/29/16 Mon 2/29/1610 Project overview 1 day Tue 3/1/16 Tue 3/1/1611 Project Deliverables 1 day Wed 3/2/16 Wed 3/2/1612 Chapter 2: Database

Requirments15 days Mon 2/22/16 Fri 3/11/16

13 Requirments collection process1 day Mon 2/29/16 Mon 2/29/1614 Stakeholders 1 day Tue 3/1/16 Tue 3/1/1615 Actors 1 day Tue 3/1/16 Tue 3/1/16

Nemah Alsayed,Ferdous Mohammed

Nemah Alsayed,Ferdous Mohammed

Ferdous Mohammed ,Nemah Alsayed

Nemah Alsayed,Ferdous Mohammed Nemah Alsayed,Ferdous Mohammed

Nemah Alsayed,Ferdous Mohammed

Ferdous Mohammed Nemah Alsayed,Ferdous Mohammed Nemah Alsayed

Nemah AlsayedFerdous Mohammed Nemah Alsayed

S W S T M F T S W S T M F T S W S T M F T SJan 31, '16 Feb 14, '16 Feb 28, '16 Mar 13, '16 Mar 27, '16 Apr 10, '16 Apr 24, '16

ID TaskMode

Task Name Duration Start Finish

14 Stakeholders 1 day Tue 3/1/16 Tue 3/1/1615 Actors 1 day Tue 3/1/16 Tue 3/1/1616 Workflow 1 day Tue 3/1/16 Tue 3/1/1617 Usecases 2 days Wed 3/2/16 Thu 3/3/1618 Narrative Requirments 1 day Thu 3/3/16 Thu 3/3/1619 Entities and relationships 2 days Sun 3/6/16 Mon 3/7/1620 Functional requirments 2 days Tue 3/8/16 Wed 3/9/1621 Nonfanctional requirments 2 days Tue 3/8/16 Wed 3/9/1622 project plan 1 day Wed 2/24/16 Wed 2/24/1623 project budget 1 day Thu 3/10/16 Thu 3/10/1624 Chapter3: Database Design 9 days Sun 3/13/16 Wed 3/23/1625 ER Diagram 3 days Sun 3/13/16 Tue 3/15/1626 Relational Schema 2 days Tue 3/15/16 Wed 3/16/1627 Normalization 2 days Wed 3/16/16 Thu 3/17/1628 Data Sample 2 days Fri 3/18/16 Mon 3/21/1629 Chapter 4: Database

implementation 11 days Mon 3/21/16 Sun 4/3/16

30 Tables 1 day Mon 3/21/16 Mon 3/21/1631 Views 1 day Mon 3/21/16 Mon 3/21/1632 User defined functions 2 days Tue 3/22/16 Wed 3/23/1633 User defined stored procedures 2 days Wed 3/23/16 Thu 3/24/1634 Triggers 1 day Fri 3/25/16 Fri 3/25/1635 Queries 2 days Fri 3/25/16 Mon 3/28/16

Ferdous Mohammed Nemah AlsayedNemah Alsayed

Nemah Alsayed,Ferdous Mohammed Ferdous Mohammed

Nemah Alsayed,Ferdous Mohammed Ferdous Mohammed Nemah Alsayed

Nemah AlsayedFerdous Mohammed

Ferdous Mohammed Nemah AlsayedFerdous Mohammed ,Nemah Alsayed

Nemah Alsayed,Ferdous Mohammed

Ferdous Mohammed Nemah Alsayed

Ferdous Mohammed ,Nemah AlsayedNemah Alsayed,Ferdous Mohammed Ferdous Mohammed

Ferdous Mohammed ,Nemah Alsayed

S W S T M F T S W S T M F T S W S T M F T SJan 31, '16 Feb 14, '16 Feb 28, '16 Mar 13, '16 Mar 27, '16 Apr 10, '16 Apr 24, '16

19

Page 20: Library’s Database Design Project for Dar Al-Hekma University

ID TaskMode

Task Name Duration Start Finish

18 Narrative Requirments 1 day Thu 3/3/16 Thu 3/3/1619 Entities and relationships 2 days Sun 3/6/16 Mon 3/7/1620 Functional requirments 2 days Tue 3/8/16 Wed 3/9/1621 Nonfanctional requirments 2 days Tue 3/8/16 Wed 3/9/1622 project plan 1 day Wed 2/24/16 Wed 2/24/1623 project budget 1 day Thu 3/10/16 Thu 3/10/1624 Chapter3: Database Design 9 days Sun 3/13/16 Wed 3/23/1625 ER Diagram 3 days Sun 3/13/16 Tue 3/15/1626 Relational Schema 2 days Tue 3/15/16 Wed 3/16/1627 Normalization 2 days Wed 3/16/16 Thu 3/17/1628 Data Sample 2 days Fri 3/18/16 Mon 3/21/1629 Chapter 4: Database

implementation 11 days Mon 3/21/16 Sun 4/3/16

30 Tables 1 day Mon 3/21/16 Mon 3/21/1631 Views 1 day Mon 3/21/16 Mon 3/21/1632 User defined functions 2 days Tue 3/22/16 Wed 3/23/1633 User defined stored procedures 2 days Wed 3/23/16 Thu 3/24/1634 Triggers 1 day Fri 3/25/16 Fri 3/25/1635 Queries 2 days Fri 3/25/16 Mon 3/28/1636 SQL notes 2 days Tue 3/29/16 Wed 3/30/1637 Chapter 5: conclusion 8 days Thu 3/31/16 Sat 4/9/1638 Writing Up 13 days Sat 4/9/16 Tue 4/26/16

Ferdous Mohammed Nemah Alsayed,Ferdous Mohammed

Ferdous Mohammed Nemah Alsayed

Nemah AlsayedFerdous Mohammed

Ferdous Mohammed Nemah AlsayedFerdous Mohammed ,Nemah Alsayed

Nemah Alsayed,Ferdous Mohammed

Ferdous Mohammed Nemah Alsayed

Ferdous Mohammed ,Nemah AlsayedNemah Alsayed,Ferdous Mohammed Ferdous Mohammed

Ferdous Mohammed ,Nemah AlsayedNemah Alsayed,Ferdous Mohammed

Nemah Alsayed,Ferdous Mohammed Nemah Alsayed,Ferdous Mohammed

S W S T M F T S W S T M F T S W S T M F T SJan 31, '16 Feb 14, '16 Feb 28, '16 Mar 13, '16 Mar 27, '16 Apr 10, '16 Apr 24, '16

Figure 4: Project’s Plan.

2.11 Project Budget

The project budget is a detailed estimate of all the costs required to complete project tasks. An approximate of the costs associated with this project is calculated as shown in the below table.

Description Cost

Time (this includes total number of hours spent working on the project)

96 hours

This project is free of charge as part of course requirements.

Transportation 1500SR

Communication (mobile charges) 200SR

Hardware (USB, Laptops, mobile, ipad) 6000SR

Software (this includes software’s used which includes project management software, SQL server management studio and Microsoft Visio)

Creately used to create use cases

All were downloaded by Ms.Najla (Free of charge). Creately is free online tool.

Subtotal 7700SR

20

Page 21: Library’s Database Design Project for Dar Al-Hekma University

Table 5: Project’s Budget.

21

Page 22: Library’s Database Design Project for Dar Al-Hekma University

Chapter 3: Database Design

3.1 Enhanced Entity-Relationship Diagram (ERD)

Figure 5: ERD

22

Page 23: Library’s Database Design Project for Dar Al-Hekma University

3.2 Relational Schema

1. LIBRARY_DIRECTOR (DirID, DirName, WorkingHours)2. LIBRARIAN (LibID, LibName, WorkingHours, LibType, Director) 3. MANAGES (LibrarianID, Barcode) 4. LIBRARY’S_COLLECTIONS (Barcode, ISBN, Title, Publisher,

PublishingDate, 5. COLLECTION_AUTHOR (Barcode, Author) 6. COLLECTION_LANGUAGE (Barcode, Language)7. COLLECTION_SHELFMARK (Barcode, Shelfmark)8. USERS (UserID, UserName, UserType, DAHType, Subscription) 9. SEARCHES (UserID, Barcode)10. RESERVES (UserID, Barcode, ReservationDate)11. BORROWS (UserID, Barcode)12. FINE (FineID, Date, Amount, FineType, Barcode, LoanID, UserID)13. LOAN (LoanID, Date, Due, Transaction, Barcode, LibrarianID, UserID, FineID)

3.3 Normalization

Normalization is the process used to group attributes together that belongs to the same relation. It is used to minimize redundancy and reduce relations with anomalies to produce a better structured tables thus conserving more space. It also enforces referential integrity constraints and ease data insertion. (Hoffer, Prescott & McFadden 2002)

1. LIBRARY_DIRECTOR (DirID, DirName, WorkingHours)

FD1: DirID → DirID, DirName, WorkingHours

LIBRARY_DIRECTOR relation is in the first normal form because (DirName, WorkingHours) are not multi-valued or composite attributes based on the requirements. It is in the second normal form as well because every non-prime attribute (DirName, WorkingHours) are fully functionally dependant on the primary key DirID of the LIBRARY_DIRECTOR relation. Last, the relation is in the third normal form because it satisfies the first and second, and there is no transitive dependencies of any non-prime attributes to the primary key.

2. LIBRARIAN (LibID, LibName, WorkingHours, LibType, Director)

FD1: LibID → LibID, LibName, WorkingHours, LibType, Director

LIBRARIAN relation is in the first normal form because (LibName, WorkingHours, LibType, Director) are not multi-valued or composite attributes based on the requirements. It is in the second normal form as well because every non-prime attribute (LibName, WorkingHours, LibType, Director) are fully functionally dependant on the primary key LibID of the LIBRARIAN relation. Last, the relation is in the third normal form because it satisfies the first and second, and there is no transitive dependencies of any non-prime attributes to the primary key.

23

Page 24: Library’s Database Design Project for Dar Al-Hekma University

3. MANAGES (LibrarianID, Barcode)

FD1: {LibrarianID, Barcode} → LibrarianID, Barcode

MANAGES relation is in the first normal form because (LibrarianID, Barcode) are not multi-valued or composite attributes based on the requirements. It is in the second normal form as well because (LibrarianID, Barcode) are prime attributes and fully functionally dependant on the primary key LibrarianID, Barcode of the MANAGES relation. Last, the relation is in the third normal form because it satisfies the first and second, and there is no transitive dependencies of any non-prime attributes to the primary key.

4. LIBRARY’S_COLLECTIONS (Barcode, ISBN, Title, Publisher, PublishingDate, Form, Location, Reference_Type, Area, Course, ReadingsType)

FD1: Barcode → Barcode, ISBN, Title, Publisher, PublishingDate, Form, Location, Reference_Type, Area, Course, ReadingsType

LIBRARY’S_COLLECTIONS relation is in the first normal form because (ISBN, Title, Publisher, PublishingDate, Form, Location, Reference_Type, Area, Course, ReadingsType) are not multi-valued or composite attributes based on the requirements. It is in the second normal form as well because every non-prime attribute (ISBN, Title, Publisher, PublishingDate, Form, Location, Reference_Type, Area, Course, ReadingsType) are fully functionally dependant on the primary key Barcode of the LIBRARY’S_COLLECTIONS relation. Last, the relation is in the third normal form because it satisfies the first and second, and there is no transitive dependencies of any non-prime attributes to the primary key.

5. COLLECTION_AUTHOR (Barcode, Author)

FD1: {Barcode, Author} → Barcode, Author

COLLECTION_AUTHOR relation is in the first normal form because (Barcode, Author) are not multi-valued or composite attributes, because they were removed while mapping ER into relational schema. It is in the second normal form as well because (Barcode, Author) are prime attributes and fully functionally dependant on the primary key Barcode, Author of the COLLECTION_AUTHOR relation. Last, the relation is in the third normal form because it satisfies the first and second, and there is no transitive dependencies of any non-prime attributes to the primary key.

6. COLLECTION_LANGUAGE (Barcode, Language)

FD1: {Barcode, Language} → Barcode, Language

COLLECTION_LANGUAGE relation is in the first normal form because (Barcode, Language) are not multi-valued or composite attributes, because they were removed while mapping ER into relational schema. It is in the second normal form as well because (Barcode, Language) are prime attributes and fully functionally dependant on the primary key Barcode, Language of the COLLECTION_LANGUAGE relation. Last, the relation is in the third normal form because it satisfies the first and second, and there is no transitive dependencies of any non-prime attributes to the primary key.

24

Page 25: Library’s Database Design Project for Dar Al-Hekma University

7. COLLECTION_SHELFMARK (Barcode, Shelfmark)

FD1: {Barcode, Shelfmark} → Barcode, Shelfmark

COLLECTION_SHELFMARK relation is in the first normal form because (Barcode, Shelfmark) are not multi-valued or composite attributes, because they were removed while mapping ER into relational schema. It is in the second normal form as well because (Barcode, Shelfmark) are prime attributes and fully functionally dependant on the primary key Barcode, Shelfmark of the COLLECTION_SHELFMARK relation. Last, the relation is in the third normal form because it satisfies the first and second, and there is no transitive dependencies of any non-prime attributes to the primary key.

8. USERS (UserID, UserName, UserType, DAHType, Subscription)

FD1: UserID → UserID, UserName, UserType, DAHType, Subscription

USERS relation is in the first normal form because (UserName, UserType, DAHType, Subscription) are not multi-valued or composite attributes based on the requirements. It is in the second normal form as well because every non-prime attribute (UserName, UserType, DAHType, Subscription) are fully functionally dependant on the primary key UserID of the USERS relation. Last, the relation is in the third normal form because it satisfies the first and second, and there is no transitive dependencies of any non-prime attributes to the primary key.

9. SEARCHES (UserID, Barcode)

FD1: {UserID, Barcode} → UserID, Barcode

SEARCHES relation is in the first normal form because (UserID, Barcode) are not multi-valued or composite attributes based on the requirements. It is in the second normal form as well because (UserID, Barcode) are prime attributes and fully functionally dependant on the primary key UserID, Barcode of the VISITOR relation. Last, the relation is in the third normal form because it satisfies the first and second, and there is no transitive dependencies of any non-prime attributes to the primary key.

10. RESERVES (UserID, Barcode, ReservationDate)

FD1: {UserID, Barcode} → UserID, Barcode, ReservationDate

RESERVES relation is in the first normal form because (UserID, Barcode) are not multi-valued or composite attributes based on the requirements. It is in the second normal form as well because non-prime attributes (ReservationDate) are fully functionally dependant on the primary key UserID, Barcode of the RESERVES relation. Last, the relation is in the third normal form because it satisfies the first and second, and there is no transitive dependencies of any non-prime attributes to the primary key.

11. BORROWS (UserID, Barcode)

FD1: {UserID, Barcode} → UserID, Barcode

25

Page 26: Library’s Database Design Project for Dar Al-Hekma University

BORROWS relation is in the first normal form because (UserID, Barcode) are not multi-valued or composite attributes based on the requirements. It is in the second normal form as well because (UserID, Barcode) are prime attributes and fully functionally dependant on the primary key UserID, Barcode of the BORROWS relation. Last, the relation is in the third normal form because it satisfies the first and second, and there is no transitive dependencies of any non-prime attributes to the primary key.

12. FINE (FineID, Date, Amount, FineType, LoanID, UserID, Barcode)

FD1: FineID → FineID, Date, Amount, FineType, LoanID, UserID, Barcode

FD2: LoanID → LoanID, Barcode, UserID, FineID

FINE relation is in the first normal form because (Date, Amount, FineType, LoanID, UserID, Barcode) are not multi-valued or composite attributes based on the requirements. It is in the second normal form as well because every non-prime attribute (Date, Amount, FineType, LoanID, UserID, Barcode) are fully functionally dependant on the primary key FineID of the FINE relation. Last, the relation is in the third normal form because it satisfies the first and second, and there is no transitive dependencies of any non-prime attributes to the primary key.

13. LOAN (LoanID, Date, Due, Transaction, Barcode, LibrarianID, UserID, FineID)

FD1: LoanID → LoanID, Date, Due, Transaction, Barcode, LibrarianID, UserID, FineID

FD2: FineID → LoanID, UserID, Barcode

LOAN relation is in the first normal form because (Date, Due, Transaction, Barcode, LibrarianID, UserID, FineID) are not multi-valued or composite attributes based on the requirements. It is in the second normal form as well because every non-prime attribute (Date, Due, Transaction, Barcode, LibrarianID, UserID, FineID) are fully functionally dependant on the primary key Barcode of the LOAN relation. Last, the relation is in the third normal form because it satisfies the first and second, and there is no transitive dependencies of any non-prime attributes to the primary key.

3.4 Data Samples

1. LIBRARY_DIRECTOR

DirID DirName WorkingHours1520 Dr. Mariam Gard 8 a.m.- 5 p.m.

Note that there is only one Library director according to our requirements.

2. LIBRARIAN

LibID LibName WorkingHours LibType Director1325 Ms. Ebtisam Ali 8 a.m.- 3 p.m. Technical 15201715 Ms. Weaam Almuzain 9 a.m. – 4 p.m. General 1520

3. MANAGES

26

Page 27: Library’s Database Design Project for Dar Al-Hekma University

LibrarianID Barcode1715 T09981491825 T09999284

4. USER

UserID UserName UserType DAHType Subscription1220042 Nemah Alsayed DAHMember Student NULL1220081 Ferdous

MohammedDAHMember Student NULL

1210027 Noor Alsayed Visitor NULL Active

5. SEARCHES

UserID Barcode1220042 T00510061023369 T04444510

6. RESERVES

UserID Barcode ReservationDate1023369 T0088801 2016/4/291224893 T04444510 2016/4/30

7. BORROWS

UserID Barcode1220081 T00510061120064 T0998149

27

Page 28: Library’s Database Design Project for Dar Al-Hekma University

8. LIBRARY’S_COLLECTIONS

Barcode T0088801 T04444510 T0051006ISBN 0810965380 9780415781565 0760049041Title Câezanne

To Van GoghEnvironmental AnthropologyToday

Database systems : design, implementation, and management

Publisher Metropolitan Museum of Art

Routledge Cambridge

Publishing Date

1999 2011 1997

Form Print Print PrintLocation Main Library Main

LibraryMainLibrary

Reference_Type

Monograph Monograph Monograph

Area Arts HumanEcology

Database Systems

Course Null ANTH1301 MIS4301ReadingsType

Null Null Null

9. COLLECTION_AUTHOR

Barcode AuthorT0088801 Distel, AnneT0088801 Stein, Susan AlysonT0088801 Musâee d'Orsay

10. COLLECTION_LANGUAGE

Barcode LanguageT0088801 EnglishT09999284 Portuguese

11. COLLECTION_SHELFMARK

Barcode ShelfmarkT0088801 709.3 DIS c.1T0088801 709.03 DIS c.2T00331 TEX 701.1 GET 2002 c.1

28

Page 29: Library’s Database Design Project for Dar Al-Hekma University

12. FINE

FineID Date Amount FineType LoanID Barcode UserID103666 2016/3/20 20 SR Overdue 103674 T0051006 1220042122364 2016/5/4 375 SR Damaged 103886 T0998149 1120064

13. LOAN

LoanID Date Due Transaction

Barcode LibrarianID UserID

103886 2016/4/20 2016/5/4 Return T0998149 1825 1120064109648 2016/4/27 2016/5/16 Borrow T0088801 1825 1210027

29

Page 30: Library’s Database Design Project for Dar Al-Hekma University

Chapter 4: Database implementation

4.1 Database Implementation and SQL Code5. /* Database design for DAH's Library6. Nemah Alsayed and Ferdous Mohammed 7. Database Management MIS 4301 Project 8. Monday, May 2nd, 2016 */ 9.10.-- Creating the Library Database11.CREATE DATABASE DAHLibrary;12.13.-- Making DAHLibrary the current database14.USE DAHLibrary; 15.16.-- Creating tables17.-- 1. Creating the table LIBRARY_DIRECTOR 18.CREATE TABLE LIBRARY_DIRECTOR (19. DirID INT PRIMARY KEY, 20. DirName VARCHAR (50) NOT NULL,21. WorkingHours VARCHAR (20)22. ); 23.24.-- 2. Creating the table LIBRARYS_COLLECTIONS 25.CREATE TABLE LIBRARYS_COLLECTIONS (26. Barcode VARCHAR (30) PRIMARY KEY,27. ISBN VARCHAR (15) NOT NULL, 28. Title NVARCHAR (300) NOT NULL, 29. Publisher NVARCHAR (100) NOT NULL,30. PublishingDate DATE NOT NULL,31. Form VARCHAR (50) NOT NULL, -- Form: {Print,

Electronic, Films, Videocassettes, Audio discs, DVD, Computer File}32. Location VARCHAR (30) NOT NULL, -- Location: {Main Library,

Technical Library}33. Reference_Type VARCHAR (50) NOT NULL, -- Reference_Type:

{Encyclopaedia, Thesauri, Handbook, Directory, Yearbook, Monograph, etc.}34. Area VARCHAR (50), -- Area:

{Astronomy, Anatomy, Bibliography, Database, etc.} 35. Course VARCHAR (10), -- Course:

{Arts1301, MIS4301, etc.}36. ReadingsType VARCHAR (30) -- ReadingsType: {Fiction,

Non-fiction}37. );38.39.-- 3. Creating the table COLLECTION_AUTHOR 40.CREATE TABLE COLLECTION_AUTHOR (41. Barcode VARCHAR (30),42. AuthorVARCHAR (100),43. PRIMARY KEY (Barcode, Author),44. FOREIGN KEY (Barcode) REFERENCES LIBRARYS_COLLECTIONS(Barcode)45. ); 46.47.-- 4. Creating the table COLLECTION_LANGUAGE 48.CREATE TABLE COLLECTION_LANGUAGE (49. Barcode VARCHAR (30),

30

Page 31: Library’s Database Design Project for Dar Al-Hekma University

50. Language VARCHAR (50),51. PRIMARY KEY (Barcode, Language),52. FOREIGN KEY (Barcode) REFERENCES LIBRARYS_COLLECTIONS(Barcode)53. );54.55.-- 5. Creating the table COLLECTION_SHELFMARK 56.CREATE TABLE COLLECTION_SHELFMARK (57. Barcode VARCHAR (30),58. Shelfmark VARCHAR (50),59. PRIMARY KEY (Barcode, Shelfmark),60. FOREIGN KEY (Barcode) REFERENCES LIBRARYS_COLLECTIONS(Barcode)61. );62.63.-- 6. Creating the table LIBRARIAN (LibID, LibName, WorkingHours, LibType,

Director) 64.CREATE TABLE LIBRARIAN (65. LibID INT PRIMARY KEY, 66. LibName VARCHAR (50) NOT NULL,67. WorkingHours VARCHAR (20),68. LibType VARCHAR (25) NOT NULL, -- Type: {Technical

Librarian, Main Librarian}69. Director INT FOREIGN KEY REFERENCES LIBRARY_DIRECTOR(DirID)70. ); 71.72.-- 7. Creating the table USER (UserID, UserName, UserType, DAHType,

Subscription) 73.CREATE TABLE USERS (74. UserID INT PRIMARY KEY,75. UserName VARCHAR(100) NOT NULL,76. UserType VARCHAR(20) NOT NULL, -- UserType: {DAHMemeber,

Visitor}77. DAHType VARCHAR(10), -- DAHType: {Student,

Faculty, Staff}78. Subscription VARCHAR(20) 79. );80.81.-- 8. Creating the table LOAN 82.CREATE TABLE LOAN ( 83. LoanID INT PRIMARY KEY,84. Date DATE NOT NULL,85. Due DATE NOT NULL,86. Transactions VARCHAR(50) NOT NULL,87. Barcode VARCHAR (30) FOREIGN KEY REFERENCES

LIBRARYS_COLLECTIONS(Barcode), 88. LibrarianID INT FOREIGN KEY REFERENCES

LIBRARIAN(LibID),89. UserID INT FOREIGN KEY REFERENCES

USERS(UserID)90. ); 91.92.-- 9. Creating the table FINE 93.CREATE TABLE FINE ( 94. FineID INT PRIMARY KEY,95. Date DATE NOT NULL, 96. Amount INT NOT NULL,97. FineType VARCHAR(50) NOT NULL,

98. LoanID INT FOREIGN KEY REFERENCES LOAN(LoanID),

31

Page 32: Library’s Database Design Project for Dar Al-Hekma University

99. Barcode VARCHAR(30) FOREIGN KEY REFERENCES LIBRARYS_COLLECTIONS(Barcode),

100. UserID INT FOREIGN KEY REFERENCES USERS(UserID)

101. ); 102.103. -- 10. Creating the table MANAGES 104. CREATE TABLE MANAGES (105. LibrarianID INT,106. Barcode VARCHAR (30),107. PRIMARY KEY (LibrarianID, Barcode),108. FOREIGN KEY (LibrarianID) REFERENCES LIBRARIAN(LibID), 109. FOREIGN KEY (Barcode) REFERENCES LIBRARYS_COLLECTIONS(Barcode)

110. ); 111. 112. -- 11. Creating the table SEARCHES 113. CREATE TABLE SEARCHES (114. UserIDINT,115. Barcode VARCHAR (30),116. PRIMARY KEY (UserID, Barcode),117. FOREIGN KEY (UserID) REFERENCES USERS(UserID), 118. FOREIGN KEY (Barcode) REFERENCES LIBRARYS_COLLECTIONS(Barcode)

119. ); 120.121. -- 12. Creating the table RESERVES 122. CREATE TABLE RESERVES (123. UserID INT,124. Barcode VARCHAR (30),125. ReservationDate DATE NOT NULL,126. PRIMARY KEY (UserID, Barcode),127. FOREIGN KEY (UserID) REFERENCES USERS(UserID),128. FOREIGN KEY (Barcode) REFERENCES LIBRARYS_COLLECTIONS(Barcode)

129. ); 130.131. -- 13. Creating the table BORROWS 132. CREATE TABLE BORROWS (133. UserID INT,134. Barcode VARCHAR (30),135. PRIMARY KEY (UserID, Barcode),136. FOREIGN KEY (UserID) REFERENCES USERS(UserID), 137. FOREIGN KEY (Barcode) REFERENCES LIBRARYS_COLLECTIONS(Barcode)

138. ); 139.140. -- Inserting Data into the tables141. -- 1. Inserting data into the LIBRARY_DIRECTOR table142. INSERT INTO LIBRARY_DIRECTOR VALUES ( '1520', 'Dr. Mariam Gard', '8

a.m.- 5 p.m.'); 143.144. -- Checking inserted data145. SELECT * FROM LIBRARY_DIRECTOR; 146.147. -- 2. Inserting data into the LIBRARYS_COLLECTIONS table

32

Page 33: Library’s Database Design Project for Dar Al-Hekma University

148. INSERT INTO LIBRARYS_COLLECTIONS VALUES ('T0088801', '0810965380','Câezanne To Van Gogh','Metropolitan Museum of Art','1999','Print','Main Library','Monograph','Arts',Null,Null),

149. ('T04444510', '9780415781565','Environmental Anthropology','Routledge','2011','Print','Main Library','Monograph','Human Ecology','ANTH1301',Null),

150. ('T0051006', '0760049041', 'Today Database systems: design, implementation, and management','Cambridge','1997','Print','Main Library','Monograph','Database Systems','MIS4301',Null),

151. ('T0998149', '0073215538', 'Anatomy & physiology revealed','McGraw-Hill Higher Education','2007','Computer File','Main Library','Audio Visuals','Anatomy','BIOL1301',Null),

152. ('T09999284', '0722532938', 'The Alchemist','HarperCollins','1993','Print','Main Library','Monograph','Self-realization',Null,'Fiction'),

153. ('T0987693', '0586210091', 'Marquis de Sade : a biography','Flamingo','1993','Print', 'Technical Library','Monograph','8th century-Biography',Null,'Non-fiction'),

154. ('T00331', '007112411X', 'Gilbert''s living with art', 'McGraw-Hill','2002','Print', 'Technical Library','Text Book','Art appreciation','Arts1301',Null);

155. -- Checking inserted data

156. SELECT * FROM LIBRARYS_COLLECTIONS;157.158. -- 3. Inserting data into the COLLECTION_AUTHOR table 159. INSERT INTO COLLECTION_AUTHOR VALUES('T0088801','Distel, Anne'), 160.

('T0088801','Stein, Susan Alyson'),161.

('T0088801','Musâee d''Orsay'), 162.

('T04444510','Kopnina, Helen'),163.

('T04444510','Shoreman-Ouimet, Eleanor'), 164.

('T0051006','Rob, Peter'), 165.

('T0051006','Coronel, Carlos'), 166.

('T0998149','Schneider, R. E.'), 167.

('T09999284','Paulo Coelho'), 168. ('T00331',

'Getlein, Mark'), 169.

('T0987693','Goldhammer, Arthur'), 170.

('T0987693','Lever, Maurice'); 171. -- Checking inserted data

172. SELECT * FROM COLLECTION_AUTHOR;173.

33

Page 34: Library’s Database Design Project for Dar Al-Hekma University

174. -- 4. Inserting data into the COLLECTION_LANGUAGE table 175. INSERT INTO COLLECTION_LANGUAGE VALUES( 'T0088801','English'), 176.

('T04444510','English'), 177.

('T0051006','English'), 178.

('T0998149','English'), 179.

('T09999284','English'),180.

('T09999284','Portuguese'),181.

('T00331','English'), 182.

('T0987693','English'), 183.

('T0987693', 'French'); 184. -- Checking inserted data

185. SELECT * FROM COLLECTION_LANGUAGE;186.187. -- 5. Inserting data into the COLLECTION_SHELFMARK table 188. INSERT INTO COLLECTION_SHELFMARK VALUES('T0088801','709.3 DIS

c.1'), 189.

('T0088801','709.03 DIS c.2'),190.

('T04444510','304.2 ENV'),191.

('T0051006','005.74 ROB'), 192.

('T0998149','REF 612 ANA v.1'),193.

('T09999284','869.3 COE'),194.

('T00331','TEX 701.1 GET 2002 c.1'),195.

('T0987693','FR 843.6 LEV');196. -- Checking inserted data

197. SELECT * FROM COLLECTION_SHELFMARK;198.199. -- 6. Inserting data into the LIBRARIAN table 200. INSERT INTO LIBRARIAN VALUES ('1325', 'Ms. Ebtisam Ali', '8 a.m.- 3

p.m.', 'Technical', '1520'),201. ('1715', 'Ms. Weaam

Almuzain', '9 a.m. – 4 p.m.', 'General','1520'),202. ('1025', 'Ms. Abeer

Noman','8 a.m.- 3 p.m.', 'Technical', '1520'), 203. ('1925','Ms. Hanan Al

Sayegh', '8 a.m.- 3 p.m.','Technical', '1520'),204. ('1825', 'Ms. Haya

Shoaib', '9 a.m. – 4 p.m.', 'General', '1520'); 205. -- Checking inserted data

206. SELECT * FROM LIBRARIAN;207.

34

Page 35: Library’s Database Design Project for Dar Al-Hekma University

208. -- 7. Inserting data into the USERS table 209. INSERT INTO USERS VALUES ('1220042', 'Nemah Alsayed','DAHMember',

'Student', NULL), 210. ('1220081', 'Ferdous

Mohammed','DAHMember', 'Student', NULL), 211. ('1120064', 'Shaikha

Khyat','DAHMember', 'Student', NULL), 212. ('1719', 'Ms. Sarah

Swick','DAHMember', 'Faculty', NULL), 213. ('1310025', 'Safia

Bawazeer','DAHMember', 'Student', NULL), 214. ('1224893', 'Lana Ahmed',

'DAHMember','Student', NULL), 215. ('1210027', 'Noor Alsayed',

'Visitor', NULL, 'Active'), 216. ('1023369','Maha Algamdi',

'Visitor', NULL,'Suspended');217. -- Checking inserted data

218. SELECT * FROM USERS;219.220. -- 8. Inserting data into the LOAN table221. INSERT INTO LOAN VALUES ('103674', '2016/3/3', '2016/3/17', 'On

hold', 'T0051006', '1715', '1220042'),222. ('103886', '2016/4/20','2016/5/4',

'Return', 'T0998149', '1825', '1120064'), 223. ('109648', '2016/4/27',

'2016/5/16', 'Borrow', 'T0088801', '1825', '1210027'), 224. ('108244', '2016/1/18',

'2016/2/3', 'On hold', 'T04444510', '1715', '1719'), 225. ('102589', '2016/2/10',

'2016/3/14', 'Return', 'T00331', '1825', '1310025'),226. ('156897', '2016/4/26',

'2016/5/12', 'Borrow', 'T0987693', '1825', '1224893'),227. ('103688', '2016/4/15',

'2016/4/29', 'Borrow', 'T00331', '1715', '1719'), 228. ('103676', '2016/4/15',

'2016/5/5', 'Borrow', 'T0051006', '1715', '1220081');229. -- Checking inserted data

230. SELECT * FROM LOAN; 231.232. -- 9. Inserting data into the FINE table233. INSERT INTO FINE VALUES ('103666', '2016/3/20', '20', 'Overdue',

'103674', 'T0051006', '1220042'),234. ('122364', '2016/5/4', '375',

'Damaged', '103886','T0998149', '1120064'), 235. ('102369', '2016/2/3', '350',

'Lost', '108244', 'T04444510','1719'), 236. ('103688', '2016/3/6', '100',

'Overdue', '102589', 'T00331','1310025'); 237.238. -- Checking inserted data

239. SELECT * FROM FINE;240.241. -- 10. Inserting data into the MANAGES table242. INSERT INTO MANAGES VALUES ( '1715', 'T0998149'),

35

Page 36: Library’s Database Design Project for Dar Al-Hekma University

243. ( '1825', 'T09999284');244. -- Checking inserted data

245. SELECT * FROM MANAGES;246.247. -- 11. Inserting data into the SEARCHES table248. INSERT INTO SEARCHES VALUES ('1220042', 'T0051006'), 249. ('1023369', 'T04444510'); 250.251. -- Checking inserted data

252. SELECT * FROM SEARCHES;253.254. -- 12. Inserting data into the RESERVES table 255. INSERT INTO RESERVES VALUES ('1023369', 'T0088801', '2016/4/29'), 256. ('1224893', 'T04444510',

'2016/4/30'); 257.258. -- Checking inserted data

259. SELECT * FROM RESERVES;260.261. -- 13. Inserting data into the BORROWS table 262. INSERT INTO BORROWS VALUES ('1220081', 'T0051006'), 263. ('1120064', 'T0998149'); 264.265. -- Checking inserted data

266. SELECT * FROM BORROWS;267.268. -- Adding more data needed to test queries 269. INSERT INTO LIBRARYS_COLLECTIONS VALUES ('T0999718' , '0631233172',

'The Blackwell encyclopedia of management', 'Blackwell Pub', '2005', 'Print', 'Main Library', 'Encyclopedia', 'Management', 'BMGT1301', NULL),

270.('T0897786', '0852853149', 'Hugo Japanese in three months', 'Dorling

Kindersley', '2003', 'Print', 'Main Library', 'Monograph', 'Japanese Language', NULL, 'Non-fiction'),

271.('T09988177', '0089353149', 'Cross-cultural communication: how

culture affects communication', 'Insight Media', '2005', 'DVD', 'Main Library', 'Audio Visuals', 'Communication and Culture', 'MGMT4319', NULL),

272.('T0000522', '0946621608', 'Freedom of expression in Islam', 'Islamic

Texts Society', '1997', 'Print', 'Main Library', 'Monograph', 'Religion of Islam', NULL, NULL),

273.('T09999940', '0978128396', 'Arabic for dummies', 'Wiley', '2006',

'Print', 'Main Library', 'Monograph', 'Arabic Language', NULL, NULL), 274.

('T0000164', '0070158282', 'Management information systems', 'McGraw-Hill', '1985', 'Print', 'Main Library', 'Text Book', 'Information Systems', 'MIS1301', NULL),

275.('T0005285', '0781719240', 'Research Methodology', 'Lippincott',

'1999', 'Print', 'Main Library', 'Monograph', 'Research', 'BBUS3303', NULL),

36

Page 37: Library’s Database Design Project for Dar Al-Hekma University

276.('T0050612', '0070602662', 'College Algebra', 'McGraw-Hill', '1998',

'Print', 'Main library', 'Text Book', 'Algebra problems', 'BBUS4301', NULL),

277.('T028356', '9781447145424', 'A Guide to Computer Network Security',

'Springer', '2012', 'Print', 'Main Library', 'Monograph', 'Computer Network', 'MIS3301', NULL);

278.279. INSERT INTO COLLECTION_LANGUAGE VALUES('T0999718', 'English'),280.

('T0897786', 'English'),281.

('T0897786', 'Japanese'),282.

('T09988177', 'English'),283.

('T0000522', 'English'),284.

('T09999940', 'English'),285.

('T0000164', 'English'), 286.

('T0005285', 'English'), 287.

('T0050612', 'English'),288.

('T028356', 'English'); 289.290. INSERT INTO COLLECTION_SHELFMARK VALUES ('T0999718', 'REF 658.003 BLA

v.1'), 291.

('T0897786', '495.683421'), 292.

('T09988177', 'REF 303.482 CRO c.1'),293.

('T0000522', '297.272 KAM'),294.

('T09999940', '492.7824 BOU'),295.

('T0000164', '658.4038 DAV'),296.

('T0005285', '610.73072 REA c.1'),297.

('T0050612', '512.9076 SPI'), 298.

('T028356', '005.8 KIZ'); 299.300. INSERT INTO COLLECTION_AUTHOR VALUES('T0999718', 'Cooper, Cary L.'), 301. ('T0999718',

'Argyris, Chris'), 302. ('T0999718',

'Starbuck, William H.'), 303. ('T0897786',

'Breen, John'), 304.

('T09988177', 'Odyssey Productions'),

37

Page 38: Library’s Database Design Project for Dar Al-Hekma University

305. ('T0000522', 'Kamali, Mohammad Hashim'),

306.('T09999940', 'Bouchentouf, Amine'),

307. ('T0000164', 'Davis, Gordon Bitter'),

308. ('T0000164', 'Olson, Margrethe H.'),

309. ('T0005285', 'Downs,Florence S.'),

310. ('T0050612', 'Spiegel, Murray R.'),

311. ('T0050612', 'Moyer, Robert E.'),

312. ('T028356', 'Kizza, Joseph Migga');

313.314. INSERT INTO LOAN VALUES ('109649', '2016/5/29', '2016/6/14',

'Borrow', 'T028356', '1825', '1210027'),315. ('109650', '2016/4/3',

'2016/4/17', 'Borrow', 'T0050612', '1715', '1210027'),316. ('109651', '2016/3/3',

'2016/4/17', 'Borrow', 'T0005285', '1825', '1210027'),317. ('109652', '2016/2/3',

'2016/2/17', 'Borrow', 'T0000164', '1715', '1210027'),318. ('109653', '2016/2/3',

'2016/2/17', 'Borrow', 'T09999940', '1825', '1210027'),319. ('109654', '2016/4/3',

'2016/4/17', 'Borrow', 'T0000522', '1825', '1210027'),320. ('109655', '2016/5/29',

'2016/6/14', 'Borrow', 'T09988177', '1715', '1210027');321.322. INSERT INTO BORROWS VALUES ('1210027','T028356'),323. ('1210027','T0050612'),324. ('1210027', 'T0005285'),325. ('1210027', 'T0000164'),326. ('1210027', 'T09999940'),327. ('1210027', 'T0000522'),328. ('1210027', 'T09988177'), 329. ('1210027', 'T0088801'), 330. ('1719', 'T04444510'), 331. ('1310025', 'T00331'),332. ('1224893','T0987693'),333. ('1719', 'T00331'); 334.335. -- Functional Requirements and Queries 336. -- 1. Show all information about the users who borrowed books in a

given month. 337. -- Writing the query, example of given month is April 338. SELECT *339. FROM USERS AS U JOIN LOAN AS L340. ON U.UserID = L.UserID341. WHERE L.DATE BETWEEN '2016-04-01' AND '2016-04-30' AND

L.Transactions='Borrow'342.343. -- 2. Show all the loans which should be returned today (date on the

system) with user’s information. 344. -- Writing the query

38

Page 39: Library’s Database Design Project for Dar Al-Hekma University

345. SELECT cast (GETDATE() as DATE) AS Today, * FROM USERS346. AS U JOIN LOAN AS L ON U.UserID = L.UserID347. WHERE L.Due = cast (GETDATE() as DATE ) AND L.Transactions='Borrow'348.349. /* Explanation: In order to compare the due date column in the LOAN

table, the date should be in the format of yyyy/mm/dd,350. while the GETDATE function returns date with time in yyyy/mm/dd

hh:mi:ss:mmm format 351. that's why we casted it into DATE which is in the format of

yyyy/mm/dd. 352. Cast documentation

https://msdn.microsoft.com/en-us/library/ms187928.aspx */ 353.354. -- 3. Provide information about a selected item. 355. -- By creating a procedure that takes barcode as a parameter and

provides information about the selected item/barcode356. -- Provides information from 4 tables as joins 357. -- Writing the query 358. CREATE PROCEDURE ProvideCollectionInfo359. @varBarcode VARCHAR(30)360. AS361. SET NOCOUNT ON;362. SELECT L.Barcode, L.ISBN, L.Title, L.Publisher,

L.PublishingDate, L.Form, L.Location, L.ReadingsType, 363. L.Area, L.Course, L.ReadingsType, A.Author, LA.Language,

S.Shelfmark364. FROM LIBRARYS_COLLECTIONS AS L INNER JOIN

COLLECTION_AUTHOR AS A 365. ON L.Barcode = A.Barcode366. INNER JOIN COLLECTION_LANGUAGE AS LA 367. ON A.Barcode = LA.Barcode368. INNER JOIN COLLECTION_SHELFMARK AS S 369. ON LA.Barcode = S.Barcode370. WHERE L.Barcode =@varBarcode AND A.Barcode =@varBarcode

AND LA.Barcode =@varBarcode AND S.Barcode =@varBarcode371. 372. -- Testing the procedure by excuting it 373. EXEC dbo.ProvideCollectionInfo 'T028356'; 374.375. -- 4. Show the library's collections which are on loan, including

barcode, title, UserID who borrowed it and when is loan due. 376. --By creating a view to show the library's collections which are on

loan, including barcode, title, UserID who borrowed it and when is loan due 377. -- Creating the view 378. CREATE VIEW CollectionsOnLoan 379. AS 380. SELECT L.Barcode, L.Title, LO.UserID, LO.Due381. FROM LIBRARYS_COLLECTIONS AS L JOIN LOAN AS LO382. ON L.Barcode = LO.Barcode;383. -- Test 384. SELECT * FROM CollectionsOnLoan; 385.386. --5. Count the number of loans for each user.387. -- By creating a procedure that counts the number of loans for each

user by providing user ID as a parameter 388. -- Creating the procedure 389. CREATE FUNCTION countUsersLoans (@varUID INT) 390. RETURNS INT

39

Page 40: Library’s Database Design Project for Dar Al-Hekma University

391. AS392. BEGIN393. RETURN (394. SELECT COUNT(*) 395. FROM LOAN 396. WHERE UserID=@varUID397. )398. END;399. 400. -- Test 401. SELECT dbo.countUsersLoans('1210027') AS NumberofLoans;402. SELECT dbo.countUsersLoans('1719')AS NumberofLoans;403.404. -- 6. List each user name, type, fineID, and amount for a given

UserID. 405. -- By creating a procedure that list each user name, type, fineID,

and amount by providing her ID as a parameter406. -- Creating the procedure407. CREATE PROCEDURE pUserFine 408. @varUID INT409. AS410. SET NOCOUNT ON;411. SELECT U.UserName, U.UserType, F.FineID, F.Amount 412. FROM USERS AS U JOIN FINE AS F ON U.UserID=F.UserID413. WHERE U.UserID = @varUID;414.415. -- Executing the procedure416. EXEC pUserFine '1719';417.418. -- 7. Whenever a user of type visitor is inserted, show a message

asking for deposit receipt to activate their subscription. 419. -- By creating a trigger on users table, which print the message upon

inserting usertype visitor. 420. -- Creating the trigger 421. CREATE TRIGGER Subscription 422. ON USERS423. AFTER INSERT 424. AS425. BEGIN426. SELECT 'Please submit a receipt of your deposit from

accounting to activate your subscription' AS ActivateSubscription427. FROM inserted428. WHERE UserType ='Visitor' AND Subscription IS NOT NULL;429. END; 430. 431. -- Test 432. INSERT INTO USERS VALUES ('1023390','Maha Algamdi', 'Visitor',

NULL,'Suspended'); 433. DELETE FROM USERS WHERE UserID='1023390'; 434. DROP TRIGGER Subscription; 435.436. --8. Show the number of users served a librarian by using

LibarianID437. -- By Retrieve the number of users served by librarian Ms. Weaam

Almuzain, using her LibarianID 1715438. SELECT COUNT(DISTINCT UserID) AS Numberofusers439. FROM LOAN440. WHERE LibrarianID= '1715';

40

Page 41: Library’s Database Design Project for Dar Al-Hekma University

441.442. -- 9. If a user has fine amount more than 50 SR will show a message

to be suspended their privileges when their information is inserted. 443. -- By create a trigger that upon insertion in Fine table, if user has

a fine amount more than 50 SR it will show the message 444. -- Creating the trigger 445. CREATE TRIGGER trFineAmount 446. ON FINE 447. AFTER INSERT 448. AS449. BEGIN450. SELECT 'User''s privileges to be suspended because fines are

over 50 SR'451. FROM inserted 452. WHERE Amount > 50453. END;454.455. -- Test 456. INSERT INTO FINE VALUES ('103667', '2016/3/20', '20', 'Overdue',

'103674', 'T0051006', '1220042');457. INSERT INTO FINE VALUES ('122368', '2016/5/4', '375', 'Damaged',

'103886','T0998149', '1120064'); 458.459. DELETE FROM FINE WHERE FineID ='103667' ;460. DELETE FROM FINE WHERE FineID ='122368'; 461.462. --Creating indexes463. --Create non clustered index on User table464. CREATE INDEX IX_USERS_USERName465. ON USERS (USERName);466.467. --Create non clustered index on Loan table468. CREATE INDEX IX_LOAN_Due469. ON LOAN (Due);470.471. --Create non clustered on Library collections table472. CREATE INDEX IX_LIBRARYS_COLLECTIONS473. ON LIBRARYS_COLLECTIONS(Tittle);474.475. --Create non clustered index on collection shelfmark table476. CREATE INDEX IX_COLLECTION_SHELFMARK477. ON COLLECTION_SHELFMARK(Shelfmark);478.479. -- Justifications for using indexes are in the report file. 480. -- End of the Project

4.2 Justification of Using Indexes

(Hoffer, Ramesh & Topi, 2016) Indexes are used to improve the efficiency of retrieval of records, non-clustered indexes were used to help speed up access to the records, and they are secondary and not unique. Some attributes are frequently used to search besides primary keys such as users’ names, loans dues, collection’s title, and shelf mark. We specifically chose these

41

Page 42: Library’s Database Design Project for Dar Al-Hekma University

tables as they have more rows as indexes are more useful on larger tables. Thus without the use of non-clustered index accessing them will take longer.

Chapter 5: Conclusion

This project was part of database management course requirements, where we took the role of database designers to serve a real business. The duration of the project was one semester, in which we had to do the analysis, design, and implementation of database for DAH’s library. We were able to complete the design using SQL server according to our scope and mapped schema. Projects’ success or failure is based on two criteria, budget and time. While these project is within budget, we were able to finish it on time. However, time management was challenging as we were overloaded. We learned how to work under pressure, communicate with customers, and think critically to analyse life situations into computerized solutions. Moreover, it improved our team work and coordination. Besides time management, some of the challenges we faced were in writing the functional and non-functional requirements, we had to do extensive research and brain storming. In the future, we would like to add more features that further supports the library policies, such as limiting visitors of borrowing other reference types beside books by implementing controls on the database. Also, a procedure that retrieves all the items on the same shelf as the selected item. Last, we would like to make the design more comprehensive by adding separate tables for publishers’ and authors’ contacts information, and technical library’s operations.

42

Page 43: Library’s Database Design Project for Dar Al-Hekma University

Appendix A

References:

About Effat University library | Effat University Library. (2013). Retrieved May 1, 2016, from http://library.effatuniversity.edu.sa/?q=content/about-effat-university-library

Batterjee Medical College - BMC. (2015). Retrieved May 1, 2016, from http://www.bmc.edu.sa/

Dar Al-Hekma Annual Report 2013-2014. (2014). Retrieved May 1, 2016, from http://www.dah.edu.sa/Lists/TimelineArchive/Attachments/15/13-14 screen- evrsion.pdf

Data Crow - Cataloger. (2014). Retrieved May 01, 2016, from

http://www.datacrow.net/

De, P., & Sen, A. (1984). A New Methodology for Database Requirements Analysis. MIS Quarterly, 8(3), 179-193.

Doorn, J. H., & Rivero, L. C. (2002). Database integrity: Challenges and solutions. Hershey, PA: Idea Group.

GCstar - Home. (2012). Retrieved May 01, 2016, from http://www.gcstar.org/

Hoffer, J. A., Prescott, M. B., & McFadden, F. R. (2002). Modern database management. Upper Saddle River, NJ: Prentice Hall.

43

Page 44: Library’s Database Design Project for Dar Al-Hekma University

Hoffer, J. A., Ramesh, V., & Topi, H. (2016). Modern database management. London: Pearson Education Limited.

KDE - Tellico - Collection Manager. (n.d.). Retrieved May 01, 2016, from https://www.kde.org/applications/office/tellico/

UBT Library: About the Library. (2015). Retrieved May 01, 2016, from http://www.ubt.edu.sa/Library/About-the-Library

Vieira, R. (2009). Beginning Microsoft SQL Server 2008 Programming. Indianapolis, IN: Wrox.

44

Page 45: Library’s Database Design Project for Dar Al-Hekma University

Appendix B

Interview Questions

1. Background information about the library.2. Similar libraries in the field. E.g. Effat university library. 3. Library’s mission and vision if any.4. Organizational Chart.5. Who works in the library and what are their positions? E.g. senior librarian,

manager…. 6. Who are the users of the library? E.g. students and staff….7. What’s inside the library, for example data we can record like books, journals,

hardware…..8. What activities the user can do in the library? E.g. borrowing, browsing, printing. 9. What applications and systems the librarian uses?10. Automated and manual activities from previous question. 11. Can non-students or alumni borrow books from Dar Al-Hekma library?12. When a student borrow a book, what information do you record in the system?13. Talk about printing/scanning rules. 14. How many users/borrowers do you have? 15. What are the library subscriptions? Like Ebsco.16. Information of each subscription like duration for example. 17. How does the library purchase books, for example the librarian purchase them?18. How the data is stored currently in the library? In a database, excel….19. What are the rules of the library? e.g. students can’t borrow if they have fees to pay 20. Do you have an instructions or manual for staff to use?21. Can you show us some of the documents you use to store information about library’s

performance or activities?22. Are you satisfied with your database performance/ do you face any problems? 23. Who can access the library database? And who maintains it?24. What are the most important functions you think the database should provide?

45

Page 46: Library’s Database Design Project for Dar Al-Hekma University

Appendix C

Library Forms

46