-
Notifications
You must be signed in to change notification settings - Fork 0
Data Normalization
Nantawan Paramapooti edited this page Dec 24, 2024
·
9 revisions
As most of the Translated Relations are already in 3NF form, we'll only focus on the Relations that needed 3NF
*data instances in the following examples are abstract values for demonstration, may not accurately reflects project's actual instances.
| chatrank_id | chatrank_name | allowed_actions |
|---|---|---|
| 1 | member | [] |
| 2 | admin | [delete_chatroom, change_chatroom_name] |
| 3 | moderator | [change_chatroom_name] |
- allowed_actions can be divided into each allowed actions that holds bool value instead. | chatrank_id | chatrank_name | delete_chatroom | change_chatroom_name | |-------------|---------------|-----------------|----------------------| | 1 | member | false | false | | 2 | admin | true | true | | 3 | moderator | false | true |
- Since chatrank_id is the primary key, all non-key attributes (chatrank_name, delete_chatroom, change_chatroom_name) are fully dependent on chatrank_id.
- There are no dependencies between non-key attributes; therefore, no transitive dependency exists.
Besides ChatRank, All Relations are already in its 3NF form from the UML design, no further changes needed.