learning management system r1 - ibm ... instructor_assignment ... the learning management system...

100
Lotus® Learning Management System R1 Database Architecture Version 1.0.4 March 2004 G210-1788-00

Upload: buicong

Post on 02-May-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

Lotus® Learning Management System R1

Database Architecture

Version 1.0.4�March 2004

G210-1788-00

���

Page 2: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 3: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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.

Page 4: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 5: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 6: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 7: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 8: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 9: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

viii Learning Management System Database Architecture

Page 10: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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.

Page 11: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

2 Learning Management System Database Architecture

Page 12: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 13: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 14: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 15: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 16: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 17: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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.

Page 18: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 19: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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.

Page 20: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 21: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 22: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 23: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 24: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 25: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 26: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 27: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 28: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 29: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 30: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 31: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 32: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 33: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 34: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 35: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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.

Page 36: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 37: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 38: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 39: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 40: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 41: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 42: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 43: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 44: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 45: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 46: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 47: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 48: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 49: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 50: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 51: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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.

Page 52: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 53: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 54: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 55: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 56: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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()

Page 57: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 58: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 59: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 60: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 61: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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()

Page 62: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 63: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 64: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 65: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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)

Page 66: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 67: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 68: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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.

Page 69: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 70: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 71: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 72: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 73: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 74: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 75: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 76: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 77: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 78: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 79: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 80: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 81: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 82: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 83: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 84: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 85: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 86: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 87: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 88: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 89: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 90: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 91: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 92: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 93: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 94: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 95: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 96: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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'

Page 97: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 98: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 99: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

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

Page 100: Learning Management System R1 - IBM ... instructor_assignment ... The Learning Management System uses separate relational databases for the Learning Management System Server

Printed in USA