| | 104 | |
| | 105 | === BCNF Check |
| | 106 | 1. USERS(user_id, username, email, user_name, surname, password, |
| | 107 | user_created_at, user_updated_at) → satisfies BCNF |
| | 108 | |
| | 109 | 2. ADMINS(user_id) → satisfies BCNF |
| | 110 | |
| | 111 | 3. REGULAR_USER(user_id) → satisfies BCNF |
| | 112 | |
| | 113 | 4. WRITER(user_id) → satisfies BCNF |
| | 114 | |
| | 115 | 5. STORY(story_id, mature_content, short_description, image, story_content, user_id, story_created_at, story_updated_at) → satisfies BCNF |
| | 116 | 6. STATUS(story_id, status) → satisfies BCNF |
| | 117 | 7. CHAPTER(chapter_id, chapter_number, chapter_name, title, chapter_content, word_count, rating, published_at, view_count, story_id, chapter_created_at, chapter_updated_at) → satisfies BCNF |
| | 118 | 8. GENRE(genre_id, genre_name) → satisfies BCNF |
| | 119 | 9. READING_LIST(list_id, list_name, list_content, is_public, user_id, list_created_at, list_updated_at) → satisfies BCNF |
| | 120 | 10. NOTIFICATION(notification_id, notification_content, is_read, recipient_user_id, type, link, notification_created_at) → satisfies BCNF |
| | 121 | 11. CONTENT_TYPE(notification_id, content_type) → satisfies BCNF |
| | 122 | 12. AI_SUGGESTION(suggestion_id, original_text, suggested_text, accepted, suggestion_created_at, applied_at, story_id) → satisfies BCNF |
| | 123 | 13. SUGGESTION_TYPE(suggestion_id, suggestion_type) → satisfies BCNF |
| | 124 | 14. LIKES(user_id, story_id, like_created_at) → satisfies BCNF |
| | 125 | 15. COMMENT(comment_id, comment_content, user_id, story_id, comment_created_at, comment_updated_at) → satisfies BCNF |
| | 126 | 16. COLLABORATION(user_id, story_id, collab_created_at) → satisfies BCNF |
| | 127 | 17. ROLES(user_id, story_id, roles) → satisfies BCNF |
| | 128 | 18. PERMISSION_LEVEL(user_id, story_id, permission_level) → satisfies BCNF |
| | 129 | 19. HAS_GENRE(story_id, genre_id) → satisfies BCNF |
| | 130 | 20. READING_LIST_ITEMS(list_id, story_id, added_at) → satisfies BCNF |
| | 131 | 21. NOTIFY(user_id, story_id, notification_id) → satisfies BCNF |
| | 132 | 22. NEED_APPROVAL(suggestion_id, story_id, chapter_id) → satisfies BCNF |
| | 133 | |
| | 134 | === Conclusion |
| | 135 | |
| | 136 | After normalization we get same relations from phase 2. So this mean that the database was well modeled. |