Changes between Version 7 and Version 8 of P5


Ignore:
Timestamp:
04/07/26 23:04:28 (6 days ago)
Author:
211099
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • P5

    v7 v8  
    102102FD6: {story_id, chapter_number} → chapter_id → here we can see that there is a UNIQUE constraint on {story_id, chapter_number}, which tells us that it is also a superkey.
    103103After this we can safely say that the schema satisfies 3NF.
     104
     105=== BCNF Check
     1061. USERS(user_id, username, email, user_name, surname, password,
     107         user_created_at, user_updated_at) → satisfies BCNF
     108
     1092. ADMINS(user_id) → satisfies BCNF
     110
     1113. REGULAR_USER(user_id) → satisfies BCNF
     112
     1134. WRITER(user_id) → satisfies BCNF
     114
     1155. STORY(story_id, mature_content, short_description, image, story_content, user_id, story_created_at, story_updated_at) → satisfies BCNF
     1166. STATUS(story_id, status) → satisfies BCNF
     1177. 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
     1188. GENRE(genre_id, genre_name) → satisfies BCNF
     1199. READING_LIST(list_id, list_name, list_content, is_public, user_id, list_created_at, list_updated_at) → satisfies BCNF
     12010. NOTIFICATION(notification_id, notification_content, is_read, recipient_user_id, type, link, notification_created_at) → satisfies BCNF
     12111. CONTENT_TYPE(notification_id, content_type) → satisfies BCNF
     12212. AI_SUGGESTION(suggestion_id, original_text, suggested_text, accepted, suggestion_created_at, applied_at, story_id) → satisfies BCNF
     12313. SUGGESTION_TYPE(suggestion_id, suggestion_type) → satisfies BCNF
     12414. LIKES(user_id, story_id, like_created_at) → satisfies BCNF
     12515. COMMENT(comment_id, comment_content, user_id, story_id, comment_created_at, comment_updated_at) → satisfies BCNF
     12616. COLLABORATION(user_id, story_id, collab_created_at) → satisfies BCNF
     12717. ROLES(user_id, story_id, roles) → satisfies BCNF
     12818. PERMISSION_LEVEL(user_id, story_id, permission_level) → satisfies BCNF
     12919. HAS_GENRE(story_id, genre_id) → satisfies BCNF
     13020. READING_LIST_ITEMS(list_id, story_id, added_at) → satisfies BCNF
     13121. NOTIFY(user_id, story_id, notification_id) → satisfies BCNF
     13222. NEED_APPROVAL(suggestion_id, story_id, chapter_id) → satisfies BCNF
     133
     134=== Conclusion
     135
     136After normalization we get same relations from phase 2. So this mean that the database was well modeled.