| 296 | | The decomposition is lossless because each new relation is formed around a determinant that becomes the key of that relation. The common attributes used in the decomposition are keys in at least one of the resulting relations, so no information is lost. |
| | 296 | To verify that the decomposition is lossless, we use the formal condition: |
| | 297 | |
| | 298 | For every decomposition of R into relations Ri and Rj, the intersection of their attributes must functionally determine at least one of the relations: |
| | 299 | |
| | 300 | Ri ∩ Rj → Ri OR Ri ∩ Rj → Rj |
| | 301 | |
| | 302 | In this decomposition, each relation is formed based on a determinant (such as user_id, plan_id, course_id, etc.), which becomes the primary key of that relation. |
| | 303 | |
| | 304 | The shared attributes between relations (e.g. user_id, course_id, subscription_id) are keys in at least one of the involved relations. |
| | 305 | |
| | 306 | Therefore, the condition for lossless join is satisfied, and the decomposition is lossless with respect to the original universal relation R. |
| 301 | | The decomposition is dependency-preserving because each functional dependency FD1–FD15 is represented fully inside one of the resulting relations. CourseCategory has only its composite key and no additional non-trivial functional dependencies. |
| | 311 | To verify dependency preservation, we check whether the union of the projections of the functional dependencies onto each resulting relation is equivalent to the original set of functional dependencies: |
| | 312 | |
| | 313 | (⋃ projection of F onto Ri)+ = F+ |
| | 314 | |
| | 315 | In this decomposition, each functional dependency from the initial set (FD1–FD15) is fully contained within at least one of the resulting relations. |
| | 316 | |
| | 317 | For example: |
| | 318 | - user_id → user attributes is preserved in UserEntity |
| | 319 | - course_id → course attributes is preserved in Course |
| | 320 | - subscription_id → subscription attributes is preserved in UserSubscription |
| | 321 | |
| | 322 | Since no functional dependency is lost and all can be enforced locally within the resulting relations, the decomposition is dependency-preserving. |