=Paper= {{Paper |id=None |storemode=property |title=Data Model for Consortial Circulation in Libraries |pdfUrl=https://ceur-ws.org/Vol-920/p35-tesendic.pdf |volume=Vol-920 |dblpUrl=https://dblp.org/rec/conf/bci/Tesendic12 }} ==Data Model for Consortial Circulation in Libraries== https://ceur-ws.org/Vol-920/p35-tesendic.pdf
             Data Model for Consortial Circulation in Libraries
                                                                   Danijela Tešendić
                                                    Faculty of Sciences, University of Novi Sad
                                                   Trg Dositeja Obradovića 4, Novi Sad, Serbia
                                                                 +381214852873
                                                                 tesendic@uns.ac.rs

ABSTRACT
This paper deals with a data model of a software system used to
                                                                                       2. LIBRARY CIRCULATION
                                                                                       Library circulation includes all activities associated with
manage library patrons. This system is known as a circulation
                                                                                       management of library users such as recording user data, charging
system and is usually developed within a library management
                                                                                       and discharging library items. In order to improve library
system. The paper discusses functionalities of a circulation system
                                                                                       performance, a large number of research papers in this field
that allows circulation at the level of library consortium. Based on
                                                                                       describe various aspects of circulation and some directions for
these functionalities, a data model is made that contains all
                                                                                       further development of electronic support for the process of
necessary data for managing library users, both local users and
                                                                                       circulation. Internet-oriented services provided to users and
users from other libraries within the consortium. The presented
                                                                                       internet-oriented communication and data sharing between
model was used in the development of one particular circulation
                                                                                       libraries represents a major direction in which research is headed.
system, but consideration of the following can be useful in the
                                                                                       The experiences presented in papers [2] and [4] show that the
development of any other circulation system as well.
                                                                                       electronic services that libraries provide to users allow more
Categories and Subject Descriptors                                                     efficient use of either the printed or electronic library collection.
H.2.1 [Database Management]: Logical Design – Data models                              In paper [3] several of those services are described and how they
                                                                                       improve the library business.
General Terms                                                                          The most of the software system for circulation is commercial and
Design                                                                                 it is not publicly accessible for downloading. What is possible is
                                                                                       to download the accessible instructions for the users and, based on
Keywords                                                                               their contents, to analyze the software functionalities. The
Library management system, consortial circulation, circulation                         systems enable standard activities related to the work with the
system functionality, UML                                                              users such as charging and discharging, membership fee renewal,
                                                                                       printing lending form and receipt, searching users and
1. INTRODUCTION                                                                        publications as well as generating statistical reports. Some of
Besides storing and recording a library collection, one of the main                    them include the support for UNICODE, bar code and RFID
activities of each library is to provide that collection to library                    technology, printing and sending reminders to the users for the
users. Its business affairs as related to its users are circulation,                   exceed of loan period and publication reservation. Client
both within the local collection and the library consortium, and                       applications of the systems are implemented either as Windows
interlibrary loans. There are a number of library management                           applications only supported by the Windows operating systems or
systems that support these processes. On the Library of Congress                       as web applications.
website for MARC standards there is a section with an overview
                                                                                       A library consortium is an association of libraries in a particular
of library software packages [5]. Some of those software packages
                                                                                       area that work together towards improvement of services for its
which support circulation are ALEPH 500, Voyager, Atriuum,
                                                                                       patrons. One of the activities at the consortium level is consortial
Polaris Library Systems, SirsiDynix Symphony, Evergreen
                                                                                       circulation. The consortial circulation is a process in which users
Integrated Library System and Koha.
                                                                                       of one library are allowed to borrow books from other libraries
This paper discusses the functionalities of a software system for                      which are members of the consortium. Member libraries of the
circulation of a library collection with emphasis on the circulation                   consortium set up rules for the usage of library collections. Good
within a library consortium. According to these functionalities, a                     examples for library consortiums are public libraries that are
data model is made that contains all necessary data for managing                       composed of several libraries in a city area or university libraries
library users, both local users and users from other libraries within                  within a university. To enable this activity, it is necessary to
the consortium. Data model and functionalities are presented                           provide software support for the circulation of library collections
using UML notation. The results presented in this paper were                           at the consortium level. In other words it is necessary to enable
used in the implementation of the library management system                            user data exchange between libraries within a consortium. The
BISIS [1] which is deployed and used in a number of university                         library where a user belongs to and/or pays fees represents his
and city libraries throughout Serbia. The results presented could                      home library. When a user goes to a library which is not their
be useful to anyone who is involved in the development of library                      home library, it is necessary to provide access to data about that
management systems.                                                                    user which is located in their home library. This access is needed,
                                                                                       for example, to check whether the user has the privilege to borrow
BCI’12, September 16–20, 2012, Novi Sad, Serbia.                                       books. Also, when the user borrows the book in one library, this
Copyright © 2012 by the paper’s authors. Copying permitted only for private and        information should be available to other libraries in the
academic purposes. This volume is published and copyrighted by its editors.            consortium. Communication and data exchange among libraries
Local Proceedings also appeared in ISBN 978-86-7031-200-5, Faculty of Sciences,
University of Novi Sad.
                                                                                       are defined by standardized NCIP (NISO Circulation Interchange


                                                                                  35
Protocol) protocol for exchange data about library users. The                                           Librarian                             Hom e library
protocol is public and can be downloaded from the official
website of the protocol [6]. Besides its definition the site offers
additional documentation that can be useful for understanding the
protocol, news from the area of its development and use, as well                Entering user num ber               Choosing library
as information about implementation of the protocol by various
software vendors.

3. FUNCTIONALITIES OF CIRCULATION                                                                 [Local user]
SYSTEM
In paper [7] modelling and implementation of a system that                                                                  [Rem ote user]

allows circulation for local library users are described.
Functionalities of the system are shown and described using a use
                                                                                                                 Connecting to home library
case diagram. The diagram shows actions a librarian carries out                    Finding local user

on a daily basis when serving users. These include registering
new users, extending user fees, checking out and retrieving books                                                                             Finding user
and searching users and the library collection. In order to provide
service for users who come from other libraries within a
consortium, it is necessary to provide functionalities for
searching, charging and discharging. Those functionalities now
must include communication with systems of other libraries in                                      Accepting user data
order to exchange user data. Further in the text these
functionalities are explained in detail using activity diagrams with
the aim to observe differences in the operation of the system in
the case of local users and in the case of users from other
libraries. Based on these functionalities a data model is created                   Figure 1: Activity diagram for finding user data.
and described in the next section.
                                                                            the publication’s item ID. Charging by searching the library
The activity diagram in Figure 1 shows the functionality for                collection is represented by the activity Searching publications
finding data about users, whether the data is from a user in the            and Finding publication. During the collection search the librarian
local system or from a user in the library consortium. The                  selects from the search results the item ID of the publication
diagram clearly shows differences in the operation of the system            which is then checked out to the user. Charging of selected
in the case of two types of users. Activities Entering user number          publications is presented with the activity Checking out
and Choosing library represents input of user identification                publication. Depending on whether it is charging the local user or
number and choice of the library which a user belongs to. Based             charging the user from any other library, one of two workflows is
on this information data about the user can be found. Depending             performed. In the case of charging a local user, data about
on what was chosen upon choice of library, whether the user is a            charging is stored in the local system, which is represented with
local user or a user from another library, one of two workflows is          the activity Storing data about charging. In the case of charging a
performed. In the case of a local user, data about the user is found        user from another library, data is stored in the system of that
in the local system which is represented with Finding local user            library and that is presented with the activities Connecting to
activity. If the case in point is another library in the consortium         home library and Storing data about charging. This approach
the application accesses the system of that library and finds the           ensures that the user’s charging data from any library is stored in
user’s data. This is represented with the activities Connecting to          the one place from where they are available to all libraries in the
home library and Finding user. After finding the user whether in            consortium. Besides that a portion of the data about the user and
the local system or in the system of another library, the user data         their charges are placed in the local system for the purpose of
is returned to the application for further processing which                 registering the charges of publications within the collection,
represents the activity Accepting user data. In the case of local           which is represented with the activity Storing data about charging
user data a librarian is allowed to modify this data and save the           remote user.
changes made. But in the case of users from other libraries the
                                                                            One of the exceptions of the described functionalities can be
librarian does not have the ability to change the data.
                                                                            unavailable network connection to user’s home library. In that
The activity diagram in Figure 2 shows the functionality of                 case there are two solutions. One solution is to not allow charging
charging the user. The differences among charging local users and           of the user, which is bad solution from the viewpoint of the
charging users from other libraries can be seen on the diagram.             library users. Other solution is to allow charging and store data
Functionalities of the renewals and discharging do not differ               only in local system and, after connection is restored, store data in
essentially from the functionality of charging and are therefore            user’s home library too. This solution is bad for libraries because,
left out from the paper. It is assumed that discharging is done in          in the moment of charging, there is no way to check user’s data
the same library as charging. Charging, which is represented with           and all responsibility concerning correctness of user’s data is on
the activity Charging, can be done in two different ways: by                librarian. This approach is very error prone and because of that
entering the publication’s Item ID or by searching the library              libraries should decide which solution they are going to use.
collection. Depending on the choice one of the workflows is                 Detail description of these solutions is omitted from the paper
performed. The activity Entering Item ID represents entering of             because it has no impact on data model.



                                                                       36
                                 Librarian                                      Home library                         Library
                                                                                                             +   nam e     : String                               Location
               Charging                                                                                                               1..1
                                                                                                             +   address   : String                  + nam e        : String
                                                                                                             +   city      : String           0..*   + last_user_id : int
                                  [Searching]                                                                +   zip       : String
                                                                                                             +   email     : String                             1..1      0..1       0..1
           [Entering number]
                                                                                                             +   phone     : String
                                             Searching publicatons


         Entering item ID number
                                                                                                                                                         0..*      0..*       0..*
                                                Finding publication
                                                                                                                                                                   Lending
                                                                                                                      Record          0..1           +    item _id               : String
                                                                                                                 + record : String           1..1    +    charg_date             : Date
                                                                                                                                                     +    discharg_date          : Date
      Checking out publication
                                                                                                                                                     +    renew_date             : Date
                                                                                                                                                     +    due_date               : Date
                        [Remote user]
                                             Connecting to home library                                                                                          0..*     0..*       0..*

       [Local user]
                                                                          Storing data about charging                                                    0..1      0..1    0..1

  Storing data about charging local user
                                                                                                                                                                    Librarian

                               Storing data about charging remote user                                                                                     +    username       : String
                                                                                                                                                           +    password       : String
                                                                                                                                                           +    first_nam e    : String
                                                                                                                                                           +    last_nam e     : String
                                                                                                                                                           +    address        : String
                                                                                                                                                           +    city           : String
                                                                                                                                                           +    zip            : String
            Figure 2: Activity diagram for charging users.                                                                                                 +    phone          : String
                                                                                                                                                           +    email          : String
4. DATA MODEL OF CIRCULATION                                                                                                                               +    adm in         : int

SYSTEM                                                                                                           Figure 3: Data model extension that allows storing user
Based on the described functionalities a data model was created                                                               charges from other libraries.
for the circulation system. This model is designed according to
                                                                                                             where the publication was charged, the loan period and the
the requirements and set of data used in the library management
                                                                                                             librarian’s name who charged the publication. Information about
system BISIS. It includes data required for both circulation within
                                                                                                             the date and the librarian also exist for renewals and retrievals of
the local library collection and circulation within the library
                                                                                                             publications. It is assumed that renewal and retrieval is done on
consortium. This model as well as the following considerations
                                                                                                             the same location as charging of publication.
presented in this section can serve as the basis for the
development of any circulation system and may be useful to                                                   In the previous section, the activity diagram in Figure 2 shows the
anyone who deals with circulation systems. Moreover, with fewer                                              functionality of the charging users. When it comes to charging
modifications and adjustments according to needs of particular                                               local users the previous described model satisfies all requirements
library this model could be implemented within any circulation                                               for carrying out this activity. Only change which is done is
system. For example, libraries can have different sets of user’s                                             possibility to have different locations for charging, discharging
data which they store.                                                                                       and renewal of publication. To enable charging users from other
                                                                                                             libraries in the consortium the previously described model
Paper [7] shows the class diagram of the data model for the
                                                                                                             requires some extensions. The activity diagram shows that while
circulation system. This data model meets all system requirements
                                                                                                             the user charges from other libraries, data about charging is
related to managing local library users. Within the model there is
                                                                                                             placed within the system of the library that the user belongs to. In
a class that describes the user data which is stored in the system
                                                                                                             this way the data is organized within a consortium so that all
(Users), a class that describes the data about user’s membership in
                                                                                                             information about a user is stored in one place from where it is
the library (Registering), and the class that describes the data
                                                                                                             available for other libraries in the consortium. To make this
about user’s charges (Lending). In addition to these there are
                                                                                                             happen it is necessary to resolve several tasks related to this data
classes that represent the coders from which the values are taken.
                                                                                                             model.
As previously mentioned the set of data shown in the model is
adjusted to the system BISIS and the libraries that use it.                                                  As already mentioned in the current model an item ID number,
                                                                                                             location, date and librarian are stored for each charge. The first
With regard to checked out publications the model stores only its
                                                                                                             task is related to the item ID number. In a system that stores data
item IDs within the user’s charging data. Since the item ID
                                                                                                             about charging (the system of the library that the user belongs to)
number uniquely identifies a publication, other data about this
                                                                                                             there is no information that ties the bibliographic record to the
publication can also be found. Data about publications is stored in
                                                                                                             item ID number. In other words the publication is not identified,
the form of bibliographic records that are located in another part
                                                                                                             because that information is in the system of the library where the
of the system. Besides the item ID number within the user’s
                                                                                                             charging is done. Moreover, that item ID number could be
charging data there is also the date and location within the library
                                                                                                             assigned to any publication that belongs to that system. This



                                                                                                        37
            Library                                                                                 home library, but rather stored in the system of the library which
     +   name        : String                                      Location                         has performed the charging. The method of storing this data will
                                  1..1
     +   address     : String                          + name         : String                      be explained later.
     +   city                              0..*
                     : String                          + last_user_id : int
     +   zip         : String                                                                       The class diagram in Figure 3 shows the data model extension
     +   email       : String                             1..1      1..1      0..1      0..1        that allows storing user charges from other libraries. This
     +   phone       : String                                                                       extension allows storing all user charges at the consortium level
                                                                                                    in the system of the library to which the user belongs. Figure 3
                                                                                                    shows new previously explained classes, as well as the class
                                                                                                    Lending, Location and Librarian. All three associations between
                                                                                                    Lending and Librarian have zero value for lower value of
                                                  0..*      0..*      0..*      0..*                multiplicity to enable to store charging without information about
         Librarian                                                                                  librarian who did it.
+   username       : String                                  RemoteUsers
                                1..1                                                                Besides the data about charges being placed in the system of the
+   password       : String
                                         0..*      +     user_id             : String               user’s home library, the activity diagram in Figure 2 also shows
+   first_name     : String                        +     first_name          : String
+   last_name      : String                                                                         that some data about charges and the user are stored in the system
                                0..1               +     last_name           : String
+   address        : String                        +     item_id             : String               of the library which performs charging. The reason for recording
+   city           : String              0..*                                                       and tracking the charged publication within the system of the
                                                   +     charg_date          : Date
+   zip            : String     0..1               +     discharg_date       : Date                 owning library and recording the user who charged the
+   phone          : String              0..*      +     renew_date          : Date                 publications is to create various statistics within that system.
+   email          : String                        +     due_date            : Date
+   admin          : int                                                                            The class diagram in Figure 4 shows the extension of the data
                                                                                                    model that allows storing data about charging in the local system
 Figure 4: Data model extension that allows storing charging                                        of the library which performs charging. The class Remote Users
                 data within local system.                                                          describes charges of users from other libraries within the
means that when storing data in the system of the user’s home                                       consortium. In addition to data about charging, this class also
library, it is important to store information about the publication                                 displays the user identification number, the user’s name and their
itself. This task is solved by extending the data model with the                                    home library. Based on this data it is possible to find other user
class Record that contains a bibliographic record of the                                            data stored in the system of the user's home library. Besides this
publication that the user has charged outside the home library.                                     data, an item ID number is stored for each charging of a
This extension is shown in the class diagram of Figure 3. The                                       publication, along with location and date of the charging, the loan
variant that was chosen was to place the entire record in the class                                 period for the charge and the librarian who performed the
Record, not just some data from the record, because the                                             charging. There is also data about the date, location and librarian
circulation system BISIS already has an interface for work with                                     for renewals and retrievals of publications. Classes Location,
bibliographic records. With this solution there is no need to                                       Librarian and Library are previously explained.
extend the system which would work only with certain data from                                      The class diagram in Figure 5 shows the entire data model of the
records.                                                                                            circulation system within library management system BISIS. This
The second task that needs to be solved in order to store data                                      data model satisfies all the system functionalities related to
about charging in the system of the user’s home library is related                                  managing both local users and users from other libraries within
to the location of charging. In the current model class Location                                    the consortium.
describes the circulation departments within the library where
charging could be done. In order to input information into the                                      5. CONCLUSION
model and the library where the charging is done the model is                                       The circulation of the library collection today includes a wide
extended with the class Library which describes the libraries                                       range of services provided to users. Besides the availability of
within the consortium. Each library has locations (departments)                                     different information over the Internet, utilizing the collections of
for charging and those locations are further described with the                                     several libraries and delivering library materials to specific
class Location. This extension is also shown on the class diagram                                   locations is becoming a standard in the library business. This
in Figure 3. This solution requires that the data about the libraries                               paper considers the functionalities of the circulation system that
in the consortium and their locations be uniform and shared by all                                  enables the use of collections of several libraries and supports the
systems in order to uniquely determine in which library and in                                      circulation within the entire library consortium. Based on the
which location within the library is the charging performed.                                        specified functionalities one possible data model of the system is
The third task that needs to be resolved is related to data about the                               given and is explained in detail. This model and the following
librarian who performed the charging. If this task could be solved                                  considerations presented in this paper can be used as the basis for
in a similar manner as the previous one, where for each charge it                                   the development of any circulation system. The results presented
is known which librarian from which library in the consortium                                       in this paper were used in the implementation of the library
level completed the task, this would mean that the data about                                       management system BISIS.
librarians would be shared at the consortium level. Such data
organization in the consortium would not be practical because this                                  6. ACKNOWLEDGMENTS
data is changed often. Thus the task is solved another way. For                                     The work is partially supported by Ministry of Education and
charges that are made at locations in other libraries, information                                  Science of the Republic of Serbia, through project no. III47003:
about the librarian is not stored within the system of the user’s                                   "Infrastructure for technology enhanced learning in Serbia".




                                                                                               38
                        RemoteUsers                                      Registering                            User categs
             +    user_id                 : String                                                                                                                      Membership
                                                                  +   start_date    : Date                +   id             : long          1..1
             +    first_name              : String                +   expir_date    : Date                +   name           : String                               + id   : long
                                                                                                                                                         0..*
             +    last_name               : String                +   cost          : double              +   titles_no      : int                                  + cost : double
             +    item_id                 : String                +   receipt_id    : String              +   period         : int
             +    charg_date              : Date                                                                                                                                    0..*
                                                           0..*
             +    discharg_date           : Date                       0..*       0..*           1..*                       0..1
                                                                                                                    0..*                                                    1..1
             +    renew_date              : Date
             +    due_date                : Date                                              1..1
                                                                                                                                                                        Mmbr_types
                                                           0..*
                                                  0..*                                                              Users                                + id     : long
                 0..*   0..*       0..*    0..*                                  +                      sys_id                    : long                 + name : java.lang.String
                                                                                 +                      user_id                   : String               + period : int
                                              1..1 0..1 0..1     1..1            +                      first_name                : String
                                                                                 +                      last_name                 : String                      0..1
                                                          Librarian              +                      parent_name               : String
          1..1 1..1 0..1 0..1                                                                                                                                                  Edu_degree
                                                  + username : String            +                      address                   : String
                                       1..1
                                                  + password      : String       +                      city                      : String       0..*                       + id   : long
                                                  + first_name : String          +                      zip                       : int                                     + name : String
                       Location
                                                  + last_name : String           +                      phone                     : String
              + name            : String          + address       : String       +                      email                     : String                       0..1
              + last_user_id : int                                                                                                                0..*
                                                  + city          : String       +                      umcn                      : String                                    Organization
                                                  + zip           : String       +                      doc_id                    : int
                                1..1 0..1 0..1 + phone            : String       +                      doc_no                    : String                              +    id            : long
                    0..*                                                                                                                         0..*
                                                  + email         : String       +                      doc_city                  : String                              +    name          : String
                                                                                 +                                                                           0..1       +    address       : String
                                                  + admin         : int                                 country                   : String
                                                                                 +                      gender                    : String                              +    city          : String
              1..1                                                               +                                                                0..*                  +    zip           : int
                                                                                                        age                       : String
                                                       0..1    0..1 0..1         +                      add_address               : String
                 Library                                                         +                      add_zip                   : int
                                                                                 +                      add_city                  : String                      0..1
          + name       : String                                                                                                                                                    Languages
                                                     0..* 0..* 0..*              +                      add_phone                 : String
          + address : String        0..* 0..* 0..*                                                                                                                          + id   : long
                                                                                 +                      note                      : String
          + city       : String                                                                                                                                             + name : String
                                                   Lending                       +                      interests                 : String       0..*
          + zip        : String                                                  +                      remind_ind                : int
          + email      : String          + item_id          : String             +                      occupation                : String
          + phone : String               + charg_date       : Date               +                      title                     : String
                                         + discharg_date : Date         0..*     +                      student_card_no           : String        0..1
                                         + renew_date       : Date               +                      class_no                  : int                                      Groups
                                         + due_date         : Date          1..1
                                                                                 +                      pass                      : String               +      sys_id                     : long
                                                  1..1                           +                      block_reason              : String               +      user_id                    : String
                                                                    1..1
                                                                                                                                   1..1                  +      inst_name                  : String
                                                                                 0..1                                                                    +      registering_date           : Date
                                                   0..*                                                                    0..*                          +      address                    : String
                                          Reminders                                        Record                                                        +      city                       : String
                                                                                                                            Duplicate                    +      zip                        : int
                               +    remind_date           : Date                  + record : String
                                                                                                                                                         +      phone                      : String
                               +    remind_no             : String                                               + id        : long
                                                                                                                                                         +      email                      : String
                               +    due_date              : Date                                                 + dupl_no   : int
                                                                        0..*                                                                             +      fax                        : String
                               +    note                  : String                       Remind types            + dupl_date : Date
                                                                          1..1                                                                           +      add_address                : String
                                                                                   + id    : long                                                        +      add_city                   : String
                                                                                                                             Archive
                                                                                   + name : String                                                       +      add_zip                    : int
                                      Remind counters                              + rtext : String             +    id               : long             +      add_phone                  : String
                                                                          1..1                                  +    sys_id           : int              +      cont_fname                 : String
                                   + id          : long                 0..*                                    +    arch_date        : Date             +      cont_lname                 : String
                                   + remind_year : int                                                          +    content          : String           +      cont_email                 : String
                                   + last_no     : int


                                                                      Figure 5: Data model of circulation system.



7. REFERENCES                                                                                             [4] Joint, N. 2008. Is digitisation the new circulation?:
                                                                                                              Borrowing trends, digitisation and the nature of reading in
[1] BISIS Library Management System,                                                                          US and UK libraries. Library Review. 57, 2, 87-95.
    http://www.bisis.uns.ac.rs/
                                                                                                          [5] MARC Records, Systems and Tools,
[2] Boone, M. D. 2002. Taking FLITE: how new libraries are                                                    http://www.loc.gov/marc/marcservice.html
    visioning their way into the future. Library Hi Tech. 20, 4,
    464-468.                                                                                              [6] NCIP Implementation Group website,
                                                                                                              http://www.ncip.info/
[3] Falk, H. 2005. Temple of the computer. The Electronic
    Library. 23, 2, 244-248.                                                                              [7] Tešendić, D., Milosavljević, B., Surla, D. 2009. A Library
                                                                                                              Circulation System for City and Special Libraries. The
                                                                                                              Electronic Library. 27, 1,162-186.


                                                                                                     39