LMS Logical Schema Reference
Summary
Verified logical catalog for all 19 Training DbContext persisted object sets.
Audience
Engineering, QA, architecture, security, support, product, and data-governance reviewers.
Reference Content
Source key: D = domain entities, C = DbContext mapping, S = shared outbox model. All primary identifiers are generated. “Filtered” means the global tenant/elevated predicate applies.
| Entity | Purpose / aggregate | Tenant scope | Relationships | Important integrity/index | Lifecycle role | Source |
|---|---|---|---|---|---|---|
| Course | Catalog root | Filtered | Owns modules/materials | Tenant/course-code unique | Draft/published/archived | D,C |
| CourseModule | Course child | Filtered | Course FK; owns lessons | Tenant/parent/sequence | Ordered content | D,C |
| CourseLesson | Module child | Filtered | Module FK | Tenant/parent/sequence | Ordered lesson | D,C |
| TrainingMaterial | Course child/reference | Filtered | Course FK; lesson logical | Tenant index | Material metadata | D,C |
| TrainingProgram | Independent foundation object | Filtered | None | Tenant index; period ignored | No API lifecycle | D,C |
| LearningPath | Path root | Filtered | Owns ordered links | Tenant/name unique | Path definition | D,C |
| LearningPathCourse | Path child | Filtered | Path FK; course logical | Tenant/path/course unique | Ordered membership | D,C |
| TrainingEnrollment | Independent workflow object | Filtered | Course/path logical | Tenant/subject/course unique | Assignment lifecycle | D,C |
| TrainingCompletion | Completion evidence | Filtered | Enrollment/course logical | Tenant/enrollment unique | Completion side effect | D,C |
| Assessment | Assessment root | Filtered | Owns questions; course logical | Tenant index | Definition | D,C |
| AssessmentQuestion | Assessment child | Filtered | Assessment FK | Parent and tenant indexes | Definition content | D,C |
| AssessmentAttempt | Attempt workflow | Filtered | Assessment logical | Tenant/assessment/subject | Attempt lifecycle | D,C |
| TrainingCertificate | Certificate workflow | Filtered | Course/enrollment logical | Tenant/certificate unique; status | Issue/document lifecycle | D,C |
| TrainingSession | Session workflow | Filtered | Course/trainer logical | Tenant/status/start | Schedule lifecycle | D,C |
| Trainer | Independent reference | Filtered | Session reference is logical | Tenant index | Reference only | D,C |
| TrainingAuditLog | Audit evidence | Filtered | Logical entity reference | Tenant/occurrence | Append-style evidence | D,C |
| TrainingTimeline | Timeline evidence | Filtered | Logical entity reference | Tenant/occurrence | Append-style narrative | D,C |
| ProcessedIntegrationEvent | Inbound idempotency foundation | Unfiltered | None | Event identity unique | No active consumer found | D,C |
| OutboxMessage | Outbound event intent | Unfiltered | None | Event identity unique; status/occurrence | Delivery state | S,C |
Only solid relationships above are database-enforced; dotted references are logical.
Source References
microservices/src/training-service/Domain/TrainingEntities.csmicroservices/src/training-service/Infrastructure/TrainingDbContext.csmicroservices/src/shared-kernel/Outbox/OutboxMessage.csmicroservices/src/training-service/Infrastructure/Migrations/TrainingDbContextModelSnapshot.cs
Related Articles
See Also
Keywords
- LMS database
- Training persistence
- Source-backed model
Revision Information
- Status: Draft
- Last reviewed: 2026-07-17
- Review cycle: Quarterly