tbl_course

-1 rows


Description

Module: Learning Management
Purpose: Stores master information of all courses created in the Learning Management System (LMS).
Data: One row per course, containing title, description, category, and configuration details.
Process Usage:
- Courses are created and managed by administrators or instructors.
- Used as the parent table for chapters, assignments, and progress tracking.
- Provides metadata for displaying courses in the LMS library and during assignment workflows.
Key Points:
- Courses can be marked mandatory or optional.
- Supports JSON-based applicable criteria for flexible assignment.
- Stores metadata like tags, thumbnail, and duration for presentation and analytics.
Business Impact: Central repository for learning content. Enables structured training, compliance tracking, and self-paced learning for employees.

Columns

Column Type Size Nulls Auto Default Children Parents Comments
course_id bigserial 19 nextval('tbl_course_course_id_seq'::regclass)
tbl_certificate.course_id tbl_certificate_course_id_fkey C
tbl_chapter.course_id tbl_chapter_course_id_fkey C
tbl_course_employee_search.course_id tbl_course_employee_search_course_id_fkey C
tbl_enrollment.course_id tbl_enrollment_course_id_fkey C

Primary key
Format: BIGSERIAL (auto-increment)
Used as: Unique identifier for each course record.

title varchar 200 null

Course Title
Format: VARCHAR(200)
Meaning: Title or name of the course.
Usage: Displayed as the main course name in the LMS dashboard and reports.

description text 2147483647 null

Course Description
Format: TEXT
Meaning: Summary or overview of the course content.
Usage: Shown on the course details page and used for learner context.

createdby varchar 50 null
createddate timestamp 29,6 null
modifiedby varchar 50 null
modifieddate timestamp 29,6 null
is_active bool 1 true

Active Flag
Format: BOOLEAN
Meaning: Indicates whether the course is active and visible to users.
Possible Values: TRUE = Active, FALSE = Inactive.
Usage: Inactive courses are hidden from the library and cannot be assigned.

is_mandatory bool 1 null

Mandatory Flag
Format: BOOLEAN
Meaning: Indicates if completion of this course is mandatory by default when assigned.
Usage: Default value can be changed during course assignment.

category varchar 100 null

Course Category
Format: VARCHAR(100)
Meaning: Category or grouping under which the course is classified.
Usage: Used for logical grouping and filtering in reports and dashboards.

course_type varchar 50 null

Course Type
Format: VARCHAR(50)
Meaning: Reserved column; currently not used in application logic.
Usage: Placeholder for future classification of course types (e.g., online, blended, offline).

thumbnail text 2147483647 null

Thumbnail Image
Format: TEXT
Meaning: S3 URL or file path for the uploaded course thumbnail image.
Usage: Displayed on the course card and detail views.

duration int8 19 null

Course Duration
Format: BIGINT (minutes)
Meaning: Total estimated duration of the course in minutes.
Usage: Calculated from all linked chapters; used for progress tracking and analytics.

tags varchar 500 null

Course Tags
Format: VARCHAR(500)
Meaning: Comma-separated list of course tags or keywords.
Usage: Used for search, filtering, and content categorization.

deadline int8 19 null

Default Deadline
Format: BIGINT (hours)
Meaning: Default duration (in hours) within which the learner must complete the course.
Usage: Can be overridden during individual course assignment.

applicable_criteria text 2147483647 null

Applicable Criteria (Assignment JSON)
Format: TEXT (JSON)
Meaning: Stores JSON rules that define employee eligibility for course assignment.
Usage: Evaluated during automatic or manual assignment workflows.

search_applicable_criteria text 2147483647 null

Search Applicable Criteria (Library JSON)
Format: TEXT (JSON)
Meaning: Defines the visibility or self-enrollment criteria for learners browsing the course library.
Usage: Used to control access and visibility in LMS self-learning modules.

Indexes

Constraint Name Type Sort Column(s)
tbl_course_pkey Primary key Asc course_id

Relationships