learning management system r1 - ibm ... instructor_assignment ... the learning management system...
TRANSCRIPT
Lotus® Learning Management System R1
Database Architecture
Version 1.0.4�March 2004
G210-1788-00
���
Disclaimer
This document is for your sole and exclusive use with the IBM Lotus Learning Management System subject to the terms and conditions of the IBM International Program License Agreement (including associated License Information) accompanying the IBM Lotus Learning Management System.
THE INFORMATION CONTAINED IN THIS DOCUMENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS DOCUMENTATION, IT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS DOCUMENTATION OR ANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS DOCUMENTATION IS INTENDED TO, NOR SHALL HAVE THE EFFECT OF, CREATING ANY WARRANTIES OR REPRESENTATIONS FROM IBM (OR ITS SUPPLIERS OR LICENSORS), OR ALTERING THE TERMS AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT GOVERNING THE USE OF IBM SOFTWARE.
Licensed Materials - Property of IBM ©Copyright IBM Corporation 1985, 2003 All rights reserved.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GS ADP Schedule Contract with IBM Corp.
Lotus Software IBM Software Group One Rogers Street Cambridge, MA 02142
List of Trademarks
IBM, the IBM logo, AIX, AS/400, DB2, LearningSpace, LearningSpace Forum, IBM Directory Server, RS/6000, iSeries, xSeries, MQSeries, Cloudscape, Netfinity, OfficeVision, OS/2, OS/390, OS/400, S/390, Tivoli, WebSphere, 1-2-3, cc:Mail, Domino, Domino Designer, Freelance Graphics, iNotes, Lotus, Lotus Discovery Server, Lotus Enterprise Integrator, Lotus Mobile Notes, Lotus Notes, Lotus Organizer, LotusScript, Notes, QuickPlace, Sametime, SmartSuite, and Word Pro are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both.
Crystal Reports is a registered trademark of Crystal Decisions Corporation in the United States, other countries, or both.
Pentium is a trademark of Intel Corporation in the United States, other countries, or both.
Java, JavaServer Pages, JavaBeans, JavaScript, J2EE, JDBC, Sun Enterprise, and Sun Solaris are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
JReport and JReport Designer are trademarks of Jinfonet Software, Inc. in the United States, other countries, or both.
Macromedia, Pathware, and Dreamweaver are registered trademarks of Macromedia, Inc. in the United States, other countries, or both.
Netscape and Netscape Navigator are registered trademarks of Netscape Communications Corporation in the United States and other countries.
Oracle is a registered trademark of Oracle Corporation in the United States, other countries, or both.
PKZIP is a registered trademark of PKWARE, Inc. in the United States, other countries, or both.
SmartForce is a trademark of SkillSoft Corporation in the United States, other countries, or both.
SQL Server and Internet Explorer are trademarks of Microsoft Corporation in the United States, other countries, or both. Windows, Windows NT, Active Directory, and Outlook are registered trademarks of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Other product, company, and service names mentioned herein may be the trademarks, registered trademarks, or service marks of their marks of their respective owners.
Contents iii
Contents
Chapter 1 Overview.......................................................................................................................................1
Chapter 2 Learning Management System Database Architecture...................................................................3
Key Summary Report ............................................................................................................................................................... 3
acl.............................................................................................................................................................................................. 7
aclcriteria .................................................................................................................................................................................. 8
announcement ........................................................................................................................................................................... 8
application_server ..................................................................................................................................................................... 9
application_setting .................................................................................................................................................................. 10
approvalrequest ....................................................................................................................................................................... 10
attempt .................................................................................................................................................................................... 11
attribute ................................................................................................................................................................................... 12
attribute_category ................................................................................................................................................................... 13
automatic_role ........................................................................................................................................................................ 13
autoroster_criteria ................................................................................................................................................................... 14
booking ................................................................................................................................................................................... 15
booking_requirement .............................................................................................................................................................. 15
calendar_element .................................................................................................................................................................... 16
calendar_element_reference ................................................................................................................................................... 16
cascaded_permission .............................................................................................................................................................. 17
catalogentry............................................................................................................................................................................. 17
catalogentry_attribute ............................................................................................................................................................. 19
catalogentry_keyword............................................................................................................................................................. 20
catalogentry_language ............................................................................................................................................................ 20
iv Learning Management System Database Architecture
catalogentry_text..................................................................................................................................................................... 20
category................................................................................................................................................................................... 21
certificate ................................................................................................................................................................................ 21
certificate_master.................................................................................................................................................................... 22
cm_package ............................................................................................................................................................................ 23
cm_webserver ......................................................................................................................................................................... 24
collaboration ........................................................................................................................................................................... 25
customfield ............................................................................................................................................................................. 25
customfield_option ................................................................................................................................................................. 26
customfield_value................................................................................................................................................................... 27
customization_set.................................................................................................................................................................... 28
enrollable_approver ................................................................................................................................................................ 28
enrollable_attendee ................................................................................................................................................................. 29
enrollablehelper ...................................................................................................................................................................... 29
enrollableofferinghelper.......................................................................................................................................................... 30
enrollment ............................................................................................................................................................................... 31
equipment_request .................................................................................................................................................................. 32
instructor ................................................................................................................................................................................. 33
instructor_assignment ............................................................................................................................................................. 34
instructor_booking .................................................................................................................................................................. 34
instructor_group...................................................................................................................................................................... 34
instructor_skill ........................................................................................................................................................................ 35
instructor_zone........................................................................................................................................................................ 35
interaction ............................................................................................................................................................................... 36
item_access ............................................................................................................................................................................. 36
Contents v
kmap_keyword........................................................................................................................................................................ 37
location ................................................................................................................................................................................... 38
lsrole ....................................................................................................................................................................................... 39
lvc_requirement ...................................................................................................................................................................... 39
lvc_session.............................................................................................................................................................................. 40
master...................................................................................................................................................................................... 42
master_keyword...................................................................................................................................................................... 44
master_language ..................................................................................................................................................................... 45
master_text.............................................................................................................................................................................. 45
master_tree.............................................................................................................................................................................. 46
metadata .................................................................................................................................................................................. 46
metadata_annotation ............................................................................................................................................................... 49
metadata_contributor .............................................................................................................................................................. 50
metadata_keyword .................................................................................................................................................................. 51
metadata_language.................................................................................................................................................................. 52
metadata_text .......................................................................................................................................................................... 52
metadata_tree .......................................................................................................................................................................... 53
objective.................................................................................................................................................................................. 54
objective_map......................................................................................................................................................................... 55
objective_text.......................................................................................................................................................................... 55
offering ................................................................................................................................................................................... 55
offering_tree............................................................................................................................................................................ 57
oidbatch................................................................................................................................................................................... 58
oidseed .................................................................................................................................................................................... 58
permission............................................................................................................................................................................... 58
vi Learning Management System Database Architecture
prerequisite ............................................................................................................................................................................. 59
progress................................................................................................................................................................................... 60
repeating_calendar_element ................................................................................................................................................... 61
report_file ............................................................................................................................................................................... 61
report_recipient ....................................................................................................................................................................... 62
reportselection......................................................................................................................................................................... 62
reportselection_item................................................................................................................................................................ 63
role_permission....................................................................................................................................................................... 63
rollup_rule............................................................................................................................................................................... 64
rollup_rule_condition.............................................................................................................................................................. 64
room........................................................................................................................................................................................ 65
scheduledemail........................................................................................................................................................................ 66
scheduledreport ....................................................................................................................................................................... 67
send_cmd_queue..................................................................................................................................................................... 67
sequencing .............................................................................................................................................................................. 68
sequencing_rule ...................................................................................................................................................................... 69
sequencing_rule_condition ..................................................................................................................................................... 70
skill ......................................................................................................................................................................................... 71
system_setting......................................................................................................................................................................... 72
systemobject............................................................................................................................................................................ 72
technicalrequirement............................................................................................................................................................... 73
temp_usrgrp ............................................................................................................................................................................ 74
tracking_remark ...................................................................................................................................................................... 74
transaction_info ...................................................................................................................................................................... 75
trusted_ip ................................................................................................................................................................................ 75
Contents vii
user_attribute .......................................................................................................................................................................... 76
user_notification ..................................................................................................................................................................... 76
user_objective ......................................................................................................................................................................... 77
user_role ................................................................................................................................................................................. 77
usr ........................................................................................................................................................................................... 78
usr_xref ................................................................................................................................................................................... 80
vendor ..................................................................................................................................................................................... 80
waitlisteduser .......................................................................................................................................................................... 81
zone_preference ...................................................................................................................................................................... 82
Learning Management System Database Schema Diagram.................................................................................................... 83
Chapter 3 Audit Database Architecture .......................................................................................................87
Key Summary Report ............................................................................................................................................................. 87
auditaction............................................................................................................................................................................... 87
auditlog ................................................................................................................................................................................... 88
auditstream.............................................................................................................................................................................. 88
oidbatch................................................................................................................................................................................... 89
oidseed .................................................................................................................................................................................... 89
Audit Database Schema Diagram ........................................................................................................................................... 90
viii Learning Management System Database Architecture
Chapter 1: Overview 1
Chapter 1 Overview The Learning Management System uses separate relational databases for the Learning Management System Server and the Audit feature. The Learning Management System Server stores information about users, courses, the catalog, and other settings needed to run the Learning Management System. The Audit database tracks events that occur in the Learning Management System, such as a course being removed from the course catalog or a student being registered for a course.
The Learning Management System entities and their relationships are stored in tables in the databases. This guide presents lists and diagrams to summarize the schema of these databases.
2 Learning Management System Database Architecture
Chapter 2: Learning Management System Database Architecture 3
Chapter 2 Learning Management System Database Architecture This chapter summarizes the entities and relationships stored in the Learning Management System database. The tables in this chapter contain updated Release 1.0.3 information. The schema diagram at the end of the chapter is broken into four pages. To reassemble the pages of the Learning Management System schema, use the first page as the top left quadrant of the schema, the second page as the top right quadrant, the third page as the lower left quadrant, and the fourth page as the lower right quadrant.
Key Summary Report Entity Name Key Name Key Type Unique acl acl_pk PrimaryKey YES acl aclupdtime_i Inversion Entry NO aclcriteria aclcriteria_pk PrimaryKey YES aclcriteria aclc_acl_i Inversion Entry NO announcement announce_pk PrimaryKey YES application_server appserv_pk PrimaryKey YES application_server appserv_utime Inversion Entry NO application_server appserv_ak Alternate Key YES application_setting appset_pk PrimaryKey YES application_setting appset_upindex Inversion Entry NO approvalrequest ar_pk PrimaryKey YES approvalrequest ar_uoidceoidooid_i Inversion Entry NO approvalrequest ar_ceoid_i Inversion Entry NO approvalrequest ar_eoid_i Inversion Entry NO attempt attempt_pk PrimaryKey YES attempt attempt_ak Alternate Key YES attribute attribute_pk PrimaryKey YES attribute_category ac_pk PrimaryKey YES attribute_category ac_ak Alternate Key YES automatic_role autorole_pk PrimaryKey YES automatic_role autorole_uptime Inversion Entry NO automatic_role autorole_roid_i Inversion Entry NO autoroster_criteria arcriteria_pk PrimaryKey YES booking book_pk PrimaryKey YES booking book_offeroid_i Inversion Entry NO booking book_room_i Inversion Entry NO booking_requirement bookreq_pk PrimaryKey YES calendar_element calelemnt_pk PrimaryKey YES calendar_element calelemnt_sro_i Inversion Entry NO calendar_element calelemnt_sero_i Inversion Entry NO calendar_element calelemnt_setime_i Inversion Entry NO calendar_element_reference calelemtref_pk PrimaryKey YES cascaded_permission cascperm_pk PrimaryKey YES catalogentry ce_pk PrimaryKey YES catalogentry ce_lcode_u Inversion Entry NO catalogentry ce_master_i Inversion Entry NO catalogentry_attribute catattrib_pk PrimaryKey YES catalogentry_attribute catattrib_ak Alternate Key YES catalogentry_keyword cek_pk PrimaryKey YES catalogentry_keyword cek_keywordname_i Inversion Entry NO catalogentry_keyword cek_cl_i Inversion Entry NO catalogentry_language cel_pk PrimaryKey YES catalogentry_language cel_ak Alternate Key YES
4 Learning Management System Database Architecture
catalogentry_language cel_ceoid Inversion Entry NO catalogentry_text catenttext_pk PrimaryKey YES catalogentry_text catentry_ak Alternate Key YES catalogentry_text ce_ltitle_i Inversion Entry NO catalogentry_text ce_ldesc_i Inversion Entry NO category cat_pk PrimaryKey YES category cat_ak Alternate Key YES certificate cert_pk PrimaryKey YES certificate_master cert_master_pk PrimaryKey YES certificate_master cert_master_ak Alternate Key YES cm_package cmpkg_pk PrimaryKey YES cm_package cmpkg_ak Alternate Key YES cm_webserver cmweb_pk PrimaryKey YES collaboration collab_pk PrimaryKey YES customfield customfield_pk PrimaryKey YES customfield customfield_ak Alternate Key YES customfield_option custfldopt_pk PrimaryKey YES customfield_value cfvalue_pk PrimaryKey YES customfield_value cfvalue_ak Alternate Key YES customfield_value cfvalue_val_i Inversion Entry NO customization_set custset_pk PrimaryKey YES customization_set custset_updatetime Inversion Entry NO enrollable_approver eapp_pk PrimaryKey YES enrollable_approver eapp_ak Alternate Key YES enrollable_attendee ea_pk PrimaryKey YES enrollable_attendee ea_ak Alternate Key YES enrollablehelper eh_pk PrimaryKey YES enrollablehelper eh_ceoid_u Alternate Key YES enrollableofferinghelper eoh_pk PrimaryKey YES enrollableofferinghelper eoh_ooid_u Alternate Key YES enrollment enrollment_pk PrimaryKey YES enrollment enroll_user_i Inversion Entry NO enrollment enroll_offer_i Inversion Entry NO enrollment enroll_ceoid_i Inversion Entry NO equipment_request equipreq_pk PrimaryKey YES instructor inst_pk PrimaryKey YES instructor inst_user_i Inversion Entry NO instructor inst_vendor_i Inversion Entry NO instructor inst_group_i Inversion Entry NO instructor inst_lnl_i Inversion Entry NO instructor inst_fnl_i Inversion Entry NO instructor_assignment instassign_pk PrimaryKey YES instructor_assignment instassign_ak Alternate Key YES instructor_booking instbook_pk PrimaryKey YES instructor_group inst_group_pk PrimaryKey YES instructor_group inst_group_ak Alternate Key YES instructor_skill instskill_pk PrimaryKey YES instructor_zone instzone_pk PrimaryKey YES interaction interact_pk PrimaryKey YES interaction interact_attmpt_i Inversion Entry NO item_access itemacc_pk PrimaryKey YES kmap_keyword kmap_pk PrimaryKey YES kmap_keyword kmap_md_i Inversion Entry NO location loc_pk PrimaryKey YES location loc_namel_i Inversion Entry NO lsrole lsrole_pk PrimaryKey YES lsrole lsr_updatetime_i Inversion Entry NO lvc_requirement lvcreq_pk PrimaryKey YES
Chapter 2: Learning Management System Database Architecture 5
lvc_session lvcsess_pk PrimaryKey YES master master_pk PrimaryKey YES master m_code_i Inversion Entry NO master m_lang_i Inversion Entry NO master m_type_i Inversion Entry NO master m_mdtree_i Inversion Entry NO master_keyword masterkw_pk PrimaryKey YES master_keyword masterkw_kwn_i Inversion Entry NO master_keyword masterkw_ml_i Inversion Entry NO master_language ml_pk PrimaryKey YES master_language ml_ak Alternate Key YES master_language ml_moid_i Inversion Entry NO master_text mtext_pk PrimaryKey YES master_text mtext_ltitle_i Inversion Entry NO master_text mtext_ldesc_i Inversion Entry NO master_text mtext_ak Alternate Key YES master_tree mastertree_pk PrimaryKey YES master_tree mt_position_ak Alternate Key YES master_tree mt_refoid_i Inversion Entry NO metadata metadata_pk PrimaryKey YES metadata_annotation mdannotation_pk PrimaryKey YES metadata_contributor mdcontributor_pk PrimaryKey YES metadata_keyword mdk_pk PrimaryKey YES metadata_keyword mdk_ml_i Inversion Entry NO metadata_language mdl_pk PrimaryKey YES metadata_language mdl_ak Alternate Key YES metadata_text mt_pk PrimaryKey YES metadata_text mt_ak Alternate Key YES metadata_tree metadatatree_pk PrimaryKey YES metadata_tree mt_position_i Inversion Entry NO objective obj_pk PrimaryKey YES objective obj_ak Alternate Key YES objective_map objmap_pk PrimaryKey YES objective_map objmap_ak Alternate Key YES objective_text ot_pk PrimaryKey YES objective_text ot_ak Alternate Key YES offering offer_pk PrimaryKey YES offering offer_city_i Inversion Entry NO offering offer_state_i Inversion Entry NO offering offer_country_i Inversion Entry NO offering offer_ce_i Inversion Entry NO offering_tree offeringtree_pk PrimaryKey YES offering_tree ot_position_u Alternate Key YES offering_tree ot_refoid_i Inversion Entry NO permission permission_pk PrimaryKey YES permission p_updatetime_i Inversion Entry NO prerequisite prereq_pk PrimaryKey YES progress progress_pk PrimaryKey YES progress progress_ak Alternate Key YES progress progress_mdt_i Inversion Entry NO repeating_calendar_element rce_pk PrimaryKey YES repeating_calendar_element rce_sro_i Inversion Entry NO repeating_calendar_element rce_sero_i Inversion Entry NO repeating_calendar_element rce_sed_i Inversion Entry NO report_file repfile_pk PrimaryKey YES report_recipient reprecip_pk PrimaryKey YES reportselection repsel_pk PrimaryKey YES reportselection_item repselitem_pk PrimaryKey YES
6 Learning Management System Database Architecture
role_permission rolepermission_pk PrimaryKey YES rollup_rule rr_pk PrimaryKey YES rollup_rule rr_seqoid_i Inversion Entry NO rollup_rule_condition pk_rrc PrimaryKey YES rollup_rule_condition rrc_rro_i Inversion Entry NO room room_pk PrimaryKey YES room room_loc_i Inversion Entry NO room room_namel_i Inversion Entry NO scheduledemail schedemail_pk PrimaryKey YES scheduledreport schedrep_pk PrimaryKey YES scheduledreport schedrep_own_i Inversion Entry NO send_cmd_queue scque_pk PrimaryKey YES send_cmd_queue scque_seqid Alternate Key YES sequencing seq_pk PrimaryKey YES sequencing seq_ref_i Inversion Entry NO sequencing_rule sr_pk PrimaryKey YES sequencing_rule sr_seqoid_i Inversion Entry NO sequencing_rule_condition src_pk PrimaryKey YES skill skill_pk PrimaryKey YES skill skill_ak Alternate Key YES system_setting sysset_pk PrimaryKey YES systemobject sysobj_pk PrimaryKey YES technicalrequirement techreq_pk PrimaryKey YES technicalrequirement mdtr_metadataoid_i Inversion Entry NO temp_usrgrp tmpusrgrp_pk PrimaryKey YES tracking_remark trackrem_pk PrimaryKey YES tracking_remark trackrem_prog_i Inversion Entry NO transaction_info transinfo_pk PrimaryKey YES trusted_ip trustip_pk PrimaryKey YES user_attribute uattrib_pk PrimaryKey YES user_attribute uattrib_ak Alternate Key YES user_notification unotify_pk PrimaryKey YES user_notification un_uoid_i Inversion Entry NO user_objective uobj_pk PrimaryKey YES user_objective uobj_ak Alternate Key YES user_role userrole_pk PrimaryKey YES user_role ur_useroid_i Inversion Entry NO usr user_pk PrimaryKey YES usr usr_ak Alternate Key YES usr usr_fn_i Inversion Entry NO usr usr_ln_i Inversion Entry NO usr usr_sln_i Inversion Entry NO usr usr_sn_i Inversion Entry NO usr_xref usrxref_pk PrimaryKey YES usr_xref usrxref_ak Alternate Key YES vendor vend_pk PrimaryKey YES vendor vend_ak Alternate Key YES waitlisteduser wlu_pk PrimaryKey YES waitlisteduser wlu_uoidoffoid_u Alternate Key YES zone_preference zone_pk PrimaryKey YES zone_preference zone_ak Alternate Key YES
Chapter 2: Learning Management System Database Architecture 7
acl Entity Name acl Entity Type Independent Primary Keys oid Definition Access control entries. Multiple entries for the same item is a logical OR.
You get the highest ACL access you are permitted from all ACLs. This table is cached by the application. The application poll the DB to find changed records based on updatetime.
Notes Access control entries. These entries will rarely change, therefore this information is cached by the application server.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N pkey node_oid CHAR(20) N fkey to tree table node_position VARCHAR(255) Y domain_id CHAR(4) N 4 char id of the table
ACL is controlling access to.
accesslevel INTN Y 100=read 200=write 300=manage
scope INTN Y 1=Access to this node and all children 2=Access to this node and immediate children 3=Access to this node only
status CHAR(1) Y A = active, I = inactive, D = delete
updatetime DATETIME Y Time record was last modified. Local DB time, not GMT. Updated by DB trigger.
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction status Rule status_domain @var in ('A','I','D') accesslevel Check chk_ack_al @var in (100,200,300) scope Check chk_acl_sc @var between 1 and 3
Relationships
Parent Entity Child Entity Type Relationship Name acl aclcriteria Non-Identifying ref_acl_aclc
8 Learning Management System Database Architecture
aclcriteria Entity Name aclcriteria Entity Type Independent Primary Keys oid Definition Sets which ACLs apply to which users based on LDAP style matching
criteria. Multiple criteria are a logical AND, you must match all criteria entries in order for ACL to be used.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N acl_oid CHAR(20) N match_string NVARCHAR(1025) N 256 N char
if individual - match on userid like *CAM* if group - match on group if attribute - example would be ismanager. match_value is then used.
match_type INTN Y see interface com.lotus.elearn.user.matchable 0 Match Name 1 Match Group 2 Match Attribute
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction match_type Rule match_type_domain @var between 0 and 2
Relationships
Parent Entity Child Entity Type Relationship Name acl aclcriteria Non-Identifying ref_acl_aclc
announcement Entity Name announcement Entity Type Independent Primary Keys oid Definition Table cached by application. Displayed to users based on LDAP attributes
etc found in match_string, similar to aclcriteria. Notes Entries created by admins and displayed on the homepage.
Chapter 2: Learning Management System Database Architecture 9
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N announcement_text NTEXT/LONG
NVARCHAR Y Code says maximum
size is 4000 bytes. DB allows for more.
createdate DATETIME Y timestamp when created
lang VARCHAR(10) Y * means display for all languages
match_type INTN Y see interface com.lotus.elearn.user.matchable 0 Match Name 1 Match Group 2 Match Attribute 3 Match Neg Attribute
match_string NVARCHAR(1025) Y 256 N char similar to ACLcriteria matching
status CHAR(1) Y A = active, I = inactive, D = delete
updatetime DATETIME Y Local DB system time, not GMT. Updated by DB trigger.
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction status Rule status_domain @var in ('A','I','D') match_type Check chk_ann_mt @var between 0 and 3
application_server Entity Name application_server Entity Type Independent Primary Keys oid Definition One record for each DS, LVC, chat, discussion, KM servers.
This table will be small.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N server_id NVARCHAR(257) N 64 N chars server_type INTN Y (serverlocator.java)
SELF_SERVER_TYPE = 1 LMM_SERVER_TYPE = 2
10 Learning Management System Database Architecture
DS_SERVER_TYPE = 3 LVC_SERVER_TYPE = 4 CM_SERVER_TYPE = 5 DISC_SERVER_TYPE = 6 CHAT_SERVER_TYPE = 7
description NVARCHAR(4001) Y 1000 N chars base_url VARCHAR(4001) Y 1000 N chars username NVARCHAR(257) Y 64 N chars password NVARCHAR(257) Y 64 N chars is_services_secure BIT Y status CHAR(1) Y A = active, I = inactive, D = delete updatetime DATETIME Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction is_services_secure Default 0 status Rule status_domain @var in ('A','I','D') server_type Check chk_appsrv_st @var between 1 and 7
application_setting Entity Name application_setting Entity Type Independent Primary Keys oid Definition Each record overrides an application setting found in settings.xml. This table
is cached by the application. Changes should be picked up when next polled by the application.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N tag VARCHAR(2000) N encoded_attributes VARCHAR(2000) Y char_data VARCHAR(2000) Y update_index BIGINT Y
approvalrequest Entity Name approvalrequest Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N user_oid CHAR(20) N catalogentry_oid CHAR(20) N Internal unique key.
Chapter 2: Learning Management System Database Architecture 11
offering_oid CHAR(20) Y manager_oid CHAR(20) Y approved_by_oid CHAR(20) Y enrollment_oid CHAR(20) Y datesent DATETIME N state INTN N (approvalmodule.java)
STATUS_PENDING_APPROVAL= 1 STATUS_APPROVED= 2 STATUS_DENIED= 3
action_type INTN Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction state Check chk_appreq_s @var between 1 and 3
Relationships
Parent Entity Child Entity Type Relationship Name usr approvalrequest Non-Identifying ref_appreq_usr catalogentry approvalrequest Non-Identifying ref_ce_appreq enrollment approvalrequest Non-Identifying ref_enroll_ar offering approvalrequest Non-Identifying ref_off_appreq usr approvalrequest Non-Identifying ref_usr_ar_ab usr approvalrequest Non-Identifying ref_usr_ar_m
attempt Entity Name attempt Entity Type Independent Primary Keys oid Definition A tracked interaction of a learner with an activity. The storage requirements
for this table can become large.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(44) N modified_state INTN Y NOT_MODIFIED= 0
DS_MODIFIED_CREATED= 1 DS_MODIFIED_UPDATED= 2 DS_READY_TO_SEND=5 LMM_RECEIVED_NOT_PROCESSED=3 LMM_PROCESSING_COMPLETE=4 LMM_INCOMPLETE_RECEIVE_STATE=6
progress_oid CHAR(44) N attempt_count INTN N starttime DATETIME N endtime DATETIME Y session_time NUMERIC(8, 2) Y Holds cmi.core.session_time. session_start DATETIME Y
12 Learning Management System Database Architecture
duration NUMERIC(8, 2) Y completion_amount NUMERIC(6, 5) Y is_satisfied BIT Y raw_score NUMERIC(8, 2) Y max_score NUMERIC(8, 2) Y min_score NUMERIC(8, 2) Y runtime_status INTN N 0 = not attempted
1 = incomplete 2 = completed 3 = passed 4 = failed 5 = browsed
entry_status INTN N 0 = ab initio 1 = resume 2 = other
exit_status INTN Y 0 = normal 1 = suspend 2 = timeout 3 = logout
location NVARCHAR(1025)
Y 255 N chars
is_suspended BIT N Suspended state of a node's latest attempt. Applies to course, topic, and activity nodes.
suspend_data NTEXT/LONG NVARCHAR
Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction attempt_count Default 0 is_suspended Default 0 modified_state Rule modified_state_domain @var between 0 and 6 attempt_count Rule nonneg_int_domain @var between 0 and
2147483647 session_time Rule nonneg_domain @var >= 0 duration Rule nonneg_domain @var >= 0 completion_amount Check chk_att_ca completion_amount
between 0 and 1 runtime_status Check chk_att_rs runtime_status between
0 and 5 entry_status Check chk_att_ens entry_status between 0
and 2 exit_status Check chk_att_exs exit_status between 0
and 3
Relationships
Parent Entity Child Entity Type Relationship Name progress attempt Non-Identifying ref_prog_att attempt interaction Non-Identifying ref_att_interact
attribute Entity Name attribute Entity Type Independent
Chapter 2: Learning Management System Database Architecture 13
Primary Keys oid Definition Roughly corresponds to LS5 UPROFS table. User profiles.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N is_system BIT Y name NVARCHAR(8
00) Y 200 N chars
LS5:UPROFS.UP_NAME
description NVARCHAR(4001)
Y 1000 N chars LS5:UPROFS.UP_DESC
Relationships
Parent Entity Child Entity Type Relationship Name attribute catalogentry_attribute Non-Identifying ref_att_cea attribute attribute_category Non-Identifying ref_attcat_att attribute user_attribute Non-Identifying ref_usratt_att
attribute_category
Entity Name attribute_category Entity Type Independent Primary Keys oid Definition Roughly corresponds to LS5 UPCATS. User profile categories.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N category_oid CHAR(20) N attribute_oid CHAR(20) N
Relationships
Parent Entity Child Entity Type Relationship Name category attribute_category Non-Identifying ref_acat_cat attribute attribute_category Non-Identifying ref_attcat_att
automatic_role Entity Name automatic_role Entity Type Independent Primary Keys oid
14 Learning Management System Database Architecture
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N role_oid CHAR(20) Y matching_string NVARCHAR(1025) Y 256 N char match_type INTN Y see interface
com.lotus.elearn.user.matchable 0 Match Name 1 Match Group 2 Match Attribute 3 Match Neg Attribute
status CHAR(1) Y A = active, I = inactive, D = delete
updatetime DATETIME Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction status Rule status_domain @var in ('A','I','D') match_type Check chk_ar_mt @var between 0 and 3
Relationships
Parent Entity Child Entity Type Relationship Name lsrole automatic_role Non-Identifying ref_role_ar
autoroster_criteria Entity Name autoroster_criteria Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N match_string NVARCHAR(1025) Y 256 N char match_type INTN Y see interface
com.lotus.elearn.user.matchable 0 Match Name 1 Match Group 2 Match Attribute
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction match_type Rule match_type_domain @var between 0 and 2
Chapter 2: Learning Management System Database Architecture 15
booking Entity Name booking Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N booking_requirement_oid CHAR(20) N offering_oid CHAR(20) N room_oid CHAR(20) Y blocktype VARCHAR(32) Y calendar_description NVARCHAR(4001) Y 1000 N chars calendar_title NVARCHAR(800) Y 200 N chars
Relationships
Parent Entity Child Entity Type Relationship Name booking_requirement booking Non-Identifying ref_br_book offering booking Non-Identifying ref_off_book room booking Non-Identifying ref_room_book booking equipment_request Non-Identifying ref_book_er
booking_requirement Entity Name booking_requirement Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N metadatatree_oid CHAR(20) Y master_oid CHAR(20) Y disp_order INTN Y blocktype VARCHAR(62) Y activitytype VARCHAR(64) Y days DECIMAL(18, 2) Y hoursperday DECIMAL(18, 2) Y instructor_count INTN Y roomtype VARCHAR(64) Y comments NTEXT/LONG
NVARCHAR Y
schedule_on_day INTN Y Used by author to request that a scheduled activity be scheduled on n day
16 Learning Management System Database Architecture
of the course. Actual schedule not determined until offering is created.
status INTN Y 1=deleted 0=active
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction status Default 0 disp_order Rule integer_domain @var between -
2147483648 and 2147483647
instructor_count Check chk_bookreq_ic @var between 0 and 32767
schedule_on_day Check chk_bookreq_sod @var between 0 and 127
status Check chk_br_status @var between 0 and 1
Relationships
Parent Entity Child Entity Type Relationship Name master booking_requirement Non-Identifying ref_mast_bookreq metadata_tree booking_requirement Non-Identifying ref_mt_bookreq booking_requirement booking Non-Identifying ref_br_book
calendar_element Entity Name calendar_element Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N title NVARCHAR(800) Y 200 N chars description NVARCHAR(4001) Y 1000 N chars schedulable_type VARCHAR(20) Y schedulable_event_type VARCHAR(20) Y start_time DATETIME Y end_time DATETIME Y schedulable_ref_oid CHAR(20) Y schedulable_event_ref_oid CHAR(20) Y
calendar_element_reference Entity Name calendar_element_reference Entity Type Independent Primary Keys oid
Chapter 2: Learning Management System Database Architecture 17
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N title NVARCHAR(800) Y 200 N chars description NVARCHAR(4001) Y 1000 N chars schedulable_type VARCHAR(20) Y schedulable_event_type VARCHAR(20) Y refers_to_ref_oid CHAR(20) Y refers_to_type VARCHAR(20) Y schedulable_ref_oid CHAR(20) Y schedulable_event_oid CHAR(20) Y
cascaded_permission Entity Name cascaded_permission Entity Type Dependent Primary Keys child_oid,parent_oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
child_oid CHAR(20) N parent_oid CHAR(20) N
Relationships
Parent Entity Child Entity Type Relationship Name permission cascaded_permission Identifying ref_perm_cpc permission cascaded_permission Identifying ref_perm_cpp
catalogentry Entity Name catalogentry Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N Internal unique key. owner_oid CHAR(20) Y master_oid CHAR(20) Y code NVARCHAR(80) N 20 NLS chars
Displayed to users. code_lower NVARCHAR(80) Y lang VARCHAR(10) Y display_lang VARCHAR(100) Y list of all languages course is
18 Learning Management System Database Architecture
available in langstring format. UI parses this to come up with list to display.
server_id NVARCHAR(257) Y 64 N char status INTN N (catalogconst.java)
STATUS_DRAFT= 1 STATUS_AVAILABLE= 2 STATUS_INACTIVE= 3 STATUS_IN_PROGRESS= 4STATUS_INCOMPLETE= 5 STATUS_CANCELLED= 6 STATUS_COMPLETE= 7 STATUS_PENDING_USER_UPDATE= 8 STATUS_REJECTED= 9 STATUS_SUPERCEEDED= 10 STATUS_DELETED=11
type INTN Y (catalogconst.java) TYPE_FOLDER = 0 TYPE_COURSE = 1 TYPE_CURRICULUM = 2 TYPE_CERTIFICATE= 3
createdate DATETIME Y expiredate DATETIME Y creator_oid CHAR(20) Y previewable BIT N registered BIT N 1=yes,0=no is_schedulable BIT N If there is an LVC session or
booking requirement, then TRUE otherwise FALSE
is_for_credit BIT N delivery_medium INTN Y How course is delivered, e.g.
virtual, physical, blended. (catalogconst.java) DELIVERY_VIRTUAL= 1 (online) DELIVERY_PHYSICAL= 2 (classroom) DELIVERY_BLENDED= 3
allow_anon_enrollment BIT Y allow_discon_use BIT Y allow_discon_force_online
BIT Y
ds_deployment_status INTN Y (catalogconst.java) NOT_DEPLOYED= 0 DEPLOYING= 1 SUCCEEDED= 2 FAILED= 3 NOT_APPLICABLE=4
deployment_status INTN Y (catalogconst.java) NOT_DEPLOYED= 0 DEPLOYING= 1 SUCCEEDED= 2 FAILED= 3 NOT_APPLICABLE=4
ds_send_trans_id INTN Y email_contact_oid CHAR(20) Y
Chapter 2: Learning Management System Database Architecture 19
email_contact_email_addr
NVARCHAR(1025)
Y 256 N char
has_content BIT Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction previewable Default 0 registered Default 0 is_for_credit Default 1 allow_anon_enrollment Default 0 allow_discon_use Default 0 allow_discon_force_online Default 0 ds_deployment_status Default 0 deployment_status Default 0 ds_send_trans_id Default 0 has_content Default 0 status Check chk_ce_status @var between 1 and 11 type Check chk_ce_type @var between 0 and 3 delivery_medium Check chk_ce_dm @var between 1 and 3 ds_deployment_status Check chk_ce_dds @var between 0 and 4 deployment_status Check chk_cd_ds @var between 0 and 4
Relationships
Parent Entity Child Entity Type Relationship Name master catalogentry Non-Identifying ref_mast_ce usr catalogentry Non-Identifying ref_usr_ce catalogentry approvalrequest Non-Identifying ref_ce_appreq catalogentry catalogentry_keywor
d Non-Identifying ref_ce_cek
catalogentry catalogentry_language
Non-Identifying ref_ce_cel
catalogentry catalogentry_text Non-Identifying ref_ce_cet catalogentry enrollment Non-Identifying ref_ce_e catalogentry enrollablehelper Non-Identifying ref_ce_erh catalogentry instructor_assignment Non-Identifying ref_ce_ia catalogentry offering Non-Identifying ref_ce_off catalogentry catalogentry_attribute Non-Identifying ref_cea_ce
catalogentry_attribute Entity Name catalogentry_attribute Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N catalogentry_oid CHAR(20) N Internal unique key. attribute_oid CHAR(20) N
20 Learning Management System Database Architecture
Relationships
Parent Entity Child Entity Type Relationship Name attribute catalogentry_attribute Non-Identifying ref_att_cea catalogentry catalogentry_attribute Non-Identifying ref_cea_ce
catalogentry_keyword Entity Name catalogentry_keyword Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N catalogentry_oid CHAR(20) N lang VARCHAR(10) Y keyword NVARCHAR(4001) N keyword_lower NVARCHAR(255) Y
Relationships
Parent Entity Child Entity Type Relationship Name catalogentry catalogentry_keyword Non-Identifying ref_ce_cek
catalogentry_language Entity Name catalogentry_language Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N catalogentry_oid CHAR(20) N Internal unique key. lang VARCHAR(100) N
Relationships
Parent Entity Child Entity Type Relationship Name catalogentry catalogentry_language Non-Identifying ref_ce_cel
catalogentry_text Entity Name catalogentry_text
Chapter 2: Learning Management System Database Architecture 21
Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N catalogentry_oid CHAR(20) N Internal unique key. lang VARCHAR(10) Y title NVARCHAR(4001) Y 1000 N chars description NVARCHAR(4002) Y 2000 N chars title_lower NVARCHAR(255) Y description_lower NVARCHAR(255) Y
Relationships
Parent Entity Child Entity Type Relationship Name catalogentry catalogentry_text Non-Identifying ref_ce_cet
category Entity Name category Entity Type Independent Primary Keys oid Definition Roughly corresponds to LS5 UPCATS table
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N is_system BIT Y name NVARCHAR(2
57) Y 63 N chars
LS5:UPCATS.UC_NAME
description NVARCHAR(4001)
Y 1000 N chars LS5:UPCATS.UC_DESC
Relationships
Parent Entity Child Entity Type Relationship Name category attribute_category Non-Identifying ref_acat_cat
certificate Entity Name certificate Entity Type Independent Primary Keys oid
22 Learning Management System Database Architecture
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N master_oid CHAR(20) N Internal Unique ID
(PK). Generated on package import.
user_oid CHAR(20) N the oid of the student to whom this certificate belongs
state INTN Y the current status of the certificate (certificatebean.java) 1=active 2=expired 3=renewal
awarded_on DATETIME Y date awarded expires_on DATETIME Y date certificate
expires warning_mail_sent INTN Y renewal_started_on DATETIME Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction warning_mail_sent Rule nonneg_int_domain @var between 0 and
2147483647 state Check chk_cert_state state between 1 and 3
Relationships
Parent Entity Child Entity Type Relationship Name master certificate Non-Identifying ref_mast_cert usr certificate Non-Identifying ref_u_cert
certificate_master Entity Name certificate_master Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N master_oid CHAR(20) N Internal Unique ID
(PK). Generated on package import.
renew_tree_root_oid CHAR(20) Y certificate_validity_period
INTN Y
max_time_to_compl INTN Y
Chapter 2: Learning Management System Database Architecture 23
ete completion INTN Y 1=autocomplete -
automatically receive certificate when courses completed 2=manualcomplete - admin must approve granting of certificate
is_renewable BIT N
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction certificate_validity_period Rule nonneg_int_domain @var between 0 and
2147483647 max_time_to_complete Rule nonneg_int_domain @var between 0 and
2147483647 completion Check chk_cm_c @var between 1 and 2
Relationships
Parent Entity Child Entity Type Relationship Name master certificate_master Non-Identifying ref_mast_cm
cm_package Entity Name cm_package Entity Type Independent Primary Keys oid Notes Content manager: one active cm_package per package_id.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N package_id VARCHAR(150) Y package_version VARCHAR(50) Y structure_version VARCHAR(50) Y content_version VARCHAR(50) Y locale VARCHAR(20) Y course_id VARCHAR(254) Y course_structure_id VARCHAR(254) Y course_content_id VARCHAR(254) Y directory NVARCHAR(2049) Y 512 N chars pkg_name NVARCHAR(1000) Y pkg_size NUMERIC(10, 1) Y download_pkg_name
NVARCHAR(1000) Y
email_recipients NTEXT/LONG NVARCHAR
Y
deployment_status INTN Y INACTIVE = -1 ACTIVE = 0 SUCCESS = 1 FAIL = 2
24 Learning Management System Database Architecture
UNDEPLOYED = 3
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction deployment_status Check chk_cmp_ds @var between -1 and 3
Relationships
Parent Entity Child Entity Type Relationship Name cm_package cm_webserver Non-Identifying ref_cmp_cmw
cm_webserver Entity Name cm_webserver Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N cm_package_oid CHAR(20) N server_url VARCHAR(400
1) Y 1000 N chars
filepath NVARCHAR(2049)
Y 512 N chars
content_version VARCHAR(50) Y deployment_status INTN Y INACTIVE = -1
ACTIVE = 0 SUCCESS = 1 FAIL = 2 UNDEPLOYED = 3
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction deployment_status Check chk_cmw_ds @var between -1 and 3
Relationships
Parent Entity Child Entity Type Relationship Name cm_package cm_webserver Non-Identifying ref_cmp_cmw
Chapter 2: Learning Management System Database Architecture 25
collaboration Entity Name collaboration Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N ref_oid CHAR(20) Y chat_server_id NVARCHAR(2
57) Y 63 N chars
discussion_server_id NVARCHAR(257)
Y 63 N chars
discussion_file_name NVARCHAR(2049)
Y 512 N chars
discussion_db_title NVARCHAR(2049)
Y 512 N chars
discussion_template NVARCHAR(2049)
Y 512 N chars
discussion_type INTN Y (catalogconst.java) NONE = 0 DDBFORALL = 1 DDBFOREACH = 2 URLFORALL = 3 URLFOREACH = 4
discussion_url NVARCHAR(4001)
Y 1000 N chars
full_text_indexing BIT N allow_email BIT N allow_student_email BIT N
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction full_text_indexing Default 0 allow_email Default 0 allow_student_email Default 0 discussion_type Check chk_collab_dt @var between 0 and 4
customfield Entity Name customfield Entity Type Independent Primary Keys oid Definition Custom fields added to a catalog entry. Can be extended to be for more than
catalogentry in the future.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
26 Learning Management System Database Architecture
oid CHAR(20) N name NVARCHAR(2
57) N 63 N char
domain_id INTN N Indicates the domain to which this field applies, e.g. master, catalogentry, ALL, etc. The values are defined in the application (customfieldconst.java) DOMAIN_ALL= 1 DOMAIN_CATALOGENTYRY = 2 DOMAIN_MASTER = 3
createdate DATETIME Y type INTN N examples: text, drop-
down (customfieldconst.java) TYPE_TEXTBOX = 1 TYPE_DROP_DOWN = 2
default_value NVARCHAR(1025)
Y 256 N chars
required BIT N required if active? searchable BIT N Shows up on search
page? active BIT N
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction required Default 0 searchable Default 0 active Default 0 domain_id Check chk_cf_di @var between 1 and 3 type Check chk_cf_t @var between 1 and 2
Relationships
Parent Entity Child Entity Type Relationship Name customfield customfield_option Identifying ref_cf_cfo customfield customfield_value Non-Identifying ref_cf_cfv
customfield_option Entity Name customfield_option Entity Type Dependent Primary Keys customfield_oid,val Definition Stores option values of catentry custom attributes for example for drop down
menus.
Chapter 2: Learning Management System Database Architecture 27
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
customfield_oid CHAR(20) N val NVARCHAR(257) N 63 N char oid CHAR(20) N display_order INTN Y
Relationships
Parent Entity Child Entity Type Relationship Name customfield customfield_option Identifying ref_cf_cfo
customfield_value Entity Name customfield_value Entity Type Independent Primary Keys oid Definition Ties to record in catalogentry (or other entity) via ref_oid. Description
(name, etc) for field is found in customfield. Possible values can be found in customfield_option.
Notes A custom field can have multiple values per referenced item.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N customfield_oid CHAR(20) N ref_oid CHAR(20) N FK to item using the
foreign key. for example, a catalogentry_oid
val NVARCHAR(257) Y 63 Nchar val_lower NVARCHAR(257) Y 63 N char lowercase
for searching
Relationships
Parent Entity Child Entity Type Relationship Name customfield customfield_value Non-Identifying ref_cf_cfv
28 Learning Management System Database Architecture
customization_set Entity Name customization_set Entity Type Independent Primary Keys oid Notes URL sizes reduced because of sqlserver.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N name NVARCHAR(60) Y match_type INTN Y see interface
com.lotus.elearn.user.matchable 0 Match Name 1 Match Group 2 Match Attribute
match_value NVARCHAR(1025) Y 256 N chars match_string NVARCHAR(1025) Y 256 N char lmm_web_dir NVARCHAR(2049) Y 512 n char lmm_resource_dir NVARCHAR(2049) Y 512 n char ds_web_dir NVARCHAR(2049) Y 512 n char ds_resource_dir NVARCHAR(2049) Y 512 n char logo_url NVARCHAR(2049) Y 1000 n char logoff_url NVARCHAR(2049) Y 1000 n char use_images BIT N use_help BIT N use_css BIT N use_jsp BIT N use_templates BIT N use_text BIT N status CHAR(1) Y A = active, I =
inactive, D = delete updatetime DATETIME Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction use_images Default 0 use_help Default 0 use_css Default 0 use_jsp Default 0 use_templates Default 0 use_text Default 0 match_type Rule match_type_domain @var between 0 and 2 status Rule status_domain @var in ('A','I','D')
enrollable_approver Entity Name enrollable_approver Entity Type Independent Primary Keys oid
Chapter 2: Learning Management System Database Architecture 29
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N user_oid CHAR(20) N enrollablehelper_oid CHAR(20) N
Relationships
Parent Entity Child Entity Type Relationship Name usr enrollable_approver Non-Identifying ref_eapp_usr enrollablehelper enrollable_approver Non-Identifying ref_eh_eapp
enrollable_attendee Entity Name enrollable_attendee Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N user_oid CHAR(20) N PK - Unique ID for
table enrollablehelper_oid CHAR(20) N
Relationships
Parent Entity Child Entity Type Relationship Name usr enrollable_attendee Non-Identifying ref_eatt_usr enrollablehelper enrollable_attendee Non-Identifying ref_eh_eatt
enrollablehelper Entity Name enrollablehelper Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename Domain Datatype Null Definition oid CHAR(20) N catalogentry_oid CHAR(20) N Internal unique key. enrollmin INTN Y -1 means no
minimum enrollmax INTN Y -1 means no
maximum haswaitlist BIT N 1=allowed to have a
waitlist
30 Learning Management System Database Architecture
allowselfenrollment BIT N allowselfunenrollment BIT N requiresmanagerapproval BIT N requiresapproverapproval BIT N requirespayment BIT N requiresstudentoncanattendlist BIT N
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction haswaitlist Default 0 allowselfenrollment Default 0 allowselfunenrollment Default 0 requiresmanagerapproval Default 0 requiresapproverapproval Default 0 requirespayment Default 0 requiresstudentoncanattendlist Default 0 enrollmin Check chk_eh_emin @var between -1 and
2147483647 enrollmax Check chk_eh_emax @var between -1 and
2147483647
Relationships
Parent Entity Child Entity Type Relationship Name catalogentry enrollablehelper Non-Identifying ref_ce_erh enrollablehelper enrollable_approver Non-Identifying ref_eh_eapp enrollablehelper enrollable_attendee Non-Identifying ref_eh_eatt
enrollableofferinghelper Entity Name enrollableofferinghelper Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N offering_oid CHAR(20) N catalogentry_oid CHAR(20) Y start_reg_period DATETIME Y end_reg_period DATETIME Y enrollmin INTN Y Minimum number of
enrolled students for this offering
enrollmax INTN Y maximum number of enrollable students for this offering
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction enrollmin Check chk_eoh_emin @var between -1 and
Chapter 2: Learning Management System Database Architecture 31
2147483674 enrollmax Check chk_eoh_emax @var between -1 and
2147483674
Relationships
Parent Entity Child Entity Type Relationship Name offering enrollableofferinghelper Non-Identifying ref_o_eoh
enrollment Entity Name enrollment Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N catalogentry_oid CHAR(20) N Internal unique key. offering_oid CHAR(20) Y user_oid CHAR(20) N PK - Unique ID for table enrolldate DATETIME Y completed_on DATETIME Y state INTN Y (enrollmentbean.java)
UNKNOWN = 0 PENDING_APPROVAL = 1 APPROVED = 2 DENIED = 3 NOSHOW = 10 UNENROLLED = 90 ENROLLED = 100 ENROLLING = 101 COMPLETED = 110 INCOMPLETE = 111
onlinestate INTN Y (enrollmentbean.java) STATE_ONLINE = 0 STATE_OFFLINE = 1 ? = 2
is_for_credit BIT N source INTN Y 0 --- adminEnroll
1 --- selfEnroll 2 --- autoEnroll 10 -- migrateEnroll
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction is_for_credit Default 1 state Check chk_enroll_s @var in
(0,1,2,3,10,90,100,101,110,111)
onlinestate Check chk_enroll_ols @var between 0 and 2
32 Learning Management System Database Architecture
source Check @var in (0,1,2,10)
Relationships
Parent Entity Child Entity Type Relationship Name catalogentry enrollment Non-Identifying ref_ce_e offering enrollment Non-Identifying ref_off_enroll usr enrollment Non-Identifying ref_usr_enroll enrollment approvalrequest Non-Identifying ref_enroll_ar enrollment progress Non-Identifying ref_enroll_prog enrollment user_objective Non-Identifying ref_enroll_uobj
equipment_request Entity Name equipment_request Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N booking_oid CHAR(20) Y requestor_oid CHAR(20) Y User OID for
requestor requestor_comment NTEXT/LONG
NVARCHAR Y
setup_comment NTEXT/LONG NVARCHAR
Y
completed BIT Y 1 = yes 0 = no
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction completed Default 0
Relationships
Parent Entity Child Entity Type Relationship Name booking equipment_request Non-Identifying ref_book_er usr equipment_request Non-Identifying ref_usr_equipreq
Chapter 2: Learning Management System Database Architecture 33
instructor Entity Name instructor Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N instructor_group_oid CHAR(20) Y user_oid CHAR(20) Y PK - Unique ID for
table vendor_oid CHAR(20) Y first_name NVARCHAR(513) Y 128 N char first_name_lower NVARCHAR(255) Y last_name NVARCHAR(513) Y 128 N char last_name_lower NVARCHAR(255) Y second_name NVARCHAR(513) Y 128 N chars second_name_lower NVARCHAR(255) Y display_name NVARCHAR(513) Y 128 N chars second_last_name NVARCHAR(513) Y 128 N char second_last_name_lower NVARCHAR(255) Y instructor_phone NVARCHAR(513) Y 128 N chars instructor_email NVARCHAR(1025) Y 256 N chars state_type BIT N yes = active
(available) no = not active (not available)
status INTN Y 0=active 1=deleted
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction state_type Default 1 status Default 0 status Check chk_inst_status @var between 0 and 1
Relationships
Parent Entity Child Entity Type Relationship Name instructor_group instructor Non-Identifying ref_ig_inst usr instructor Non-Identifying ref_usr_inst vendor instructor Non-Identifying ref_vend_inst instructor instructor_assignment Non-Identifying ref_inst_ia instructor instructor_booking Identifying ref_inst_ib instructor instructor_skill Identifying ref_inst_is instructor instructor_zone Identifying ref_inst_iz
34 Learning Management System Database Architecture
instructor_assignment Entity Name instructor_assignment Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N instructor_oid CHAR(20) N offering_oid CHAR(20) Y catalogentry_oid CHAR(20) Y Internal unique key.
Relationships
Parent Entity Child Entity Type Relationship Name catalogentry instructor_assignment Non-Identifying ref_ce_ia instructor instructor_assignment Non-Identifying ref_inst_ia offering instructor_assignment Non-Identifying ref_o_instassign
instructor_booking Entity Name instructor_booking Entity Type Dependent Primary Keys instructor_oid,booking_oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
instructor_oid CHAR(20) N booking_oid CHAR(20) N oid CHAR(20) Y is_primary_instructor BIT N
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction is_primary_instructor Default 0
Relationships
Parent Entity Child Entity Type Relationship Name instructor instructor_booking Identifying ref_inst_ib
instructor_group Entity Name instructor_group Entity Type Independent
Chapter 2: Learning Management System Database Architecture 35
Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N lang VARCHAR(10) Y name NVARCHAR(257) Y 200 n chars description NVARCHAR(4001) Y 1000 n chars
Relationships
Parent Entity Child Entity Type Relationship Name instructor_group instructor Non-Identifying ref_ig_inst
instructor_skill Entity Name instructor_skill Entity Type Dependent Primary Keys instructor_oid,skill_oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
instructor_oid CHAR(20) N skill_oid CHAR(20) N oid CHAR(20) Y
Relationships
Parent Entity Child Entity Type Relationship Name instructor instructor_skill Identifying ref_inst_is skill instructor_skill Identifying ref_skill_is
instructor_zone Entity Name instructor_zone Entity Type Dependent Primary Keys instructor_oid,zone_oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
instructor_oid CHAR(20) N zone_oid CHAR(20) N oid CHAR(20) N
36 Learning Management System Database Architecture
Relationships
Parent Entity Child Entity Type Relationship Name instructor instructor_zone Identifying ref_inst_iz zone_preference instructor_zone Identifying ref_zp_iz
interaction Entity Name interaction Entity Type Independent Primary Keys oid Definition Responses from assessments. The storage requirements for this table can
become large.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(44) N attempt_oid CHAR(44) N modified_state INTN N DS_MODIFIED_CREATED= 1
DS_MODIFIED_UPDATED= 2 DS_READY_TO_SEND=5 LMM_RECEIVED_NOT_PROCESSED=3 LMM_PROCESSING_COMPLETE=4 LMM_INCOMPLETE_RECEIVE_STATE=6
interaction_id VARCHAR(255) N objective_id VARCHAR(255) Y Not required to be in OBJECTIVE table. interaction_time DATETIME Y type VARCHAR(20) Y correct_response NVARCHAR(1025) Y 255 N chars student_response NVARCHAR(1025) Y 255 N chars weighting NUMERIC(8, 2) Y result VARCHAR(20) Y latency NUMERIC(8, 2) Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction modified_state Rule modified_state_domain @var between 0 and 6 latency Rule nonneg_domain @var >= 0
Relationships
Parent Entity Child Entity Type Relationship Name attempt interaction Non-Identifying ref_att_interact
item_access Entity Name item_access Entity Type Independent
Chapter 2: Learning Management System Database Architecture 37
Primary Keys oid Definition Records user match strings of users who have explicit access to particular
items. Notes Records user match strings of users who have explicit access to particular
items.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N ref_oid CHAR(20) Y accesslevel INTN Y match_type INTN Y see interface
com.lotus.elearn.user.matchable 0 Match Name 1 Match Group 2 Match Attribute
match_string NVARCHAR(1025) Y 256 N char if individual - match on userid like *CAM* if group - match on group if attribute - example would be ismanager. match_value is then userd.
match_value NVARCHAR(1025) Y 256 N char
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction accesslevel Rule integer_domain @var between -
2147483648 and 2147483647
match_type Rule match_type_domain @var between 0 and 2
kmap_keyword Entity Name kmap_keyword Entity Type Independent Primary Keys oid Definition Knowledge management keywords.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N metadata_oid CHAR(20) N lang VARCHAR(10) Y keyword NVARCHAR(4001) N 1000 N chars
38 Learning Management System Database Architecture
Relationships
Parent Entity Child Entity Type Relationship Name metadata kmap_keyword Non-Identifying ref_md_kmk
location Entity Name location Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N name NVARCHAR(800) Y 200 n chars name_lower NVARCHAR(255) Y addr_line1 NVARCHAR(1025) Y 256 n chars addr_line2 NVARCHAR(1025) Y 256 n chars city NVARCHAR(1025) Y 256 n chars city_lower NVARCHAR(255) Y state NVARCHAR(513) Y 128 n chars state_lower NVARCHAR(255) Y country NVARCHAR(513) Y 128 n chars country_lower NVARCHAR(255) Y zipcode NVARCHAR(120) Y 30 n chars driving_directions NTEXT/LONG
NVARCHAR Y
contact_user_oid CHAR(20) Y User OID for contact contact_name NVARCHAR(513) Y 128 n chars contact_phone NVARCHAR(201) Y 50 n chars contact_email NVARCHAR(1025) Y 256 n chars contact_comment NTEXT/LONG
NVARCHAR Y
status INTN Y 0=active 1=deleted
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction status Default 0 status Check chk_loc_status @var between 0 and 1
Relationships
Parent Entity Child Entity Type Relationship Name usr location Non-Identifying ref_usr_loc location room Non-Identifying ref_room_loc
Chapter 2: Learning Management System Database Architecture 39
lsrole Entity Name lsrole Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N name NVARCHAR(5
13) N 128 N chars
description NVARCHAR(1025)
Y 256 N chars
status CHAR(1) N A = active, I = inactive, D = delete
updatetime DATETIME Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction status Rule status_domain @var in ('A','I','D')
Relationships
Parent Entity Child Entity Type Relationship Name lsrole automatic_role Non-Identifying ref_role_ar lsrole role_permission Identifying ref_role_rp lsrole user_role Identifying ref_role_urole
lvc_requirement Entity Name lvc_requirement Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N master_oid CHAR(20) Y Internal Unique ID
(PK). Generated on package import.
metadatatree_oid CHAR(20) N disp_order INTN Y session_duration INTN N instructor_count INTN Y is_recorded BIT N is_moderated BIT N is_broadcast BIT N uses_chat BIT N uses_whiteboard BIT N
40 Learning Management System Database Architecture
uses_followme BIT N uses_screenshare BIT N uses_polling BIT N uses_breakoutsessions
BIT N
schedule_on_day INTN Y Used by author to request that a scheduled activity be scheduled on n day of the course. Actual schedule not determined until offering is created.
status INTN Y audio_video_type INTN Y 0=none
1=audio 2=audio_video
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction is_recorded Default 0 is_moderated Default 0 is_broadcast Default 0 uses_chat Default 0 uses_whiteboard Default 0 uses_followme Default 0 uses_screenshare Default 0 uses_polling Default 0 uses_breakoutsessions Default 0 status Default 0 audio_video_type Default 0 disp_order Rule integer_domain @var between -
2147483648 and 2147483647
session_duration Check chk_lvcr_sd @var between 0 and 32767
instructor_count Check chk_lvcr_ic @var between 0 and 127
schedule_on_day Check chk_lvcr_sod @var between 0 and 127
status Check chk_lvcr_status @var between 0 and 1 audio_video_type Check chk_lvcr_avt @var between 0 and 2
Relationships
Parent Entity Child Entity Type Relationship Name master lvc_requirement Non-Identifying ref_mast_lvcreq metadata_tree lvc_requirement Non-Identifying ref_mt_lvcreq lvc_requirement lvc_session Non-Identifying ref_lvcreq_lvcsess
lvc_session Entity Name lvc_session Entity Type Independent
Chapter 2: Learning Management System Database Architecture 41
Primary Keys oid Notes sizes reduced to accommodate sqlserver
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N owner_oid CHAR(20) Y PK - Unique ID for
table creator_oid CHAR(20) Y PK - Unique ID for
table lvc_requirement_oid CHAR(20) N offering_oid CHAR(20) N lvc_session_id VARCHAR(100) Y lvc_course_id VARCHAR(100) Y state INTN Y (lvcsessionbean.java)
STATE_INITIAL = 0 STATE_DEPLOYING = 1 STATE_COMPLETE = 2 STATE_FAILED = 3
name NVARCHAR(800)
Y 200 N chars
description NVARCHAR(4001)
Y 1000 n chars
calendar_description NVARCHAR(2049)
Y 1000 n chars
calendar_title NVARCHAR(800)
Y 200 n chars
lvc_server_id NVARCHAR(257)
Y 64 N chars
maintenance_url NVARCHAR(2049)
Y 1000 n chars
student_url NVARCHAR(2049)
Y 1000 n chars
instructor_url NVARCHAR(2049)
Y 1000 n chars
is_recorded BIT N is_previewable BIT N is_moderated BIT N is_broadcast BIT N uses_chat BIT N uses_whiteboard BIT N uses_followme BIT N uses_screenshare BIT N uses_polling BIT N uses_breakoutsessions
BIT N
audio_video_type INTN Y 0=none 1=audio 2=audio_video
42 Learning Management System Database Architecture
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction is_recorded Default 0 is_previewable Default 0 is_moderated Default 0 is_broadcast Default 0 uses_chat Default 0 uses_whiteboard Default 0 uses_followme Default 0 uses_screenshare Default 0 uses_polling Default 0 uses_breakoutsessions Default 0 audio_video_type Default 0 state Check chk_lvcsess_state @var between 0 and 3 audio_video_type Check chk_lvcsess_avt @var between 0 and 2
Relationships
Parent Entity Child Entity Type Relationship Name lvc_requirement lvc_session Non-Identifying ref_lvcreq_lvcsess offering lvc_session Non-Identifying ref_off_lvcsess usr lvc_session Non-Identifying ref_usr_lvc_c usr lvc_session Non-Identifying ref_usr_lvc_o
master Entity Name master Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N Internal Unique ID (PK). Generated on package import.
metadata_tree_oid CHAR(20) Y oid of root node in content_tree for course content
owner_oid CHAR(20) Y packageid VARCHAR(150) Y Read in during import process.
Externally generated ID. Used to decide if imported package is an update or a new master. Cannot be modified on the LMM. Only unique when combined with the version. //imscp:manifest/@ibmls:packageid
code NVARCHAR(80) Y 20 NLS chars User defined unique identifier for the course. Uniqueness not enforced by the DB. Passed from authoring tool to LMM.
Chapter 2: Learning Management System Database Architecture 43
Editable in Authoring tool and LMM. //imscp:manifest/@ibmls:code
code_lower NVARCHAR(80) Y lang VARCHAR(10) Y The language the course is
offered in. SCORM Meta Data 1.4 language Source ambiguous //lom/general/language
structure_version VARCHAR(30) Y Version of the structure in the master. Imported from authoring tool. Cannot be changed on the LMM. Optional field. //imscp:organizations/@ibmls:structureversion
type INTN Y (catalogconst.java) TYPE_FOLDER = 0 TYPE_COURSE = 1 TYPE_CURRICULUM = 2 TYPE_CERTIFICATE = 3
status INTN N mapped to internal values based on external values from SCORM. //lom/lifecycle/status/value/langstring/text() (catalogconst.java) DRAFT= 1 AVAILABLE= 2 INACTIVE= 3 IN_PROGRESS= 4 INCOMPLETE= 5 CANCELLED= 6 COMPLETE= 7 PENDING_USER_UPDATE= 8 REJECTED= 9 SUPERCEEDED= 10 DELETED=11
delivery_medium INTN Y How course is delivered, e.g. virtual, physical, blended. (catalogconst.java) DELIVERY_VIRTUAL= 1 (online) DELIVERY_PHYSICAL= 2 (classroom) DELIVERY_BLENDED= 3
version VARCHAR(201) Y Version of the Master. Increases with each edit. Imported from authoring tool. Cannot be changed on the LMM. //lom/lifecycle/version[last()]/langstring/text()
createdate DATETIME Y Timestamped at insert time and never modified.
expiredate DATETIME Y Date the master/ catalog entry expires. No course based on
44 Learning Management System Database Architecture
this master can be scheduled for after this date, and students cannot enroll in self paced courses after this date.
registered BIT N Has master been put into a folder yet? 1=yes 0=no
is_schedulable BIT N True if master contains schedulable activities. (LVC or classroom (booking) requirements)
requires_discussion BIT Y requires_chat BIT Y content_update_avail BIT Y has_content BIT Y structure_update_avail BIT N
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction registered Default 0 requires_discussion Default 0 requires_chat Default 0 content_update_avail Default 0 has_content Default 0 structure_update_avail Default 0 type Check chk_mast_type @var between 0 and 3 status Check chk_mast_status @var between 1 and 11 delivery_medium Check chk_mast_dm @var between 1 and 3
Relationships
Parent Entity Child Entity Type Relationship Name metadata_tree master Non-Identifying ref_mdt_m usr master Non-Identifying ref_usr_m master booking_requirement Non-Identifying ref_mast_bookreq master catalogentry Non-Identifying ref_mast_ce master certificate Non-Identifying ref_mast_cert master certificate_master Non-Identifying ref_mast_cm master lvc_requirement Non-Identifying ref_mast_lvcreq master master_keyword Non-Identifying ref_mast_mk master master_language Non-Identifying ref_mast_mlang master master_text Non-Identifying ref_mast_mtext master prerequisite Non-Identifying ref_mast_prereq
master_keyword Entity Name master_keyword Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N
Chapter 2: Learning Management System Database Architecture 45
master_oid CHAR(20) N lang VARCHAR(10) Y //lom/general/keywor
d/langstring/@xml:lang
keyword NVARCHAR(4001)
N 1000 N chars //lom/general/keyword/langstring/text()
keyword_lower NVARCHAR(255)
Y
Relationships
Parent Entity Child Entity Type Relationship Name master master_keyword Non-Identifying ref_mast_mk
master_language Entity Name master_language Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N master_oid CHAR(20) N Internal Unique ID
(PK). Generated on package import.
lang VARCHAR(100)
N
Relationships
Parent Entity Child Entity Type Relationship Name master master_language Non-Identifying ref_mast_mlang
master_text Entity Name master_text Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N master_oid CHAR(20) N Internal Unique ID
(PK). Generated on package import.
lang VARCHAR(10) Y
46 Learning Management System Database Architecture
title NVARCHAR(4001) Y 1000 N chars description NVARCHAR(4002) Y 2000 N chars title_lower NVARCHAR(255) Y description_lower NVARCHAR(255) Y
Relationships
Parent Entity Child Entity Type Relationship Name master master_text Non-Identifying ref_mast_mtext
master_tree Entity Name master_tree Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N position VARCHAR(255
) Y
ref_oid CHAR(20) Y Foreign key can point to any object/table. Usually points to record in MASTER.
type INTN Y (catalogconst.java) TYPE_FOLDER= 0 TYPE_COURSE= 1 TYPE_CURRICULUM= 2 TYPE_CERTIFICATE= 3
title NVARCHAR(800)
Y 200 N char
description NVARCHAR(4001)
Y 1000 N text
display_order INTN Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction display_order Rule integer_domain @var between -
2147483648 and 2147483647
type Check chk_mtree_type @var between 0 and 3
metadata Entity Name metadata Entity Type Independent
Chapter 2: Learning Management System Database Architecture 47
Primary Keys oid Definition Trackable unit of a course. Primarily used by DS for display of courses.
Attributes
Attribute/Logical Rolename Domain Datatype Null Definition oid CHAR(20) N tech_format NTEXT/LONG
NVARCHAR Y Scorm 2.2.3.1.4.1 Multivalued MIME
types or NON-DIGITAL. Comma delimited. SCORM technical: 4.1 //lom/technical/format/text() //lom[ancestor::item or ancestor::organization]/technical/format/text()
tech_location NTEXT/LONG NVARCHAR
Y Multi-valued. Preferred location first. SCORM 2.2.3.1.4.3 //lom/technical/location/text()
tech_location_type INTN Y 0=text 1=uri SCORM 2.2.3.1.4.3 First value found is stored (preferred location) //lom/technical/location/@type
tech_duration VARCHAR(20) Y time continuous resource takes when played at intended speed. SCORM 2.2.3.1.4.7 //lom/technical/duration/datetime/text()
ed_resource_type VARCHAR(170) Y SCORM 2.2.3.1.5.2 store as many as we can delimited by commas //lom/educational/learningresourcetype/value/langstring/text()
ed_interactivity_type VARCHAR(30) Y SCORM 2.2.3.1.5.1 //lom/educational/interactivitytype/value/langstring/text()
ed_interactivity_level VARCHAR(30) Y 2.2.3.1.5.3 //lom/educational/interactivitylevel/value/langstring/text()
ed_semantic_density VARCHAR(30) Y 2.2.3.1.5.4 //lom/educational/semanticdensity/value/langstring/text()
ed_end_user_role VARCHAR(70) Y comma delimited list 2.2.3.1.5.5 //lom/educational/intendedenduserrole/value/langstring/text() (1000 chars)
ed_context VARCHAR(300) Y 2.2.3.1.5.6 coma delimited list //lom/educational/context/value/langstring/text()
ed_age_range NTEXT/LONG NVARCHAR
Y comma delimited list 2.2.3.1.5.7 //lom/educational/typicalagerange/langstring/text()
ed_difficulty VARCHAR(30) Y 2.2.3.1.5.8 //lom/educational/difficulty/value/langstring/text()
48 Learning Management System Database Architecture
ed_learning_time VARCHAR(30) Y 2.2.3.1.5.9 //lom/educational/typicallearningtime/datetime/text()
ed_default_language VARCHAR(100) Y comma delimited list 2.2.3.1.5.11 //lom/educational/language/text()
rgts_cost BIT N 0=no 1=yes 2.2.3.1.6.1 //lom/rights/cost/value/langstring/text()
rgts_copyright BIT N 1=yes 0=no 2.2.3.1.6.2 //lom/rights/copyrightandotherrestrictions/value/langstring/text()
rgts_conditions_of_use NTEXT/LONG NVARCHAR
Y Description - condition of use. comma delimited list? 2.2.3.1.6.3 //lom/rights/description/langstring/text()
item_is_visible BIT Y 0=no 1=yes 2.3.5.3.1.2 //item/@isvisible
item_parameters NVARCHAR(4001) Y 1000 N chars 2.3.5.3.1.2 //item/@parameters
adl_max_time_allowed NUMERIC(10, 2) Y 2.3.5.3.1.2.5 //item/adlcp:maxtimeallowed/text()
adl_time_limit_action INTN Y 0=exit,message 1=exit, no message 2=continue, message 3=continue, no message 2.3.5.3.1.2.6 //item:adlcp:timelimitaction/text()
adl_data_from_lms NTEXT/LONG NVARCHAR
Y 4096 N chars 2.3.5.3.1.2.7 //item/adlcp:datafromlms/text()
adl_mastery_score NUMERIC(8, 2) Y 2.3.5.3.1.2.8 //item/adlcp:masteryscore/text()
lifecycle_status INTN Y 0 Draft 1 Final 2 Revised 3 Unavailable
metadata_lang VARCHAR(100) Y item_title NVARCHAR(800) Y 200 N chars item_identifier NVARCHAR(4001) Y item_content_href NTEXT/LONG
NVARCHAR Y 2000 N chars
ibm_previewable BIT N ibm_allow_offline BIT N ibm_incomplete_until_passed BIT Y ibm_activity_type INTN Y 0
1 Topic 2 Authored Assessment 3 Content (Authored SCO) 4 Activity 5 Face to Face Meeting 6 LVC
Chapter 2: Learning Management System Database Architecture 49
7 PreRecorded Session 8 File Activity 9 Course
ibm_launch_new_window BIT N ibm_remote_tracking_url NTEXT/LONG
NVARCHAR Y 2000 N chars
ibm_au_password NVARCHAR(800) Y 200 N chars ibm_cmi_volume_label NTEXT/LONG
NVARCHAR Y
ibm_cmi_work_dir NTEXT/LONG NVARCHAR
Y
ibm_cmi_subst_params NTEXT/LONG NVARCHAR
Y
ibm_announcement_page NTEXT/LONG NVARCHAR
Y 2000 N chars learningspace
ibm_comments_from_lms NTEXT/LONG NVARCHAR
Y
ibm_tracking INTN Y 0 1 standard 2 usersetscompletion 3 completeonlaunch 4 disabled
ibm_max_score NUMERIC(8, 2) Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction rgts_cost Default 0 rgts_copyright Default 0 item_is_visible Default 1 ibm_previewable Default 0 ibm_allow_offline Default 0 ibm_activity_type Default 4 ibm_launch_new_window Default 0 adl_mastery_score Rule smallint_domain @var between -32768
and 32767 tech_location_type Check chk_md_tlt @var between 0 and 1 adl_time_limit_action Check chk_md_atla adl_time_limit_action
between 0 and 3 lifecycle_status Check chk_md_ls @var between 0 and 3 ibm_activity_type Check chk_md_iat @var between 0 and 9 ibm_tracking Check chk_md_it @var between 0 and 4
Relationships
Parent Entity Child Entity Type Relationship Name metadata kmap_keyword Non-Identifying ref_md_kmk metadata metadata_annotation Non-Identifying ref_md_mda metadata metadata_contributor Non-Identifying ref_md_mdc metadata metadata_keyword Non-Identifying ref_md_mdk metadata metadata_language Non-Identifying ref_md_mdl metadata metadata_text Non-Identifying ref_md_mdt metadata technicalrequirement Non-Identifying ref_md_techreq
metadata_annotation
50 Learning Management System Database Architecture
Entity Name metadata_annotation Entity Type Independent Primary Keys oid Definition SCORM 8
This category provides comments on the educational use of the resource, who created the annotation and when. When multiple annotations are needed, multiple instances may be used.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N metadata_oid CHAR(20) N ann_person NVARCHAR(4
001) Y 1000 N chars
The person who created the annotation. SCORM 8.1 (Name part of vcard element) //lom/annotation/person/vcard/text()
ann_date DATETIME Y Date the annotation was created SCORM 8.2 //lom/annotation/date/datetime/text()
ann_description NVARCHAR(4001)
Y 1000 N chars Content of the annotation. SCORM 8.3 //lom/annotation/description/langstring/text()
Relationships
Parent Entity Child Entity Type Relationship Name metadata metadata_annotation Non-Identifying ref_md_mda
metadata_contributor Entity Name metadata_contributor Entity Type Independent Primary Keys oid Definition People or orgs that have contributed to the state of the resource during its
evolution. From SCORM 2.3 Life Cycle Contribute.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N
Chapter 2: Learning Management System Database Architecture 51
metadata_oid CHAR(20) N lang VARCHAR(10) Y //lom/lifecycle/contri
bute/role/value/langstring/@xml:lang
contrib_role VARCHAR(60) Y Author, Publisher, Editor, etc //lom/lifecycle/contribute/role/value/langstring/text()
contrib_date DATETIME Y //lom/lifecycle/contribute/date/datetime/text()
contrib_c_entity NVARCHAR(4001)
Y 1000 N chars xml vcard entry //lom/lifecycle/contribute/centity/vcard/text()
Relationships
Parent Entity Child Entity Type Relationship Name metadata metadata_contributor Non-Identifying ref_md_mdc
metadata_keyword Entity Name metadata_keyword Entity Type Independent Primary Keys oid Definition SCORM 1.6 General section - keyword.
Keywords or phrases describing this resource.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N metadata_oid CHAR(20) N lang VARCHAR(10) Y //lom/general/keywor
d/langstring/@xml:lang
keyword NVARCHAR(4001)
N 1000 N chars SCORM 1.6 //lom/general/keyword/langstring/text()
Relationships
Parent Entity Child Entity Type Relationship Name metadata metadata_keyword Non-Identifying ref_md_mdk
52 Learning Management System Database Architecture
metadata_language Entity Name metadata_language Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N metadata_oid CHAR(20) N lang VARCHAR(100
) N
Relationships
Parent Entity Child Entity Type Relationship Name metadata metadata_language Non-Identifying ref_md_mdl
metadata_text Entity Name metadata_text Entity Type Independent Primary Keys oid Definition One record for each language a material (course or activity) is in.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N metadata_oid CHAR(20) N lang VARCHAR(10) Y (
//lom/general/title/langstring/@xml:lang or //lom/general/description/langstring/@xml:lang ) or //lom/general/language/text()
title NVARCHAR(4001)
Y 1000 N chars //lom/general/title/langstring/text()
description NTEXT/LONG NVARCHAR
Y 4096 N chars //lom/general/description/langstring/text()
tech_install_remarks NTEXT/LONG NVARCHAR
Y //lom/technical/installationremarks/langstring/text()
Chapter 2: Learning Management System Database Architecture 53
tech_otherplatform_reqs
NTEXT/LONG NVARCHAR
Y
Relationships
Parent Entity Child Entity Type Relationship Name metadata metadata_text Non-Identifying ref_md_mdt
metadata_tree Entity Name metadata_tree Entity Type Independent Primary Keys oid Definition Courses have a tree, with ref_oids that point to metadata.
Curriculum has a tree, with ref_oids that point to masters. The ref_oid is the foreign key to the oid in the other table. The ref_oid could potentially point to any table/object.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N position VARCHAR(255
) Y Within a "level",
order is not important. Position defined parent/child relationships.
ref_oid CHAR(20) Y Foreign key can point to any object/table. Usually points to record in METADATA. If part of a curriculum or certificate may point to a record in MASTER.
display_order INTN Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction display_order Rule integer_domain @var between -
2147483648 and 2147483647
Relationships
Parent Entity Child Entity Type Relationship Name metadata_tree master Non-Identifying ref_mdt_m metadata_tree objective Non-Identifying ref_mdt_obj metadata_tree progress Non-Identifying ref_mdt_prog metadata_tree booking_requirement Non-Identifying ref_mt_bookreq metadata_tree lvc_requirement Non-Identifying ref_mt_lvcreq
54 Learning Management System Database Architecture
objective Entity Name objective Entity Type Independent Primary Keys oid Definition A guide supplied by an author/instructional designer
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(44) N metadata_tree_oid CHAR(20) Y obj_id VARCHAR(255
) N A "guide" supplied
by an author/designer modified_state INTN N DS_MODIFIED_CR
EATED= 1 DS_MODIFIED_UPDATED= 2 DS_READY_TO_SEND=5 LMM_RECEIVED_NOT_PROCESSED=3 LMM_PROCESSING_COMPLETE=4 LMM_INCOMPLETE_RECEIVE_STATE=6
is_primary BIT N satisfied_by_measure BIT Y min_satisfied_measure NUMERIC(6, 5) Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction is_primary Default 0 modified_state Rule modified_state_domain @var between 0 and 6 min_satisfied_measure Rule one_domain @var between -1 and 1
Relationships
Parent Entity Child Entity Type Relationship Name metadata_tree objective Non-Identifying ref_mdt_obj objective objective_map Non-Identifying ref_obj_objmapg objective objective_map Non-Identifying ref_obj_objmapl objective objective_text Non-Identifying ref_obj_objt objective user_objective Non-Identifying ref_obj_uobj
Chapter 2: Learning Management System Database Architecture 55
objective_map Entity Name objective_map Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N global_objective_oid
CHAR(44) N
local_objective_oid CHAR(44) N map_satisfied_status BIT Y map_normalized_measure
BIT Y
Relationships
Parent Entity Child Entity Type Relationship Name objective objective_map Non-Identifying ref_obj_objmapg objective objective_map Non-Identifying ref_obj_objmapl
objective_text Entity Name objective_text Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N objective_oid CHAR(44) N lang VARCHAR(10) Y name NVARCHAR(2
049) Y 500 N chars
description NVARCHAR(4002)
Y 2000 n chars
Relationships
Parent Entity Child Entity Type Relationship Name objective objective_text Non-Identifying ref_obj_objt
offering Entity Name offering Entity Type Independent Primary Keys oid
56 Learning Management System Database Architecture
Definition Offerings are only created for courses with scheduled activities. If no scheduled activity, only a catalogentry is created.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N owner_oid CHAR(20) Y catalogentry_oid CHAR(20) N status INTN Y (catalogconst.java)
STATUS_DRAFT= 1 STATUS_AVAILABLE= 2 STATUS_INACTIVE= 3 STATUS_IN_PROGRESS= 4 STATUS_INCOMPLETE= 5 STATUS_CANCELLED= 6 STATUS_COMPLETE= 7 STATUS_PENDING_USER_UPDATE = 8 STATUS_REJECTED= 9 STATUS_SUPERCEEDED= 10 STATUS_DELETED=11
createdate DATETIME Y UTC. startdate DATETIME Y UTC. enddate DATETIME Y UTC. city NVARCHAR(1
025) Y 255 Nchar
city_lower NVARCHAR(255)
Y
state NVARCHAR(1025)
Y 255 N char
state_lower NVARCHAR(255)
Y
country NVARCHAR(513)
Y 128 N char
country_lower NVARCHAR(255)
Y 128 N char
ds_deployment_status
INTN Y (catalogconst.java) NOT_DEPLOYED= 0 DEPLOYING= 1 SUCCEEDED= 2 FAILED= 3 NOT_APPLICABLE=4
deployment_status INTN Y (catalogconst.java)
Chapter 2: Learning Management System Database Architecture 57
NOT_DEPLOYED= 0 DEPLOYING= 1 SUCCEEDED= 2 FAILED= 3 NOT_APPLICABLE=4
ds_send_trans_id INTN Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction ds_deployment_status Default 0 deployment_status Default 0 ds_send_trans_id Default 0 status Check o_stat @var between 1 and 11 ds_deployment_status Check o_ds_dep_stat @var between 0 and 4 deployment_status Check o_dep_stat deployment_status
between 0 and 4
Relationships
Parent Entity Child Entity Type Relationship Name catalogentry offering Non-Identifying ref_ce_off usr offering Non-Identifying ref_usr_off_o offering enrollableofferinghel
per Non-Identifying ref_o_eoh
offering instructor_assignment Non-Identifying ref_o_instassign offering approvalrequest Non-Identifying ref_off_appreq offering booking Non-Identifying ref_off_book offering enrollment Non-Identifying ref_off_enroll offering lvc_session Non-Identifying ref_off_lvcsess offering waitlisteduser Non-Identifying ref_off_wlu
offering_tree Entity Name offering_tree Entity Type Independent Primary Keys oid Definition ref_oids point to catalog entries _not_ offerings.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N position VARCHAR(255
) Y
ref_oid CHAR(20) Y Foreign key can point to any object/table. Usually points to record in catalogentry.
type INTN Y (catalogconst.java) TYPE_FOLDER= 0
58 Learning Management System Database Architecture
TYPE_COURSE= 1 TYPE_CURRICULUM= 2 TYPE_CERTIFICATE= 3
title NVARCHAR(800)
Y 200 N char
description NVARCHAR(4001)
Y 1000 N char
displayorder INTN Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction displayorder Rule integer_domain @var between -
2147483648 and 2147483647
type Check chk_otree_type @var between 0 and 3
oidbatch Entity Name oidbatch Entity Type Independent Definition This table will only have 1 record in it.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
item BIGINT N
oidseed Entity Name oidseed Entity Type Independent Definition This table will have 0 or 1 record in it.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
nval BIGINT Y tempnval BIGINT Y updatecount BIGINT Y
permission Entity Name permission Entity Type Independent Primary Keys oid
Chapter 2: Learning Management System Database Architecture 59
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N name VARCHAR(128
) N not unicode
perm_id INTN N maps to application permission id. ?? what is range - int/long ??
description NVARCHAR(1025)
Y 256 N chars
category INTN Y status CHAR(1) Y A = active, I =
inactive, D = delete updatetime DATETIME Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction status Default 'A' perm_id Rule integer_domain @var between -
2147483648 and 2147483647
category Rule integer_domain @var between -2147483648 and 2147483647
status Rule status_domain @var in ('A','I','D')
Relationships
Parent Entity Child Entity Type Relationship Name permission cascaded_permission Identifying ref_perm_cpc permission cascaded_permission Identifying ref_perm_cpp permission role_permission Identifying ref_rolep_perm
prerequisite Entity Name prerequisite Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N ref_oid CHAR(20) N As of now, this will
always be a master_oid
master_oid CHAR(20) N Internal Unique ID (PK). Generated on package import.
60 Learning Management System Database Architecture
Relationships
Parent Entity Child Entity Type Relationship Name master prerequisite Non-Identifying ref_mast_prereq
progress Entity Name progress Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(44) N enrollment_oid CHAR(20) N metadata_tree_oid CHAR(20) N modified_state INTN N DS_MODIFIED_CR
EATED= 1 DS_MODIFIED_UPDATED= 2 DS_READY_TO_SEND=5 LMM_RECEIVED_NOT_PROCESSED=3 LMM_PROCESSING_COMPLETE=4 LMM_INCOMPLETE_RECEIVE_STATE=6
attempt_count INTN N starttime DATETIME Y endtime DATETIME Y duration NUMERIC(8, 2) Y completion_amount NUMERIC(6, 5) Y times_accessed INTN Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction attempt_count Default 0 times_accessed Default 0 modified_state Rule modified_state_domain @var between 0 and 6 attempt_count Rule nonneg_int_domain @var between 0 and
2147483647 duration Rule nonneg_domain @var >= 0 completion_amount Check chk_prog_ca @var between 0 and 1
Relationships
Parent Entity Child Entity Type Relationship Name enrollment progress Non-Identifying ref_enroll_prog metadata_tree progress Non-Identifying ref_mdt_prog
Chapter 2: Learning Management System Database Architecture 61
progress attempt Non-Identifying ref_prog_att progress tracking_remark Non-Identifying ref_prog_tr
repeating_calendar_element Entity Name repeating_calendar_element Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N title NVARCHAR(8
00) Y 200 N char
description NVARCHAR(4001)
Y 1000 N char
schedulable_type VARCHAR(20) Y schedulable_event_type
VARCHAR(20) Y
start_date DATETIME Y end_date DATETIME Y duration INTN Y frequency INTN Y start_time DATETIME Y end_time DATETIME Y schedulable_ref_oid CHAR(20) Y schedulable_event_ref_oid
CHAR(20) Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction duration Check chk_rce_d @var between 0 and
32767 frequency Check chk_rce_f @var between 0 and
32767
report_file Entity Name report_file Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N user_oid CHAR(20) N createdate DATETIME N host_ip VARCHAR(16) N
62 Learning Management System Database Architecture
filename NVARCHAR(512)
N
content_type VARCHAR(128)
Y
report_recipient Entity Name report_recipient Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N scheduledreport_oid CHAR(20) N email_address NVARCHAR(1
025) N 256 N chars
Relationships
Parent Entity Child Entity Type Relationship Name scheduledreport report_recipient Non-Identifying ref_rr_sr
reportselection Entity Name reportselection Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N scheduledreport_oid CHAR(20) N display_order INTN N parameter VARCHAR(512
) Y
selection_type VARCHAR(50) Y selection_type = 1=user
start_date DATETIME Y end_date DATETIME Y offset INTN N unit VARCHAR(20) Y range VARCHAR(20) Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction offset Default 0
Chapter 2: Learning Management System Database Architecture 63
display_order Rule @var between -32768 and 32767
offset Rule @var between -2147483648 and 2147483647
Relationships
Parent Entity Child Entity Type Relationship Name scheduledreport reportselection Non-Identifying ref_sr_rs reportselection reportselection_item Non-Identifying ref_rs_rsi
reportselection_item Entity Name reportselection_item Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N reportselection_oid CHAR(20) N ptr_oid CHAR(20) N oid of object required
in report. This oid could be for any entity.
Relationships
Parent Entity Child Entity Type Relationship Name reportselection reportselection_item Non-Identifying ref_rs_rsi
role_permission Entity Name role_permission Entity Type Dependent Primary Keys role_oid,perm_oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
role_oid CHAR(20) N perm_oid CHAR(20) N oid CHAR(20) Y
Relationships
Parent Entity Child Entity Type Relationship Name lsrole role_permission Identifying ref_role_rp
64 Learning Management System Database Architecture
permission role_permission Identifying ref_rolep_perm
rollup_rule Entity Name rollup_rule Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N sequencing_oid CHAR(20) N child_activity_set INTN Y 0
1 All 2 Any 3 None 4 At Least count 5 At Least Percent
minimum_count INTN Y minimum_percent NUMERIC(8, 5) Y condition_combination INTN Y 0=undefined
1=all 2=any
rollup_action INTN N 0 1 Satisfied 2 Completed 3 Incomplete 4 Satisfied
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction condition_combination Default 2 minimum_count Rule nonneg_int_domain @var between 0 and
2147483647 child_activity_set Check @var between 0 and 5 minimum_percent Check @var between 0 and 1 condition_combination Check @var between 0 and 2 rollup_action Check @var between 0 and 4
Relationships
Parent Entity Child Entity Type Relationship Name sequencing rollup_rule Non-Identifying ref_seq_rr rollup_rule rollup_rule_condition Non-Identifying ref_rr_rrc
rollup_rule_condition Entity Name rollup_rule_condition Entity Type Independent Primary Keys oid
Chapter 2: Learning Management System Database Architecture 65
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N rollup_rule_oid CHAR(20) N operator BIT Y condition INTN Y 0
1 Satisfied 2 Objective Status Known 3 Objective Measure Known 4 Completed 5 Activity Progress Known 6 Attempted 7 Attempt Limit Exceeded 8 Time Limit Exceeded 9 Outside Available Time Range 10 Never
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction operator Default 0 condition Check @var between 0 and 10
Relationships
Parent Entity Child Entity Type Relationship Name rollup_rule rollup_rule_condition Non-Identifying ref_rr_rrc
room Entity Name room Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N location_oid CHAR(20) N name NVARCHAR(8
00) Y 200 N char
name_lower NVARCHAR(255)
Y
roomtype VARCHAR(64) Y capacity INTN Y num_pcs INTN Y
66 Learning Management System Database Architecture
equipment NTEXT/LONG NVARCHAR
Y
roomcomment NTEXT/LONG NVARCHAR
Y
contact_user_oid CHAR(20) Y contact_name NVARCHAR(5
13) Y 128 N char
contact_phone NVARCHAR(513)
Y 128 N char
contact_email NVARCHAR(1025)
Y 256 N char
contact_comment NTEXT/LONG NVARCHAR
Y
phone_num1 NVARCHAR(513)
Y 128 N char
phone_num2 NVARCHAR(513)
Y 128 N char
status INTN Y 0=Not deleted 1=Deleted
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction status Default 0 capacity Check @var between 0 and
32767 num_pcs Check @var between 0 and
32767 status Check chk_room_status @var between 0 and 1
Relationships
Parent Entity Child Entity Type Relationship Name location room Non-Identifying ref_room_loc usr room Non-Identifying ref_usr_room room booking Non-Identifying ref_room_book
scheduledemail Entity Name scheduledemail Entity Type Independent Primary Keys oid Definition LMM - EmailScheduler module. Records with sent_date not null can be
purged or archived.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N message NTEXT/LONG
NVARCHAR Y
message_type VARCHAR(128)
Y
server_id NVARCHAR(2 Y 64 N chars
Chapter 2: Learning Management System Database Architecture 67
57) scheduled_date DATETIME Y expiration_date DATETIME Y sent_date DATETIME Y message_status CHAR(1) Y message_error VARCHAR(30) Y
scheduledreport Entity Name scheduledreport Entity Type Independent Primary Keys oid Definition One record per report. Fairly static table.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N owner_oid CHAR(20) Y key to users table name NVARCHAR(5
13) Y
report_id VARCHAR(56) N key into the reports.xml file
format VARCHAR(10) Y PDF, HTML, CSV locale VARCHAR(20) Y start_date DATETIME Y end_date DATETIME Y repetitions INTN Y last_run DATETIME Y schedule_unit INTN Y 1. hourly
2. daily 3. weekly 4. monthly
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction repetitions Default -1 repetitions Rule smallint_domain @var between -32768
and 32767 schedule_unit Check @var between 1 and 4
Relationships
Parent Entity Child Entity Type Relationship Name usr scheduledreport Non-Identifying scheduledreport report_recipient Non-Identifying ref_rr_sr scheduledreport reportselection Non-Identifying ref_sr_rs
send_cmd_queue Entity Name send_cmd_queue
68 Learning Management System Database Architecture
Entity Type Independent Primary Keys oid Definition Queue for commands being sent to delivery servers.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N type VARCHAR(100
) Y classname
update_index BIGINT ID create_date DATETIME Y last_retry_date DATETIME Y dest_server_id NVARCHAR(2
57) Y 64 N chars
serialized_obj VARCHAR(4000)
Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction update_index Rule bigint_domain @var between -
9223372036854775808 and 9223372036854775807
sequencing Entity Name sequencing Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename Domain Datatype Null Definition oid CHAR(20) N ref_oid CHAR(20) N points to node in tree control_mode INTN Y Bits toggled for 4
values: 1=choice 2=choose exit 4=flow 8=forward only
attempt_limit INTN Y attempt_elapsed_limit NUMERIC(10, 2) Y attempt_experienced_limit NUMERIC(10, 2) Y activity_elapsed_limit NUMERIC(10, 2) Y activity_experienced_limit NUMERIC(10, 2) Y begin_time_limit DATETIME Y end_time_limit DATETIME Y credit_incompletion_limit INTN Y duration_between_attempts NUMERIC(10, 2) Y rollup_objective_satisfied BIT N objective_measure_weight NUMERIC(6, 5) N
Chapter 2: Learning Management System Database Architecture 69
rollup_progress_completion BIT N is_tracked BIT N completion_set_by_content BIT N objective_set_by_content BIT N
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction rollup_objective_satisfied Default 1 objective_measure_weight Default 1 rollup_progress_completion Default 1 is_tracked Default 1 completion_set_by_content Default 0 objective_set_by_content Default 0 control_mode Rule @var between 0 and 15 attempt_limit Rule @var between 0 and
2147483647 attempt_elapsed_limit Rule @var >= 0 attempt_experienced_limit Rule @var >= 0 activity_elapsed_limit Rule @var >= 0 activity_experienced_limit Rule @var >= 0 credit_incompletion_limit Rule @var between 0 and
100 duration_between_attempts Rule @var >= 0 objective_measure_weight Check @var between 0 and 1
Relationships
Parent Entity Child Entity Type Relationship Name sequencing rollup_rule Non-Identifying ref_seq_rr sequencing sequencing_rule Non-Identifying ref_seq_sr
sequencing_rule Entity Name sequencing_rule Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N sequencing_oid CHAR(20) N rule_type INTN N 0
preConditionSequencingRule 1 exitConditionSequencingRule 2 postConditionSequencingRule
evaluation_order INTN N condition_combinati INTN N 0 undefined
70 Learning Management System Database Architecture
on 1 All 2 Any
rule_action INTN N SKIP = 1 DISABLED = 2 HIDDEN_FROM_CHOICE = 3 STOP_FORWARD_TRANSVERSAL = 4 EXIT_PARENT = 5 EXIT_ALL = 6 RETRY = 7 RETRY_ALL = 8 CONTINUE = 9 PREVIOUS = 10 EXIT = 11
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction condition_combination Default 1 evaluation_order Rule nonneg_int_domain @var between 0 and
2147483647 rule_type Check rule_type between 0
and 2 condition_combination Check @var between 0 and 2 rule_action Check @var between 0 and 11
Relationships
Parent Entity Child Entity Type Relationship Name sequencing sequencing_rule Non-Identifying ref_seq_sr sequencing_rule sequencing_rule_con
dition Non-Identifying ref_sr_src
sequencing_rule_condition Entity Name sequencing_rule_condition Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N sequencing_rule_oid CHAR(20) N condition INTN Y 0
1 Satisfied 2 Objective Status Known 3 Objective Measure Known 4 Objective Measure Less Than
Chapter 2: Learning Management System Database Architecture 71
5 Completed 6 Activity Progress Known 7 Activity Progress Known 8 Attempted 9 Attempt Limit Exceeded 10 Time Limit Exceeded 11 Outside Available Time Range 12 Always
operator BIT Y 0=no-op 1=not
measure_threshold NUMERIC(6, 5) Y objective_oid CHAR(44) Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction operator Default 0 measure_threshold Rule one_domain @var between -1 and 1 condition Check chk_src_c @var between 0 and 12
Relationships
Parent Entity Child Entity Type Relationship Name sequencing_rule sequencing_rule_con
dition Non-Identifying ref_sr_src
skill Entity Name skill Entity Type Independent Primary Keys oid Definition Lists skills an instructor can have.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N lang VARCHAR(10) Y Currently only one
language per skill is supported. Lang pref of person creating skill is saved.
name NVARCHAR(255)
Y 200 N chars - changed to 64 N chars
description NVARCHAR(4001)
Y 1000 N chars
72 Learning Management System Database Architecture
Relationships
Parent Entity Child Entity Type Relationship Name skill instructor_skill Identifying ref_skill_is
system_setting Entity Name system_setting Entity Type Independent Primary Keys oid Definition This table can be sized very small. Internal system settings.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N name NVARCHAR(5
13) Y 128 N chars (bbs)
char_value NVARCHAR(513)
Y 128 N chars (bbs)
int_value INTN Y boolean_value BIT Y numeric_value NUMERIC(15,
5) Y
systemobject Entity Name systemobject Entity Type Independent Primary Keys objname,objtype Definition Not used by application. Can be used to verify deployments.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
objname VARCHAR(40) N objtype CHAR(1) N T Table
V View I index R ref integrity G Trigger S sequence
domain_id VARCHAR(20) Y createdate DATETIME Y
Chapter 2: Learning Management System Database Architecture 73
technicalrequirement Entity Name technicalrequirement Entity Type Independent Primary Keys oid Definition Technical capabilities required in order to use the resource. If multiple
requirements, then all are required (logical AND). From SCORM 4.4 Technical Requirement
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N metadata_oid CHAR(20) N req_type INTN Y 0=operating system
1=browser 2=other SCORM 4.4.1 //lom/technical/requirement/type/source/langstring/text()
req_name VARCHAR(128) Y if type=os - PC-DOS, MS-Windows, MacOS, Unix etc if type=browser - Any, Netscape, Explorer, Opera, etc //lom/technical/requirement/type/name/langstring/text()
req_min_version NVARCHAR(120) Y 30 N chars SCORM 4.4.3 //lom/technical/requirement/minimumversion
req_max_version NVARCHAR(120) Y 30 N chars 4.4.4 //lom/technical/requirement/maximumversion
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction req_type Check chk_tr_rt @var between 0 and 2
Relationships
Parent Entity Child Entity Type Relationship Name metadata technicalrequirement Non-Identifying ref_md_techreq
74 Learning Management System Database Architecture
temp_usrgrp Entity Name temp_usrgrp Entity Type Independent Primary Keys oid Definition Used during LDAP searches. Can be cleaned out when transactions are
cleaned out of transaction_info.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N transaction_oid CHAR(20) N display_name NVARCHAR(2
56) Y
distinguished_name NVARCHAR(1000)
Y
ldap_id NVARCHAR(255)
Y
Relationships
Parent Entity Child Entity Type Relationship Name transaction_info temp_usrgrp Non-Identifying ref_tusrg_ti
tracking_remark Entity Name tracking_remark Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(44) N progress_oid CHAR(44) N modified_state INTN N DS_MODIFIED_CR
EATED= 1 DS_MODIFIED_UPDATED= 2 DS_READY_TO_SEND=5 LMM_RECEIVED_NOT_PROCESSED=3 LMM_PROCESSING_COMPLETE=4 LMM_INCOMPLETE_RECEIVE_STATE=6
location NVARCHAR(1025)
Y 255 N chars
Chapter 2: Learning Management System Database Architecture 75
remark NTEXT/LONG NVARCHAR
N
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction modified_state Rule modified_state_domain @var between 0 and 6
Relationships
Parent Entity Child Entity Type Relationship Name progress tracking_remark Non-Identifying ref_prog_tr
transaction_info Entity Name transaction_info Entity Type Independent Primary Keys oid Definition Used during LDAP searches. Can safely be cleaned out, after records are
removed from temp_usrgrp.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N creation_date DATETIME Y expiration_date DATETIME Y table_name VARCHAR(128) Y description NVARCHAR(1000) Y
Relationships
Parent Entity Child Entity Type Relationship Name transaction_info temp_usrgrp Non-Identifying ref_tusrg_ti
trusted_ip Entity Name trusted_ip Entity Type Independent Primary Keys oid Definition Used by reporting system.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N ip_addr VARCHAR(16) N last_mod DATETIME N
76 Learning Management System Database Architecture
user_attribute Entity Name user_attribute Entity Type Independent Primary Keys oid Definition Roughly corresponds to LS5 UPINT table. Links user profile (attribute)
records to user (usr) records.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N user_oid CHAR(20) N attribute_oid CHAR(20) N
Relationships
Parent Entity Child Entity Type Relationship Name attribute user_attribute Non-Identifying ref_usratt_att usr user_attribute Non-Identifying ref_usratt_usr
user_notification Entity Name user_notification Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N user_oid CHAR(20) N creation_date DATETIME Y msgtext NTEXT/LONG
NVARCHAR Y
Relationships
Parent Entity Child Entity Type Relationship Name usr user_notification Non-Identifying ref_unotify_usr
Chapter 2: Learning Management System Database Architecture 77
user_objective Entity Name user_objective Entity Type Independent Primary Keys oid
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(44) N user_oid CHAR(20) N objective_oid CHAR(44) N enrollment_oid CHAR(20) Y modified_state INTN Y DS_MODIFIED_CREATED= 1
DS_MODIFIED_UPDATED= 2 DS_READY_TO_SEND=5 LMM_RECEIVED_NOT_PROCESSED=3 LMM_PROCESSING_COMPLETE=4 LMM_INCOMPLETE_RECEIVE_STATE=6
runtime_status INTN N 0 = not attempted 1 = incomplete 2 = completed 3 = passed 4 = failed 5 = browsed
is_satisfied BIT Y normalized_score NUMERIC(6, 5) Y raw_score NUMERIC(8, 2) Y max_score NUMERIC(8, 2) Y min_score NUMERIC(8, 2) Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction modified_state Rule modified_state_domain @var between 0 and 6 runtime_status Check runtime_status between
0 and 5 normalized_score Check normalized_score
between -1 and 1
Relationships
Parent Entity Child Entity Type Relationship Name enrollment user_objective Non-Identifying ref_enroll_uobj objective user_objective Non-Identifying ref_obj_uobj usr user_objective Non-Identifying ref_usr_uobj
user_role Entity Name user_role Entity Type Dependent Primary Keys role_oid,user_oid
78 Learning Management System Database Architecture
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
role_oid CHAR(20) N user_oid CHAR(20) N oid CHAR(20) Y
Relationships
Parent Entity Child Entity Type Relationship Name lsrole user_role Identifying ref_role_urole usr user_role Identifying ref_usr_urole
usr Entity Name usr Entity Type Independent Primary Keys oid Definition Cached info from LDAP. LDAP is used for authentication. Roughly
corresponds to LS5 USERS table.
Attributes
Attribute/Logical Rolename Domain Datatype Null Definition oid CHAR(20) N distinguished_name NVARCHAR(1000) Y ldap_id VARCHAR(255) N Unique ID for record in LDAP dir.
Either distinguished name or user ID. LS5:USERS_UNAME
user_id VARCHAR(255) Y LS5:USERS.U_NAME active BIT N LS5:USERS.U_ACTIVE business_category NVARCHAR(128) Y common_name NVARCHAR(256) Y department_number NVARCHAR(128) Y description NTEXT/LONG
NVARCHAR Y
display_name NVARCHAR(128) Y email_address VARCHAR(256) Y LS5:USERS.U_MAIL employee_number NVARCHAR(80) Y LS5:USERS.U_NUMBER employee_type NVARCHAR(128) Y first_name NVARCHAR(128) Y LS5:USERS.U_F_NAME first_name_lower NVARCHAR(128) Y last_name NVARCHAR(128) Y LS5:USERS.U_L_NAME last_name_lower NVARCHAR(128) Y initials NVARCHAR(20) Y manager NTEXT/LONG
NVARCHAR Y
organization NVARCHAR(128) Y organizational_unit NVARCHAR(128) Y second_last_name NVARCHAR(128) Y second_last_name_lower NVARCHAR(128) Y second_name NVARCHAR(128) Y second_name_lower NVARCHAR(128) Y
Chapter 2: Learning Management System Database Architecture 79
title NVARCHAR(128) Y language_preference VARCHAR(16) Y locale_preference VARCHAR(16) Y calendar_state_preference VARCHAR(16) Y records_per_page_preference INTN Y tooltips_preference BIT Y primary_calendar_preference VARCHAR(16) Y secondary_calendar_preference VARCHAR(16) Y datepicker_calendar_preference VARCHAR(16) Y start_day_preference CHAR(1) Y timezone_preference VARCHAR(32) Y email_type_preference VARCHAR(64) Y disconnected_password NVARCHAR(128) Y is_manager BIT Y search_base VARCHAR(254) Y createdate DATETIME Y updatetime DATETIME Y number_of_logons INTN Y last_logon DATETIME Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction active Default 1 language_preference Default 'en' locale_preference Default 'en_US' calendar_state_preference Default 'viewMonth' records_per_page_preference Default 10 tooltips_preference Default 1 primary_calendar_preference Default 'gregorian' secondary_calendar_preference Default 'gregorian' datepicker_calendar_preference Default 'gregorian' start_day_preference Default '1' timezone_preference Default 'EST' is_manager Default 0 number_of_logons Default 0 records_per_page_preference Rule integer_domain @var between -
2147483648 and 2147483647
number_of_logons Rule nonneg_int_domain @var between 0 and 2147483647
Relationships
Parent Entity Child Entity Type Relationship Name usr scheduledreport Non-Identifying usr approvalrequest Non-Identifying ref_appreq_usr usr enrollable_approver Non-Identifying ref_eapp_usr usr enrollable_attendee Non-Identifying ref_eatt_usr usr certificate Non-Identifying ref_u_cert usr user_notification Non-Identifying ref_unotify_usr usr approvalrequest Non-Identifying ref_usr_ar_ab usr approvalrequest Non-Identifying ref_usr_ar_m usr catalogentry Non-Identifying ref_usr_ce usr enrollment Non-Identifying ref_usr_enroll usr equipment_request Non-Identifying ref_usr_equipreq usr instructor Non-Identifying ref_usr_inst
80 Learning Management System Database Architecture
usr location Non-Identifying ref_usr_loc usr lvc_session Non-Identifying ref_usr_lvc_c usr lvc_session Non-Identifying ref_usr_lvc_o usr master Non-Identifying ref_usr_m usr offering Non-Identifying ref_usr_off_o usr room Non-Identifying ref_usr_room usr user_objective Non-Identifying ref_usr_uobj usr user_role Identifying ref_usr_urole usr waitlisteduser Non-Identifying ref_usr_wlu usr user_attribute Non-Identifying ref_usratt_usr
usr_xref Entity Name usr_xref Entity Type Independent Primary Keys oid Definition This table is used during migration. Unless there is a record in this table
matching LS4/5 userids to LMS user oids, user progress cannot be migrated to the LMS. This table is not used outside of user and course migration, and can be sized small, or deleted if not needed.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N old_u_id VARCHAR(255
) Y LS5:USERS.U_ID
first_name NVARCHAR(128)
Y LS5:USERS.U_F_NAME
last_name NVARCHAR(128)
Y LS5:USERS.U_L_NAME
create_date DATETIME Y update_date DATETIME Y
vendor Entity Name vendor Entity Type Independent Primary Keys oid Definition If this table becomes large, and there is a lot of searching on it, indexing the
_lower fields is recommended. This will not usually be the case, so they are not indexed by default. This is which vendor an instructor is contracted through.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N name NVARCHAR(800) N 200 N chars name_lower NVARCHAR(255) Y addr_line1 NVARCHAR(1025) Y 256 N char
Chapter 2: Learning Management System Database Architecture 81
addr_line2 NVARCHAR(1025) Y 256 N char city NVARCHAR(1025) Y 256 N char city_lower NVARCHAR(255) Y state NVARCHAR(513) Y 128 N char state_lower NVARCHAR(255) Y country NVARCHAR(513) Y 128 N char country_lower NVARCHAR(255) Y zipcode NVARCHAR(120) Y 30 N char contact_name NVARCHAR(513) Y 128 N char contact_phone NVARCHAR(201) Y 50 n chars contact_fax NVARCHAR(201) Y 50 n chars contact_email NVARCHAR(1025) Y 256 n chars company_billing_info NVARCHAR(1025) Y 255 n chars
Relationships
Parent Entity Child Entity Type Relationship Name vendor instructor Non-Identifying ref_vend_inst
waitlisteduser Entity Name waitlisteduser Entity Type Independent Primary Keys oid Definition Users who want to enroll in a course that is too full.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N user_oid CHAR(20) N offering_oid CHAR(20) N listorder BIGINT Y
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction listorder Rule bigint_domain @var between -
9223372036854775808 and 9223372036854775807
Relationships
Parent Entity Child Entity Type Relationship Name offering waitlisteduser Non-Identifying ref_off_wlu usr waitlisteduser Non-Identifying ref_usr_wlu
82 Learning Management System Database Architecture
zone_preference Entity Name zone_preference Entity Type Independent Primary Keys oid Definition Zone preference for instructor.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N lang VARCHAR(10) Y Currently, default
lang pref of user creating zone is saved. Multiple languages for a single zone not currently supported.
name NVARCHAR(257) Y 200 n chars description NVARCHAR(4001) Y 1000 n chars
Relationships
Parent Entity Child Entity Type Relationship Name zone_preference instructor_zone Identifying ref_zp_iz
booking_requirement
oid
metadatatree_oid (FK)master_oid (FK)disp_orderblocktypeactivitytypedayshoursperdayinstructor_countroomtypecommentsschedule_on_daystatus
lvc_requirement
oid
master_oid (FK)metadatatree_oid (FK)disp_ordersession_durationinstructor_countis_recordedis_moderatedis_broadcastuses_chatuses_whiteboarduses_followmeuses_screenshareuses_pollinguses_breakoutsessionsschedule_on_daystatusaudio_video_type
autoroster_criteria
oid
match_stringmatch_type
master_tree
oid
positionref_oidtypetitledescriptiondisplay_order
master_text
oid
master_oid (FK)langtitledescriptiontitle_lowerdescription_lower
master_keyword
oid
master_oid (FK)langkeywordkeyword_lower
prerequisite
oid
master_oid (FK)ref_oid
master_language
oid
master_oid (FK)lang
offering_tree
oid
positionref_oidtypetitledescriptiondisplayorder
certificate_master
oid
master_oid (FK)renew_tree_root_oidcertificate_validity_periodmax_time_to_completecompletionis_renewable
catalogentry_language
oid
catalogentry_oid (FK)lang
catalogentry_keyword
oid
catalogentry_oid (FK)langkeywordkeyword_lower
catalogentry_text
oid
catalogentry_oid (FK)langtitledescriptiontitle_lowerdescription_lower
catalogentry
oid
owner_oid (FK)master_oid (FK)codecode_lowerlangdisplay_langserver_idstatustypecreatedateexpiredatecreator_oidpreviewableregisteredis_schedulableis_for_creditdelivery_mediumallow_anon_enrollmentallow_discon_useallow_discon_force_onlineds_deployment_statusdeployment_statusds_send_trans_idemail_contact_oidemail_contact_email_addrhas_content
offering
oid
owner_oid (FK)catalogentry_oid (FK)statuscreatedatestartdateenddatecitycity_lowerstatestate_lowercountrycountry_lowerds_deployment_statusdeployment_statusds_send_trans_id
certificate
oid
master_oid (FK)user_oid (FK)stateawarded_onexpires_onwarning_mail_sentrenewal_started_on
enrollableofferinghelper
oid
offering_oid (FK)catalogentry_oidstart_reg_periodend_reg_periodenrollminenrollmax
instructor_booking
booking_oidinstructor_oid (FK)
oidis_primary_instructor
instructor_assignment
oid
instructor_oid (FK)offering_oid (FK)catalogentry_oid (FK)
lvc_session
oid
owner_oid (FK)creator_oid (FK)lvc_requirement_oid (FK)offering_oid (FK)lvc_session_idlvc_course_idstatenamedescriptioncalendar_descriptioncalendar_titlelvc_server_idmaintenance_urlstudent_urlinstructor_urlis_recordedis_previewableis_moderatedis_broadcastuses_chatuses_whiteboarduses_followmeuses_screenshareuses_pollinguses_breakoutsessionsaudio_video_type
booking
oid
booking_requirement_oid (FK)offering_oid (FK)room_oid (FK)blocktypecalendar_descriptioncalendar_title
metadata_tree
oid
positionref_oiddisplay_order
master
oid
metadata_tree_oid (FK)owner_oid (FK)packageidcodecode_lowerlangstructure_versiontypestatusdelivery_mediumversioncreatedateexpiredateregisteredis_schedulablerequires_discussionrequires_chatcontent_update_availhas_contentstructure_update_avail
Project : LMS Server
Author : IBM software
Company : IBM
Version : 1.03 Modified: 12/1/2003
Copyright (c) 2002, 2003 IBM
[ 1, 1 ] - R
[ 1, 1 ] - B
permission
oid
nameperm_iddescriptioncategorystatusupdatetime
lsrole
oid
namedescriptionstatusupdatetime
role_permission
role_oid (FK)perm_oid (FK)
oid
user_role
role_oid (FK)user_oid (FK)
oid
location
oid
contact_user_oid (FK)
namename_loweraddr_line1addr_line2citycity_lowerstatestate_lowercountrycountry_lowerzipcodedriving_directions
contact_namecontact_phonecontact_emailcontact_commentstatus
room
oid
location_oid (FK)
contact_user_oid (FK)
namename_lowerroomtypecapacitynum_pcsequipmentroomcomment
contact_namecontact_phonecontact_emailcontact_commentphone_num1phone_num2status
automatic_role
oid
role_oid (FK)matching_stringmatch_typestatusupdatetime
cascaded_permission
child_oid (FK)parent_oid (FK)
instructor_group
oid
langnamedescription
zone_preference
oid
langnamedescription
skill
oid
langnamedescription
instructor_zone
instructor_oid (FK)zone_oid (FK)
oid
instructor_skill
instructor_oid (FK)skill_oid (FK)
oid
equipment_request
oid
booking_oid (FK)requestor_oid (FK)requestor_commentsetup_commentcompleted
category
oid
is_systemnamedescription
attribute_category
oid
category_oid (FK)attribute_oid (FK)
user_notification
oid
user_oid (FK)creation_datemsgtext
user_attribute
oid
user_oid (FK)attribute_oid (FK)
attribute
oid
is_systemnamedescription
enrollablehelper
oid
catalogentry_oid (FK)enrollminenrollmaxhaswaitlistallowselfenrollmentallowselfunenrollmentrequiresmanagerapprovalrequiresapproverapprovalrequirespaymentrequiresstudentoncanattendlist
catalogentry_attribute
oid
catalogentry_oid (FK)attribute_oid (FK)
enrollable_approver
oid
user_oid (FK)enrollablehelper_oid (FK)
enrollable_attendee
oid
user_oid (FK)enrollablehelper_oid (FK)
aclcriteria
oid
acl_oid (FK)match_stringmatch_type
acl
oid
node_oidnode_positiondomain_idaccesslevelscopestatusupdatetime
approvalrequest
oid
user_oid (FK)catalogentry_oid (FK)offering_oid (FK)manager_oid (FK)approved_by_oid (FK)enrollment_oid (FK)datesentstateaction_type
enrollment
oid
catalogentry_oid (FK)offering_oid (FK)user_oid (FK)enrolldatecompleted_onstateonlinestateis_for_creditsource
waitlisteduser
oid
user_oid (FK)offering_oid (FK)listorder
usr
oid
distinguished_nameldap_iduser_idactivebusiness_categorycommon_namedepartment_numberdescriptiondisplay_nameemail_addressemployee_numberemployee_typefirst_namefirst_name_lowerlast_namelast_name_lowerinitialsmanagerorganizationorganizational_unitsecond_last_namesecond_last_name_lowersecond_namesecond_name_lowertitlelanguage_preferencelocale_preferencecalendar_state_preferencerecords_per_page_preferencetooltips_preferenceprimary_calendar_preferencesecondary_calendar_preferencedatepicker_calendar_preferencestart_day_preferencetimezone_preferenceemail_type_preferencedisconnected_passwordis_managersearch_basecreatedateupdatetimenumber_of_logonslast_logon
[ 1, 2 ] - L
[ 1, 2 ] - B
sequencing
oid
ref_oidcontrol_modeattempt_limitattempt_elapsed_limitattempt_experienced_limitactivity_elapsed_limitactivity_experienced_limitbegin_time_limitend_time_limitcredit_incompletion_limitduration_between_attemptsrollup_objective_satisfiedobjective_measure_weightrollup_progress_completionis_trackedcompletion_set_by_contentobjective_set_by_content
sequencing_rule
oid
sequencing_oid (FK)rule_typeevaluation_ordercondition_combinationrule_action
sequencing_rule_condition
oid
sequencing_rule_oid (FK)conditionoperatormeasure_thresholdobjective_oid
rollup_rule
oid
sequencing_oid (FK)child_activity_setminimum_countminimum_percentcondition_combinationrollup_action
rollup_rule_condition
oid
rollup_rule_oid (FK)operatorcondition
progress
oid
enrollment_oid (FK)metadata_tree_oid (FK)modified_stateattempt_countstarttimeendtimedurationcompletion_amounttimes_accessed
tracking_remark
oid
progress_oid (FK)modified_statelocationremark
attempt
oid
progress_oid (FK)modified_state
attempt_countstarttimeendtimesession_timesession_startdurationcompletion_amountis_satisfiedraw_scoremax_scoremin_scoreruntime_statusentry_statusexit_statuslocationis_suspendedsuspend_data
interaction
oid
attempt_oid (FK)modified_stateinteraction_idobjective_idinteraction_timetypecorrect_responsestudent_responseweightingresultlatency
vendor
oid
namename_loweraddr_line1addr_line2citycity_lowerstatestate_lowercountrycountry_lowerzipcodecontact_namecontact_phonecontact_faxcontact_emailcompany_billing_info
instructor
oid
instructor_group_oid (FK)user_oid (FK)vendor_oid (FK)first_namefirst_name_lowerlast_namelast_name_lowersecond_namesecond_name_lowerdisplay_namesecond_last_namesecond_last_name_lowerinstructor_phoneinstructor_emailstate_typestatus
objective_text
oid
objective_oid (FK)langnamedescription
objective_map
oid
global_objective_oid (FK)local_objective_oid (FK)map_satisfied_statusmap_normalized_measure
objective
oid
metadata_tree_oid (FK)obj_idmodified_stateis_primarysatisfied_by_measuremin_satisfied_measure
user_objective
oid
user_oid (FK)objective_oid (FK)enrollment_oid (FK)modified_stateruntime_statusis_satisfiednormalized_scoreraw_scoremax_scoremin_score
metadata_contributor
oid
metadata_oid (FK)langcontrib_rolecontrib_datecontrib_c_entity
metadata_annotation
oid
metadata_oid (FK)ann_personann_dateann_description
kmap_keyword
oid
metadata_oid (FK)langkeyword
metadata_keyword
oid
metadata_oid (FK)langkeyword
technicalrequirement
oid
metadata_oid (FK)req_typereq_namereq_min_versionreq_max_version
metadata
oid
tech_formattech_locationtech_location_typetech_durationed_resource_typeed_interactivity_typeed_interactivity_leveled_semantic_densityed_end_user_roleed_contexted_age_rangeed_difficultyed_learning_timeed_default_languagergts_costrgts_copyrightrgts_conditions_of_useitem_is_visibleitem_parametersadl_max_time_allowedadl_time_limit_actionadl_data_from_lmsadl_mastery_scorelifecycle_statusmetadata_langitem_titleitem_identifieritem_content_hrefibm_previewableibm_allow_offlineibm_incomplete_until_passedibm_activity_typeibm_launch_new_windowibm_remote_tracking_urlibm_au_passwordibm_cmi_volume_labelibm_cmi_work_diribm_cmi_subst_paramsibm_announcement_pageibm_comments_from_lmsibm_trackingibm_max_score
metadata_text
oid
metadata_oid (FK)langtitledescriptiontech_install_remarkstech_otherplatform_reqs
metadata_language
oid
metadata_oid (FK)lang
[ 2, 1 ] - R
[ 2, 1 ] - T
scheduledemail
oid
messagemessage_typeserver_idscheduled_dateexpiration_datesent_datemessage_statusmessage_error
application_setting
oid
tagencoded_attributeschar_dataupdate_index
send_cmd_queue
oid
typeupdate_indexcreate_datelast_retry_datedest_server_idserialized_obj
application_server
oid
server_idserver_typedescriptionbase_urlusernamepasswordis_services_securestatusupdatetime
customization_set
oid
namematch_typematch_valuematch_stringlmm_web_dirlmm_resource_dirds_web_dirds_resource_dirlogo_urllogoff_urluse_imagesuse_helpuse_cssuse_jspuse_templatesuse_textstatusupdatetime
system_setting
oid
namechar_valueint_valueboolean_valuenumeric_value
cm_package
oid
package_idpackage_versionstructure_versioncontent_versionlocalecourse_idcourse_structure_idcourse_content_iddirectorypkg_namepkg_sizedownload_pkg_nameemail_recipientsdeployment_status
cm_webserver
oid
cm_package_oid (FK)server_urlfilepathcontent_versiondeployment_status
announcement
oid
announcement_textcreatedatelangmatch_typematch_stringstatusupdatetime
usr_xref
oid
old_u_idfirst_namelast_namecreate_dateupdate_date
collaboration
oid
ref_oidchat_server_iddiscussion_server_iddiscussion_file_namediscussion_db_titlediscussion_templatediscussion_typediscussion_urlfull_text_indexingallow_emailallow_student_email
temp_usrgrp
oid
transaction_oid (FK)display_namedistinguished_nameldap_id
systemobject
objnameobjtype
domain_idcreatedate
oidseed
nvaltempnvalupdatecount
oidbatch
item
transaction_info
oid
creation_dateexpiration_datetable_namedescription
calendar_element_reference
oid
titledescriptionschedulable_typeschedulable_event_typerefers_to_ref_oidrefers_to_typeschedulable_ref_oidschedulable_event_oid
repeating_calendar_element
oid
titledescriptionschedulable_typeschedulable_event_typestart_dateend_datedurationfrequencystart_timeend_timeschedulable_ref_oidschedulable_event_ref_oid
customfield
oid
namedomain_idcreatedatetypedefault_valuerequiredsearchableactive
customfield_option
valcustomfield_oid (FK)
oiddisplay_order
customfield_value
oid
customfield_oid (FK)ref_oidvalval_lower
scheduledreport
oid
owner_oid (FK)namereport_idformatlocalestart_dateend_daterepetitionslast_runschedule_unit
report_recipient
oid
scheduledreport_oid (FK)email_address
reportselection
oid
scheduledreport_oid (FK)display_orderparameterselection_typestart_dateend_dateoffsetunitrange
reportselection_item
oid
reportselection_oid (FK)ptr_oid
item_access
oid
ref_oidaccesslevelmatch_typematch_stringmatch_value
trusted_ip
oid
ip_addrlast_mod
report_file
oid
user_oidcreatedatehost_ipfilenamecontent_type
calendar_element
oid
titledescriptionschedulable_typeschedulable_event_typestart_timeend_timeschedulable_ref_oidschedulable_event_ref_oid
[ 2, 2 ] - L
[ 2, 2 ] - T
Chapter 3: Audit Database Architecture 87
Chapter 3 Audit Database Architecture This chapter summarizes the entities and relationships stored in the Audit database. The tables in this chapter contain updated Release 1.0.2 information, but a diagram with the Learning Management System R1.0 database schema is included as a convenience.
Key Summary Report Entity Name Key Name Key Type Unique auditaction aa_pk PrimaryKey YES auditaction aa_ai_u Alternate Key YES auditlog al_pk PrimaryKey YES auditstream as_pk PrimaryKey YES auditstream as_mscode_u Alternate Key YES
auditaction Entity Name auditaction Entity Type Independent Primary Keys oid Definition All auditable actions that can trigger an audit event
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N action_id VARCHAR(30) N same across any db
or schema description_template VARCHAR(2000) Y e.g. student 0
enrolled in course 1 module_name VARCHAR(30) Y e.g. enrollment status CHAR(1) Y A = active, I =
inactive, D = delete updatetime DATETIME Y This column is
queried many times. If this table can get big, this should be indexed.
Defaults, Rules, and Check Constraints
Attribute Type Name Restriction status Default 'A'
88 Learning Management System Database Architecture
auditlog Entity Name auditlog Entity Type Independent Primary Keys oid Definition AuditEntry objects. Each record represents a single audit event.
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N auditaction_oid CHAR(20) N auditstream_oid CHAR(20) N actiontime DATETIME Y time of the auditable
action action_description VARCHAR(2048) Y description_template
string from auditaction table with placeholders replaced with actual data.
subject_type CHAR(1) Y P=person, G=group, I=inanimate
subject_id VARCHAR(255) Y from usr.remote_id when subject is a person
subject_first_name VARCHAR(128) Y from usr.first_name when subject is a person
subject_last_name VARCHAR(128) Y from usr.last_name when subject is a person
user_id VARCHAR(255) Y from usr.remote_id user_first_name VARCHAR(128) Y from usr.first_name user_last_name VARCHAR(128) Y from usr.last_name
auditstream Entity Name auditstream Entity Type Independent Primary Keys oid Definition matching strings that will determine if an audit actions generates an
auditentry row in the AUDITLOG table
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
oid CHAR(20) N match_string VARCHAR(255) Y LDAP type matching
string used by the ACL/Matching engine. e.g. *Westford/IBM
Chapter 3: Audit Database Architecture 89
match_type INTN Y match_value VARCHAR(255) Y code VARCHAR(30) Y group code name to
which the matching strings belong e.g. IBM
status CHAR(1) Y A = active, I = inactive, D = delete
updatetime DATETIME Y
oidbatch Entity Name oidbatch Entity Type Independent
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
item BIGINT N
oidseed Entity Name oidseed Entity Type Independent
Attributes
Attribute/Logical Rolename
Domain Datatype Null Definition
nval BIGINT Y tempnval BIGINT Y updatecount BIGINT Y
auditaction
oid
action_iddescription_templatemodule_namestatusupdatetime
auditstream
oid
match_stringmatch_typematch_valuecodestatusupdatetime
auditlog
oid
auditaction_oid (FK)auditstream_oid (FK)actiontimeaction_descriptionsubject_typesubject_idsubject_first_namesubject_last_nameuser_iduser_first_nameuser_last_name
oidbatch
item
oidseed
nvaltempnvalupdatecount
Project : Auditing Database
Author : IBM software
Company : IBM
Version : 1.0 Modified: 12/12/2002
Copyright (c) 2002 IBM
Printed in USA