Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »

This section will evolve as the project progresses and will be updated regularly to reflect changes.

Data Model

Data Dictionary

This section would hold information on the tables that will be part of the SCSB middleware database. Information includes, a brief description of the table, the columns involved, a brief description of the columns, data type, the default value (if applicable) and whether the column is mandatory/unique.

SCSB uses Hibernate ORM to persist data.

The following is the list of tables used in SCSB

accession_t

The accession_t table holds the pending records that are inbound to SCSB during ongoing accession. The ongoing accession process might happen at different times of the day in GFA LAS but are processed as a bulk job (usually nightly) in SCSB to optimize performance. The data is used to fetch records from partner's ILS and the data ends up in bibliographic_t, holdings_t, item_t and other related tables. Records are marked 'pending' if they are waiting to be processed or 'completed' post processing. Those that are marked 'completed' are purged regularly through the PurgeAccessionRequests job.

Entity ClassAccessionEntity.java

Use Cases effecting changes in table: Ongoing Accession

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

ACCESSION_ID

Primary key

INT(11)

System-generated

Y

Y

This is an incremental system-generated value which would help to uniquely identify the accession record within the table in SCSB database

ACCESSION_REQUEST

The request content in JSON format is stored as a BLOB.

LONGBLOB

NULL




CREATED_DATE

The time-stamp at which the accession was received in SCSB.

DATETIME

NULL




ACCESSION_STATUS

The status of the record in the accession process.

VARCHAR(45)

NULL



'Pending' and 'Completed' are the two valid statuses.

The bibliographic_holdings_t table holds both the owning institution bibliographic record id and their respective holdings id. This helps in many-to-many linking between holdings and bibliographic records in case of multiple copies at different locations.

Use Cases effecting changes in table: Initial Accession, Ongoing Accession, Submit Collection

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

BIBLIOGRAPHIC_HOLDINGS_IDPrimary keyINT(11)
YYThis is an incremental system-generated value which would help to uniquely identify the bibliographic-holdings record within the table in SCSB database

BIBLIOGRAPHIC_ID

Composite Unique and Foreign Key. The data is the id representing the BIBLIOGRAPHIC_ID of the title/holdings/item in SCSB.

INT(11)


Y


Foreign Key Reference: BIBLIOGRAPHIC_ID column of bibliographic_t table.

HOLDINGS_ID

Composite Unique and Foreign Key. The data is the id representing the HOLDINGS_ID of the title/holdings/item in SCSB.

INT(11)


Y


Foreign Key Reference: HOLDINGS_ID column of holdings_t table.

bibliographic_item_t

The bibliographic_item_t table holds both the owning institution bibliographic record id and the respective owning institution item id. This helps in many-to-many linking between items and bibliographic records in case of serials, multiple copies and bound-withs.

Use Cases effecting changes in table: Initial Accession, Ongoing Accession, Submit Collection

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

BIBLIOGRAPHIC_ITEM_ID

Primary Key. 

INT(11)


Y

Y

This is an incremental system-generated value which would help to uniquely identify the bibliographic-item record within the table in SCSB database

BIBLIOGRAPHIC_ID

Composite Unique and Foreign Key. The data is the id representing the BIBLIOGRAPHIC_ID of the title/holdings/item in SCSB.

INT(11)


Y


Foreign Key Reference: BIBLIOGRAPHIC_ID column of bibliographic_t table.

ITEM_ID

Composite Unique and Foreign Key. The data is the id representing the ITEM_ID of the title/holdings/item in SCSB.

INT(11)


Y


Foreign Key Reference: ITEM_ID column of item_t table.

bibliographic_holdings_t vs bibliographic_item_t

Though bibliographic_holdings_t and bibliographic_item_t may look similar in form and function they differ in that the former maintains relationship between the bibliographic data and the holdings data while the latter maintains the relationship between bibliographic data and item data. A single bibliographic data might have multiple items in case of serials and multiple holdings in case of multiple copies in different locations. Multiple bibliographic data might be attached to a single item in case of bound-withs.

bibliographic_t

The bibliographic_t table holds information on bibliographic records. This is a crucial table in SCSB to maintain information about the collections. The table is populated by either the Initial Accession or Ongoing Accession processes. The information from this table is used to display collection details under Search and Collection tabs in SCSB UI. The data in this table can be modified through the Submit Collection API. The bib related XML is stored as a BLOB in the table in the MARCXML format.

Entity ClassBibliographicEntity.java

Use Cases effecting changes in table: Initial Accession, Ongoing Accession, Submit Collection

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

BIBLIOGRAPHIC_ID

Primary Key

INT(11)

System-generated

Y

Y

This is an incremental system-generated value which would help to uniquely identify the bib within the table in SCSB database

CONTENT

Bibliographic content. Usually in the MARCXML format.

LONGBLOB


Y



OWNING_INST_ID

Composite Unique and Foreign Key. The ID representing the institution that owns the title/holdings/item.

INT(11)


Y


Foreign Key Reference: INSTITUTION_ID column of institution_t table.

CREATED_DATE

The time-stamp when title was first accessioned.

DATETIME


Y



CREATED_BY

The creator of the bibiliographic record is persisted here.

VARCHAR(45)


Y



LAST_UPDATED_DATE

The time-stamp when information was last updated.

DATETIME





LAST_UPDATED_BY

Records information on who last updated the record.

VARCHAR(45)


Y



OWNING_INST_BIB_ID

Composite Unique Key. The unique identifier used internally in the institution's ILS for Bib. The data is unique for each institution.

VARCHAR(45)



Y


IS_DELETEDThis column will function as a flag to denote if the item record has been deleted (deaccessioned).TINYINT(1)


It takes in either 0 or 1 as values.

0 = not deleted and 1 = deleted

CATALOGING_STATUSThis will hold information on complete and incomplete records.VARCHAR(20)NULL

It takes in either 'Complete' or 'Incomplete' as values.
LEGACY_OWNING_INST_BIB_IDLegacy or Old unique identifier that was used internally in the institution's ILS for Bib.VARCHAR(45)NULL


bulk_customer_code_t

The bulk_customer_code_t table holds the customer codes that are valid for use in bulk request. The information from this table is used to display values in the Delivery Location dropdown in the Bulk Request page of SCSB UI. The values in the delivery location dropdown are also restricted based on the item owning institution value.

Entity Class: BulkCustomerCodeEntity.java

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

BULK_CUSTOMER_CODE_ID

Primary Key

INT(11)

System-generated

Y

Y

This is an incremental system-generated value which would help to uniquely identify the bulk customer code within the table in SCSB database

CUSTOMER_CODEComposite Unique Key. Code that defines the bulk customer code and is unique for each institution.VARCHAR(45)
Y

DESCRIPTIONA description about the bulk customer codeVARCHAR(2000)
Y

OWNING_INST_IDThe Institution id to which the customer code belongs toINT(11)NULL

Foreign Key Reference: INSTITUTION_ID column of institution_t table.
IMS_LOCATION_IDDepository code of location where item is stored.INT(11)
Y

bulk_request_item_t

The bulk_request_item_t table holds information on the bulk requests that had been initiated in SCSB. It records data relevant to the bulk requests made through the SCSB bulk request UI such as the bulk request name, file name, file data created by, created date, last updated date, patron id, stop code, institution, statuses, email and notes. This is the main table that is extensively used in the circulation functionality catering to the retrieval requests through the bulk request screen in SCSB.

Entity Class: BulkRequestItemEntity.java

Use Cases effecting changes in table: Bulk Request 

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

BULK_REQUEST_ID

Primary Key

INT(11)


Y


This is an incremental system-generated value which would help to uniquely identify the bulk request data within the table in SCSB database.

BULK_REQUEST_NAMEA name that can be used by the user to differentiate bulk requests. This can be used to search from the bulk request search page.VARCHAR(255)
Y

BULK_REQUEST_FILE_NAMEThe name of the file that is being uploaded by the user.VARCHAR(255)
Y

BULK_REQUEST_FILE_DATAThe contents of the file is stored as a BLOB. This will be used to prepare the report once the process is complete.LONGBLOB
Y

CREATED_BYThe user who initiates the bulk request processVARCHAR(45)
Y

CREATED_DATEThe time-stamp when the bulk request is initiatedDATETIME
Y

LAST_UPDATED_DATEThe time-stamp when the bulk request was last updated.DATETIMENULL


PATRON_IDThe id of the patron to whom the requested items are delivered.VARCHAR(45)
Y

STOP_CODEThe stop code for delivery purposeVARCHAR(45)
Y

REQUESTING_INST_IDThe institution to which the items belong/are delivered.INT(11)
Y
Foreign Key Reference: INSTITUTION_ID column of institution_t table.
REQUEST_STATUSThe status of the bulk requestVARCHAR(45)
Y

NOTESAny notes that are added by the user from the SCSB bulk request screen.VARCHAR(2000)NULL


EMAIL_IDThe email id of the patron who had requested the itemsVARCHAR(100)NULL


IMS_LOCATION_IDDepository code of location where item is stored.INT(11)
Y

bulk_request_t

The bulk_request_t table holds the bulk request id and the request ids of requests that were added through that particular bulk request transaction. This helps in keeping a trail as to where a request inititated.

Use Cases effecting changes in table: Bulk Request 

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

BULK_REQUEST_ID

Foreign Key

INT(11)


Y


Foreign Key Reference: BULK_REQUEST_ID column of bulk_request_item_t table.

REQUEST_IDForeign KeyINT(11)
Y
Foreign Key Reference: REQUEST_ID column of request_item_t table.

collection_group_t

The collection_group_t table holds information on the Collection Group Designations (CGD) prevalent among the item records and their description. The values that are currently in use are Open, Shared, Private and Not Available. All partners' items are classified into one of these three CGDs. A partner's 'Private' item is available for request only by patrons of the partner institution, whereas, a partner's 'Open' and 'Shared' items are available for request by patrons of all partner institutions. The 'Not Available' CGD is used in case of dummy records. The CGD is referenced in the item_t tables and is useful in ascertaining validity of the requests.

Entity ClassCollectionGroupEntity.java

Use Cases effecting changes in table: Edit CGD, Submit Collection, Matching Algorithm 

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

COLLECTION_GROUP_ID

Primary Key

INT(11)


Y


This is an incremental system-generated value which would help to uniquely identify the collection group designation within the table in SCSB database.

COLLECTION_GROUP_CODE

A code that defines the collection group

VARCHAR(45)


Y



COLLECTION_GROUP_DESC

A description about the collection group designation

VARCHAR(45)

NULL




CREATED_DATE

The time-stamp when the collection group designation was first created.

DATETIME


Y



LAST_UPDATED_DATE

The time-stamp when the collection group designation was last updated.

DATETIME

NULL




deleted_records_t

The deleted_records_t table holds information on records that are being deleted in the request_item_t, bibliographic_t, holdings_t and item_t tables.

Entity Class: DeletedRecordsEntity.java

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

DELETED_RECORDS_IDPrimary KeyINT(11)
Y
This is an incremental system-generated value which would help to uniquely identlfy the deleted record within the table in SCSB database.
RECORDS_TABLEThe table to which the deleted record belonged.VARCHAR(50)
Y

RECORDS_PRIMARY_KEYThe deleted record's primary key.VARCHAR(100)
Y

DELETED_REPORTED_STATUSThe column denotes whether this has been reported to registered users through email.VARCHAR(30)
Y

DELETED_DATEThe datetime stamp at which the record was deleted.DATETIME
Y

DELETED_BYThe user who initiated the delete operationVARCHAR(50)NULL


RECORDS_LOGThe column holds the entire data of the deleted row as comma separated values.LONGTEXTNULL


delivery_codes_t

The delivery_codes_t table holds information about delivery location and circulation desk (pickup location) of each institution. It holds the delivery code for each institution or each depository location based on delivery code type. Delivery Code Type can be institution or IMS location. The Circulation Desk Location is the desk location information needed for communication with the ILS.

Entity Class: DeliveryCodeEntity.java

Table Type (Master/Transactional): Master

Column NameDescriptionData TypeDefault ValueMandatoryUniqueComments

DELIVERY_CODE_ID

Primary KeyINT
Y
This is an incremental system-generated value which would help to uniquely identify the customer code within the table in SCSB database.
DELIVERY_CODECode representing delivery location.VARCHAR(45)
Y

DESCRIPTIONDescription of delivery locationVARCHAR(2000)
N

ADDRESSAddress of the delivery locationVARCHAR(2000)
N

OWNING_INST_IDInstitution to which the delivery location belongsINT
Y
Foreign Key Reference: INSTITUTION_ID column of institution_t table.
IMS_LOCATION_IDDepository code of location where item is stored.INT
N
Foreign Key Reference: IMS_LOCATION_ID column of ims_location_ t table.
DELIVERY_CODE_TYPE_ID
INT
N

CIRC_DESK_LOCATIONThe circulation desk location equivalent in the partner's ILS.VARCHAR(20)
N

ACTIVERepresents whether the location is currently Active.CHAR(1)YY

delivery_code_translation_t

The delivery_code_translation_t table holds information about delivery code and their corresponding translation based on ims_location. For every delivery code id  of requesting institution delivery code will be available for each ims_location. Current System has two ims_locations 1) RECAP 2) HD. So each delivery location of institution has two delivery codes, one for RECAP and one for HD.

Entity Class: DeliveryCodeTranslationEntity.java

Table Type (Master/Transactional): Master

Column NameDescriptionData TypeDefault ValueMandatoryUniqueComments

DEL_CODE_TRANS_ID

Primary KeyINT
Y
This is an incremental system-generated value which would help to uniquely identify the customer code within the table in SCSB database.
REQUESTING_INST_IDInstitution which requests the itemINT
N
Foreign Key Reference: INSTITUTION_ID column of institution_t table.
REQUESTING_INST_DELIVERY_CODE_IDDelivery Code of the requesting institution 




IMS_LOCATION_IDDepository code of location to which item belongs.INT
N
Foreign Key Reference: IMS_LOCATION_ID column of ims_location_ t table.
IMS_LOCATION_DELIVERY_CODEDelivery Code corresponding to the ims_locationVARCHAR(45)
N

ACTIVERepresents whether the location is currently Active.CHAR(1)YY

delivery_restriction_cross_partner_t             

The delivery_restriction_cross_partner_t table holds mapping information between the delivery locations and the partners for use during a cross partner borrowing request. The table holds different sets of delivery restrictions valid for different partners for cross partner borrowings as records and these records are linked to customer codes through the cross_partner_mapping_t table.

Entity Class: DeliveryRestrictionEntity.java

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

DELIVERY_RESTRICTION_CROSS_PARTNER_ID

Primary Key

INT(11)


Y


This is an incremental system-generated value which would help to uniquely identify the delivery restriction cross parnter within the table in SCSB database.

DELIVERY_RESTRICTIONS

Customer codes to which deliveries are to be restricted during a cross partner borrowing.

VARCHAR(2000)


Y



INSTITUTION_IDForeign KeyINT(11)
Y
Foreign Key Reference: INSTITUTION_ID column of institution_t table.

etl_gfa_temp_t

The etl_gfa_temp_t is a table that holds the list of item barcodes and their corresponding statuses maintained in GFA among other information. The information contained in this table is used to arrive at item availability statuses (ITEM_AVAIL_STATUS_ID) in the item_t table. The list of GFA LAS maintained statuses and their SCSB equivalent is documented and available here. Based on this information the SCSB statuses of the items are updated as part of the initial loading process.

Entity ClassEtlGfaEntity.java

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

ITEM_BARCODE

Primary Key. The item barcode as maintained in GFA.

VARCHAR(45)


Y



CUSTOMER_CODE

The customer code as maintained in GFA.

VARCHAR(45)


Y



ITEM_STATUS

The item status as captured by GFA. This information is used to derive the item availability status in the item_t table.

VARCHAR(45)


Y



holdings_t

The holdings_t table holds information on the holdings record. Holdings record are part of the bibliographic record and typically hold item locations and call numbers. Library of Congress (LOC) defines holdings data as those held in the 85x, 86x and 87x tags of the MARC data. A bibliographic record can have one or more holdings record which in turn can hold one or more item records. The table is populated by either the Initial Accession or Ongoing Accession processes. The data in this table can be modified through the Submit Collection API. The holding related XML tags are stored as a BLOB in the table.

Entity Class: HoldingsEntity.java

Use Cases effecting changes in table: Initial Accession, Ongoing Accession, Submit Collection

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

HOLDINGS_ID


INT(11)

System-generated

Y


This is an incremental system-generated value which would help to uniquely identify the holdings data within the table in SCSB database

CONTENT

Holdings content.

BLOB


Y



CREATED_DATE

The time-stamp when holdings data was first accessioned.

DATETIME


Y



CREATED_BY

The creator of the holdings record is persisted here.

VARCHAR(45)


Y



LAST_UPDATED_DATE

The time-stamp when information was last updated.

DATETIME





LAST_UPDATED_BY

Records information on who last updated the record.

VARCHAR(45)


Y



OWNING_INST_IDForeign Key and composite unique key, representing the institution that owns the holdings.INT(11)
Y
Foreign Key Reference: INSTITUTION_ID column of institution_t table.

OWNING_INST_HOLDINGS_ID

The unique identifier used internally in the institution's ILS for the holdings data.It is unique for each institution.

VARCHAR(100)


Y



IS_DELETEDThis column will function as a flag to denote if the item record has been deleted (deaccessioned).TINYINT(1)


It takes in either 0 or 1 as values.

0 = not deleted and 1 = deleted

LEGACY_OWNING_INST_HOLDINGS_IDThe legacy value of OWNING_INST_HOLDINGS_ID. It stores the old value of holding data, if there is change   in the institution's ILS for the holdings data. It is unique for each institution.varchar(100)




ims_location_t

The ims_location_t table holds information on the depository location. This table is referenced in many tables to identify the depository location. It is referenced in tables maintaining collection data such as item_t to identify depository location to which the item belongs to and also in circulation related tables such as delivery_codes_t, owner_codes_t to identify depository location which the delivery code or owner code belongs.

Entity Class: ImsLocationEntity.java

Table Type (Master/Transactional): Master


Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

IMS_LOCATION_ID

Primary key

INT(11)

System-generated

Y


This is an incremental system-generated value which would help to uniquely identify the ims location within the table in SCSB database

IMS_LOCATION_CODE

A code that defines the depository location

VARCHAR(45)


Y



IMS_LOCATION_NAMEThe name of the depository locationVARCHAR(255)
Y

DESCRIPTIONDescription about the locationVARCHAR(255)NULL


ACTIVEFlag to determine whether the depository location is currently active or notCHAR(1)YY

CREATED_BYUser who created the record VARCHAR(255)
Y

CREATED_DATECreated DateTIMESTAMP
Y

UPDATED_BYUser who last updated the recordVARCHAR(255)
Y

UPDATED_DATELast Updated DateTIMESTAMP
Y

institution_t

The institution_t table holds information on the institutions. This table is referenced in many tables to identify the institution. It is referenced in tables maintaining collection data such as bibliographic_t to identify institution to which the item belongs to and also in circulation related tables such as request_item_t to identify institutions from which the requests are initiated.

Entity ClassInstitutionEntity.java

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

INSTITUTION_ID

Primary key

INT(11)

System-generated

Y


This is an incremental system-generated value which would help to uniquely identify the institution within the table in SCSB database

INSTITUTION_CODE

A code that defines the institution

VARCHAR(45)


Y



INSTITUTION_NAMEThe name of the institutionVARCHAR(45)
Y

item_barcode_history_t

The item_barcode_history_t table holds barcodes that are being deleted and replaced with the same owning institution item ids. The table holds both the old and new item barcodes for reference and the date on which it was deleted.

Entity Class: ItemBarcodeHistoryEntity.java

Table Type (Master/Transactional): Transactional


Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

HISTORY_ID

Primary key

INT(11)

System-generated

Y


This is an incremental system-generated value which would help to uniquely identify the historic record within the table in SCSB database

OWNING_INSTThe institution that owns the item.VARCHAR(45)



OWNING_INST_ITEM_IDThe unique identifier used internally in the institution's ILS for Item.VARCHAR(45)



OLD_BARCODEThe old barcode of the item record that has been removed from the item_t tableVARCHAR(45)



NEW_BARCODEThe new barcode of the item record that has replaced the removed old_barcodeVARCHAR(45)



CREATED_DATEThe date and time stamp at which this history record is being created.DATETIME



item_change_log_t

The item_change_log_t table holds information on the changes that have been carried out on an item. SCSB allows users to change the Collection Group Designation (CGD) and deaccession records. The table records such changes made to the CGD by users and also the matching algorithm process. Apart from CGD, the table also maintains details on accession, deaccession, deaccession rollbacks, ongoing matching algorithm process, and request items, even if there are exceptions, or the hold request failed at ILS, GFA LAS request fails or if the availability status changes. It captures data such as user who initiated change, the date and time stamp of the operation, operation type and any notes added by the user.

Entity ClassItemChangeLogEntity.java

Use Cases effecting changes in table: Accession, Deaccession, Request, Edit CGD

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

ITEM_CHANGE_LOG_ID

Primary Key.

INT(11)

System-generated

Y


This is an incremental system-generated value which would help to uniquely identify the change log within the table in SCSB database
UPDATED_BYData of the user who initiated the change.VARCHAR(45)NULL


UPDATED_DATEDate and time stamp at which the change was initiatedDATETIMENULL


OPERATION_TYPEDefines the type of operation that has been initiatedVARCHAR(200)NULL


RECORD_IDThe primary key id on their own SCSB tables.INT(11)NULL


NOTESThe notes entered by the user at the time of initiating the operation.VARCHAR(2000)NULL


item_holdings_t

The item_holdings_t table holds both the owning institution holdings id and the respective owning institution item id. This helps in many-to-many linking between items and holding records. 

Use Cases effecting changes in table: Initial Accession, Ongoing Accession, Submit Collection

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

OWNING_INST_HOLDINGS_ID

Composite Primary and Foreign Key. The unique identifier used internally in the institution's ILS for Holdings.

VARCHAR(100)


Y


Foreign Key Reference: OWNING_INST_HOLDINGS_ID column of holdings_t table.
HOLDINGS_INST_IDComposite Primary and Foreign Key. The ID representing the institution that owns the title/holdings/item.INT(11)
Y
Foreign Key Reference: OWNING_INST_ID column of holdings_t table.
ITEM_INST_IDComposite Primary and Foreign Key. The ID representing the institution that owns the title/holdings/item.INT(11)
Y
Foreign Key Reference: OWNING_INST_ID column of item_t table.
OWNING_INST_ITEM_IDComposite Primary and Foreign Key. The unique identifier used internally in the institution's ILS for Item.VARCHAR(45)
Y
Foreign Key Reference: OWNING_INST_ITEM_ID column of item_t table.

item_status_t

The item_status_t table holds the item statuses maintained in SCSB. Currently the statuses are either Available or Not Available. Available when the item is in the ReCAP or HD facility and Not Available when the item has left the ReCAP or HD  facility to service a request. The item statuses reflect only the item's availability post a request and not processes such as deaccession.

Entity ClassItemStatusEntity.java

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

ITEM_STATUS_ID

Primary key

INT(11)

System-generated

Y


This is an incremental system-generated value which would help to uniquely identify the item status within the table in SCSB database

STATUS_CODE

A code that defines the item status

VARCHAR(45)


Y



STATUS_DESC

The description of the item status in detail

VARCHAR(2000)


Y



item_t

The Item_t table holds information on the items. The table is populated by either the Initial Accession or Ongoing Accession processes. The data in this table can be modified through the Submit Collection API. The item availability status changes depending upon requests against the item and the is deleted column varies depending upon the deaccession process. The item is the smallest building block of a bibliographic information and is the most important, affected by all processes across functionalities such as Collection and Circulation. A single item referenced by multiple bibliographic ids would represent a bound-with record.

Entity ClassItemEntity.java

Use Cases effecting changes in table: Accession, Deaccession, Submit Collection, Matching Algorithm, Request, Edit CGD

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

ITEM_ID

Primary Key

INT(11)

System-generated

Y

Y

This is an incremental system-generated value which would help to uniquely identify the item within the table in SCSB database

BARCODE

The barcode assigned to the item by the institution

VARCHAR(45)


Y



CUSTOMER_CODE

Customer Code

VARCHAR(45)


Y



CALL_NUMBER

The call number assigned to the item by the institution

VARCHAR(2000)

NULL




CALL_NUMBER_TYPE

The type of call number

VARCHAR(80)

NULL




ITEM_AVAIL_STATUS_ID

Foreign Key. Item availability status

INT(11)


Y


Foreign Key Reference: ITEM_STATUS_ID column of item_status_t table.

COPY_NUMBER

Copy Number

INT(11)

NULL




OWNING_INST_ID

Composite Unique Key. The ID representing the institution that owns the title/holdings/item.

INT(11)


Y


Foreign Key Reference: INSTITUTION_ID column of

institution_t

 table.

COLLECTION_GROUP_ID

Foreign Key. Collection Group Designation

INT(11)


Y


Foreign Key Reference: COLLECTION_GROUP_ID column of collection_group_t table.

CREATED_DATE

The time-stamp when item was first accessioned.

DATETIME


Y



CREATED_BY

The creator of the item record is persisted here.

VARCHAR(45)


Y



LAST_UPDATED_DATE

The time-stamp when information was last updated.

DATETIME





LAST_UPDATED_BY

Records information on who last updated the record.

VARCHAR(45)


Y



USE_RESTRICTIONS

This is to indicate any specific restrictions regarding the usage of the item.

VARCHAR(2000)

NULL




VOLUME_PART_YEAR

This is the volume/part/year information

VARCHAR(2000)

NULL




OWNING_INST_ITEM_ID

Composite Unique Key. The unique identifier used internally in the institution's ILS for Item.

VARCHAR(45)


Y



IS_DELETEDThis column will function as a flag to denote if the item record has been deleted (deaccessioned).TINYINT(1)0

It takes in either 0 or 1 as values.

0 = not deleted and 1 = deleted

CATALOGING_STATUSThe status of the record on whether it is complete or incomplete.VARCHAR(20)NULL

It takes in either 'Complete' or 'Incomplete' as statuses.
INITIAL_MATCHING_DATEThis field is used to identify the record whose CGD was modified through the initial matching algorithm. It also serves as a date holder as to when the CGD change happened.DATENULL


CGD_CHANGE_LOGThis field is used to identify the record whose CGD was changed to 'Private' from 'Open' or 'Shared' to include it in the deleted feed.VARCHAR(20)NULL


INITIAL_MATCHING_DATEThe date on which initial matching algorithm was run for this item.DATENULL


IMS_LOCATION_ID

Foreign Key. The ID representing the depository location.

INT(11)
Y
Foreign Key Reference: IMS_LOCATION_ID column of ims_location_ t table.
LEGACY_OWNING_INST_ITEM_IDLegacy or Old unique identifier which was used internally in the institution's ILS for ItemVARCHAR(45)



ITEM_LIBRARYLocation to which the item belongs. VARCHAR(20)


Field used to identify the location to which the item to be returned on refile in circulation.

job_param_data_t

The job_param_data_t table holds parameters that are required for the functioning of the Jobs in the job_t table. Parameters are used to enable the configuration of file names, transmission types, report types, etc used by the jobs.

Entity ClassJobParamDataEntity.java

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

JOB_PARAM_DATA_ID

Primary keyINT(11)
Y
This is an incremental system-generated value which would help to uniquely identify the job param data id within the table in SCSB database
PARAM_NAME The name of the parameterVARCHAR(100)
Y

PARAM_VALUEThe value of the parameterVARCHAR(2000)
Y

RECORD_NUMThe record number that is referenced from the job_param_t table.INT(11)NULL


job_param_t

The job_param_t table holds the record number and the job name from the job_t table. The record number is in turn referenced by the job_param_data_t table.

Entity ClassJobParamEntity.java

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

RECORD_NUMPrimary KeyINT(11)NULL

This is an incremental system-generated value which would help to uniquely identify the job parameter within the table in SCSB database
JOB_NAMEThe name of the job referenced from the job_t table.VARCHAR(45)
YY

job_t

The job_t table holds information on the different jobs that can be run or scheduled to run in SCSB, such as Purging Emails, Matching Algorithm, Ongoing Accession. The scheduling can be done as a cron job using cron expressions. It also holds information on the last executed time, next run time (if it is a scheduled job) and the status (Scheduled or Unscheduled).

Entity ClassJobEntity.java

Use Cases effecting changes in table: Job tab under SCSB UI

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

JOB_ID

Primary key

INT(11)

System-generated

Y


This is an incremental system-generated value which would help to uniquely identify the job id within the table in SCSB database

JOB_NAMEThe name of the jobVARCHAR(45)NULL


JOB_DESCA short description about the jobVARCHAR(2000)NULL


LAST_EXECUTED_TIMEThe time-stamp at which the job was last executed.DATETIMENULL


NEXT_RUN_TIMEThe time-stamp at which the job is scheduled to run next timeDATETIMENULL


CRON_EXPThe cron expression that defines the schedule at which the job needs to be executed. More details here on how to define a cron expression.VARCHAR(45)NULL


STATUSThe status of the jobVARCHAR(45)NULL

Values are either 'Scheduled' or 'Unscheduled'.
JOB_INSTANCE_IDSpring framework generated id for the job through which multiple executions of the job can be tracked.INT(11)NULL


matching_bib_info_detail_t

The matching_bib_info_detail_t table serves as a table to identify records that go through the matching algorithm and find duplicate records. This information will be used by partner institutions (NYPL, primarily) to consolidate holdings information in their discovery systems. It holds the bibliographic id from SCSB's database (bibliographic_t table), owning institution bibliographic id, the owning institution and the latest record number. The latest record number is the primary key in the report_t table.

Entity ClassMatchingBibInfoDetail.java

Use Cases effecting changes in table: Matching algorithm process

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

MATCHING_BIB_INFO_DATA_DUMP_IDPrimary KeyINT(11)System-generatedYYThis is an incremental system-generated value which would help to uniquely identify the matching bib info within the table in SCSB database
BIB_ID

The bibliographic id of the record in SCSB database

VARCHAR(45)


Y

OWNING_INST_BIB_IDThe bibliographic id of the record in the owning institution's databaseVARCHAR(45)
Y

OWNING_INSTThe id of the institution to which the record belongs to.VARCHAR(5)
Y

LATEST_RECORD_NUMThe record number of the record under discussion.INT(11)NULL


matching_bib_t

The matching_bib_t table serves as a table to identify records that go through the matching algorithm and are found to be duplicates. The content of this table is used to generate reports on the matching records and further process their collection group designation (CGD) depending on their use restrictions. The CGD processing is covered in much detail in the matching algorithm use case document here and here

Entity ClassMatchingBibEntity.java

Use Cases effecting changes in table: Matching algorithm process

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

ID

Primary KeyINT(11)System-generatedYYThis is an incremental system-generated value which would help to uniquely identify the matching bib record within the table in SCSB database

ROOT


VARCHAR(200)


Y



BIB_ID

The bibliographic id of the record in SCSB database

INT(11)


Y



OWNING_INSTITUTION

The id representing the institution to which the bibliographic record belongs.

VARCHAR(5)

NULL




OWNING_INST_BIB_IDThe bibliographic id of the record in the partner's ILS.VARCHAR(45)NULL


TITLEThe title of the bibliographic record. Usually derived from the 245 $a.VARCHAR(2000)NULL


OCLCThe OCLC number of the bibliographic record.VARCHAR(1500)NULL


ISBNThe ISBN of the bibliographic record.VARCHAR(1500)NULL


ISSNThe ISSN of the bibliographic record.VARCHAR(1500)NULL


LCCNThe LCCN of the bibliographic record.VARCHAR(500)NULL


MATERIAL_TYPEThe material type of the bibliographic record.VARCHAR(45)NULL

Monograph, Serial or other
MATCHING
VARCHAR(45)NULL


STATUS
VARCHAR(45)NULL


matching_matchpoints_t

The matching_matchpoints_t table serves as a table to identify records' match points during matching algorithm process. The data stored include the match criteria, the criteria value and the criteria value count. The match criteria includes ISBN, ISSN, LCCN and OCLC number. These are the match points in which the data is checked whether they match. The criteria value holds the values and the criteria value count contains the number of times these values occur.

Entity ClassMatchingMatchPointsEntity.java

Use Cases effecting changes in table: Matching algorithm process

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

ID

Primary KeyINT(11)System-generatedYYThis is an incremental system-generated value which would help to uniquely identify the matching matchpoint record within the table in SCSB database

MATCH_CRITERIA

The criteria defines the type of value the records match on. For example, OCLCNumber

VARCHAR(45)





CRITERIA_VALUE

The actual value of the matching criteria.

VARCHAR(500)





CRITERIA_VALUE_COUNTThe number of times the value of the matching criteria occurs.INT(11)



own_delivery_mapping_t

The own_delivery_mapping_t table holds information on the customer codes mapped to the delivery location. Table contains owner code , delivery code and requesting institution. 

Entity Class

Table Type (Master/Transactional): Master


Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

OWN_DELIVERY_MAP_ID

Primary Key

INT


Y


This is an incremental system-generated value which would help to uniquely identify the customer code within the table in SCSB database.

OWNER_CODE_ID

A code that defines the Owner Code.

INT


Y



DELIVERY_CODE_ID

A description about the Owner Code

INT


Y



REQUESTING_INST_ID

Foreign Key. The ID representing the institution.

INT


Y


Foreign Key Reference: INSTITUTION_ID column of institution_t table.

DEL_RESTRICT_TYPE_ID

Foreign Key. The ID representing the depository location.

INT


Y


Foreign Key Reference: IMS_LOCATION_ID column of ims_location_ t table.

owner_codes_t

The owner_codes_t table holds information on the customer codes prevalent among the item records. Customer codes are two lettered codes from the ReCAP's and HD's GFA LAS which identifies the institution and where the records can be delivered with the LAS in ReCAP or HD. SCSB maintains this data to ascertain the validity of the owner codes entered by various users, patrons and ReCAP staff for both retrieval and deaccession purposes. It holds information such as their description, the owning institution they belong to and depository code of item location. 

Entity Class: OwnerCodeEntity.java

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

OWNER_CODE_ID

Primary Key

INT(11)


Y


This is an incremental system-generated value which would help to uniquely identify the customer code within the table in SCSB database.

OWNER_CODE

A code that defines the Owner Code.

VARCHAR(45)


Y

Y


DESCRIPTION

A description about the Owner Code

VARCHAR(2000)


Y



INSTITUTION_ID

Foreign Key. The ID representing the institution.

INT(11)

NULL



Foreign Key Reference: INSTITUTION_ID column of institution_t table.

IMS_LOCATION_ID

Foreign Key. The ID representing the depository location.

INT(11)

NULL



Foreign Key Reference: IMS_LOCATION_ID column of ims_location_ t table.

PWD_DELIVERY_RESTRICTIONSCustomer codes to which deliveries are to be restricted during a Permanent Withdrawal - Direct (PWD) Deaccession call.VARCHAR(2000)NULL


ACTIVEFlag represents whether the delivery code is currently active or not.CHAR(1)YY

owning_inst_id_seq

The owning_inst_id_seq table holds the sequence ids generated for owning institution id for dummy records so that the ids are not reused.

Entity Class: OwningInstitutionIDSequence.java

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

IDPrimary KeyINT(11)System-generatedY
This is an incremental system-generated value.

permissions_t

The permissions_t table holds information on permissions. Permissions are used along with roles to authorize users for accessing certain functionalities in the SCSB UI. Permissions are the smallest unit for authorization and multiple permissions can be attached to a single role and the role assigned to an user.

Entity ClassPermissionEntity.java

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

PERMISSION_ID

Primary key

INT(11)

System-generated

Y

Y

This is an incremental system-generated value which would help to uniquely identify the permission record within the table in SCSB database

PERMISSION_NAME

The name of the permission

VARCHAR(120)

NULL




PERMISSION_DESCRIPTION

A brief description of the permission

VARCHAR(80)

NULL




report_data_t

The report_data_t table works in conjunction with report_t table. It stores relevant statistical data that has been calculated by processing input files. Information about the files reside on the report_t table whereas detailed reports on each input file is stored under different heads under the report_data_t table.

Entity ClassReportDataEntity.java

Use Cases effecting changes in table: Matching Algorithm

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

REPORT_DATA_IDPrimary keyINT(11)System-generatedY
This is an incremental system-generated value which would help to uniquely identify the record data within the table in SCSB database
HEADER_NAMEHeader name is a short description of the value in the Header value column. Eg: Total records in file, Total bibs loaded, etc.VARCHAR(100)
Y

HEADER_VALUEHeader value is the statistical value that is arrived at, on processing the input data.VARCHAR(8000)
Y

RECORD_NUM
INT(11)NULL


report_t

The report_t table holds information about the files that were used to upload data. The information in report_t table is further used by report_data_t table to store statistical information collected on processing of these input files.

Entity ClassReportEntity.java

Use Cases effecting changes in table: Matching Algorithm

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

RECORD_NUMPrimary keyINT(11)System-generatedY
This is an incremental system-generated value which would help to uniquely identify the record number within the table in SCSB database
FILE_NAMEThe name of the file that has been uploaded for loading data.VARCHAR(45)
Y

TYPEThis denotes success or failure of the loading process.VARCHAR(45)
Y

CREATED_DATEThe time-stamp at which the process was completed.DATETIME
Y

INSTITUTION_NAMEThe name of the institution which provided the file.VARCHAR(5)
Y
Institution Codes

request_item_status_t

The request_item_status_t table holds the various statuses that a request goes through during its life-cycle. This status is used to process recall requests after retrievals and for identifying request processes that are still ongoing or pending. The status also tracks refiles that are done to the items.

Entity ClassRequestStatusEntity.java

Use Cases effecting changes in table: Create Request

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

REQUEST_STATUS_ID

Primary Key.INT(11)
YYThis is an incremental system-generated value
REQUEST_STATUS_CODEA code for the request statuses that are to be maintained in SCSBVARCHAR(45)
YY
REQUEST_STATUS_DESCA description for the request statuses that are to be maintained in SCSBVARCHAR(512)
Y

request_item_t

The request_item_t table holds information on the requests made against items for patrons. It records data relevant to the request made such as the request type, created by, created date, last updated date and notes. This is the main table that is extensively used in the circulation functionality catering to the retrieval request, recall request, electronic document delivery, cancel request and refile. The email id stored in this table is purged periodically by the PurgeEmailAddress job.

Entity ClassRequestItemEntity.java

Use Cases effecting changes in table: Create Request, Cancel Request

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

REQUEST_ID

Primary key

INT(11)

System-generated

Y

Y

This is an incremental system-generated value

ITEM_ID

Foreign Key. The item id assigned to the item by SCSB

INT(11)


Y


Foreign Key Reference: ITEM_ID column of item_t table.

REQUEST_TYPE_ID

Foreign Key. The type of request

INT(11)


Y


Foreign Key Reference: REQUEST_TYPE_ID column of request_type_t table.

REQ_EXP_DATE

The time-stamp at which the request would expire.

DATETIME

NULL




CREATED_BYThe id of the user by whom the request was created.VARCHAR(45)
Y

CREATED_DATE

The time-stamp at which the request was created.

DATETIME


Y



LAST_UPDATED_DATE

The time-stamp at which the request was updated.

DATETIME

NULL




PATRON_ID

The patron id assigned to the patron by the institution

VARCHAR(45)


Y



STOP_CODE

Stop Code for Delivery purpose

VARCHAR(45)


Y



REQUESTING_INST_IDForeign Key. The Id assigned to the institution of the patronINT(11)
Y
Foreign Key Reference: INSTITUTION_ID column of institution_t table.
REQUEST_STATUS_IDForeign Key. The id assigned to the request status.INT(11)
Y
Foreign Key Reference: REQUEST_STATUS_ID column of request_item_status_t table.
NOTESNotes relevant to the requestVARCHAR(2000)NULL


EMAIL_IDEmail id of the patron or those relevant to the requestVARCHAR(45)NULL


request_type_t

The request_type_t table holds information on the types of requests allowed to be made against items by patrons. It is referenced by the request_item_t table. Currently, the request types that are allowed are Retrieve, Recall and EDD (Electronic Document Delivery).

Entity ClassRequestTypeEntity.java

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

REQUEST_TYPE_ID

Primary key

INT(11)

System-generated

Y

Y

This is an incremental system-generated value which would help to uniquely identify the request type within the table in SCSB database

REQUEST_TYPE_CODE

The code assigned to the request type

VARCHAR(45)


Y



REQUEST_TYPE_DESC

The description of the request type

VARCHAR(45)


Y



role_permission_t

The role_permission_t table helps in linking permissions to roles. A role can take in multiple permissions and the table maintains both the roles id and permission id and records their relationships.

Use Cases effecting changes in table: Create/Edit Role

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

ROLE_ID

Foreign Key. The Id to uniquely identify the role within the table in SCSB database.

INT(11)


Y


Foreign Key Reference: ROLE_ID column of roles_t table.

PERMISSION_ID

Foreign Key. The Id to uniquely identify the permission within the table in SCSB database.

INT(11)


Y


Foreign Key Reference: PERMISSION_ID column of permissions_t table.

roles_t

The roles_t table holds information about the roles. The roles are the top level unit for authorization which are assigned to users. A single role can contain one or more permissions. This relationship is maintained in the role_permission_t.

Entity NameRoleEntity.java

Use Cases effecting changes in table: Create/Edit Role

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

ROLE_ID

Primary key

INT(11)

System-generated

Y


This is an incremental system-generated value which would help to uniquely identify the role within the table in SCSB database

ROLE_NAME

The name of the role

VARCHAR(45)


Y

Y


ROLE_DESCRIPTIONA brief description about the roleVARCHAR(80)NULL


CREATED_DATEThe date on which the role was createdDATETIME
Y

CREATED_BYThe user by whom the role was createdVARCHAR(45)
Y

LAST_UPDATED_DATEThe date on which the role was updatedDATETIME
Y

LAST_UPDATED_BYThe user by whom the role was updatedVARCHAR(45)
Y

user_roles_t

The user_roles_t table helps in linking roles to users. One or more roles can be assigned to a single user. Each roles would in turn have one or more permissions assigned to them. The user and role relationship is maintained in the user_roles_t table.

Use Cases effecting changes in table: Create/Edit User

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

USER_ID

Foreign Key. The Id to uniquely identify the user within the table in SCSB database.

INT(11)


Y


Foreign Key Reference: USER_ID column of user_t table.

ROLE_ID

Foreign Key. The Id to uniquely identify the role within the table in SCSB database.

INT(11)


Y


Foreign Key Reference: ROLE_ID column of roles_t table.

user_t

The user_t table holds information about the users. It maintains information such as the login id using which the user logs in to the application and other data such as the user institution, a description, email id, created and updated dates and created and updated by information.

Entity NameUsersEntity.java

Use Cases effecting changes in table: Create/Edit User

Table Type (Master/Transactional): Master

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

USER_ID

Primary key

INT(11)

System-generated

Y

Y

This is an incremental system-generated value which would help to uniquely identify the user within the table in SCSB database

LOGIN_ID

The login Id that the user uses to log into their respective institution services.

VARCHAR(45)


Y

USER_INSTITUTIONForeign Key. The id of the institution to which the user belonged.INT(11)
Y
Foreign Key Reference: INSTITUTION_ID column of institution_t table.
USER_DESCRIPTION
VARCHAR(45)
Y

USER_EMAILIDThe email address of the userVARCHAR(60)



CREATED_DATEThe date on which the user was createdDATETIME
Y

CREATED_BYThe user by which this user was createdVARCHAR(45)
Y

LAST_UPDATED_DATEThe date on which the user data was updatedDATETIME
Y

LAST_UPDATED_BYThe user by whom this user was last updatedVARCHAR(45)
Y

xml_records_t

The xml_records_t table is used to hold the whole XML content of a record for further processing and eventual loading of the data (ETL) into the respective tables. The table is used during the Initial Accession process.

Entity NameXmlRecordEntity.java

Use Cases effecting changes in table: ETL process

Table Type (Master/Transactional): Transactional

Column Name

Description

Data Type

Default Value

Mandatory

Unique

Comments

ID

Primary key

INT(11)

System-generated

Y

Y

This is an incremental system-generated value which would help to uniquely identify the record within the table in SCSB database

XML_RECORD

The record content in the XML format.

LONGBLOB


Y



XML_FILE

The name of the file from which the XML content was taken.

VARCHAR(100)


Y



OWNING_INST_BIB_ID

The bibliographic id maintained in the ILS of the owning institution.

VARCHAR(45)


Y



OWNING_INST

The owning institution that owns the bibliographic record.

VARCHAR(10)


Y



DATE_LOADED

The time-stamp at which the record was loaded.

DATETIME


Y



  • No labels