Changes between Version 24 and Version 25 of P5


Ignore:
Timestamp:
07/02/26 19:34:49 (3 days ago)
Author:
211099
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • P5

    v24 v25  
    3030- FD2: username → user_id
    3131- FD3: email    → user_id
    32 - FD4: story_id → mature_content, short_description, image, story_content, user_id, story_created_at, story_updated_at
     32- FD4: story_id → mature_content, short_description, image, story_content,story_title user_id, story_created_at, story_updated_at
    3333- FD5: chapter_id → chapter_number, chapter_name, title, chapter_content, word_count, rating, published_at, view_count, story_id, chapter_created_at, chapter_updated_at
    3434- FD6: {story_id, chapter_number} → chapter_id
     
    5050email+ = {email, user_id, username, user_name, surname, password, user_created_at, user_updated_at} → Does NOT contain all attributes of R
    5151
    52 story_id+ = {story_id, mature_content, short_description, image, story_content, user_id, story_created_at, story_updated_at, username, email, user_name, surname, password, user_created_at, user_updated_at} → Does NOT contain all attributes of R
     52story_id+ = {story_id, mature_content, short_description, image, story_content,story_title, user_id, story_created_at, story_updated_at, username, email, user_name, surname, password, user_created_at, user_updated_at} → Does NOT contain all attributes of R
    5353
    5454chapter_id+ = {chapter_id, chapter_number, chapter_name, title, chapter_content, word_count, rating, published_at, view_count, story_id, chapter_created_at, chapter_updated_at, mature_content, short_description, image, story_content, user_id, story_created_at, story_updated_at, username, email, user_name, surname, password, user_created_at, user_updated_at} → Does NOT contain all attributes of R
     
    103103USERS(user_id, username, email, user_name, surname, password, user_created_at, user_updated_at) → simple primary key user_id, so it satisfies 2NF.
    104104
    105 STORY(story_id, mature_content, short_description, image, story_content, user_id, story_created_at, story_updated_at) → simple primary key story_id, so it satisfies 2NF.
     105STORY(story_id, mature_content, short_description, image, story_content,story_title, user_id, story_created_at, story_updated_at) → simple primary key story_id, so it satisfies 2NF.
    106106
    107107CHAPTER(chapter_id, chapter_number, chapter_name, title, chapter_content, word_count, rating, published_at, view_count, story_id, chapter_created_at, chapter_updated_at) → composite candidate key {story_id, chapter_number} exists, but all other attributes depend on the full key, not a subset. No partial dependencies, so it satisfies 2NF.
     
    146146Step 2: Decompose R₁ → STORY + R₂ — common attribute: story_id → primary key of STORY
    147147
    148 R₂ = All attributes of R, except: {username, email, user_name, surname, password, user_created_at, user_updated_at, mature_content, short_description, image, story_content, story_created_at, story_updated_at}
     148R₂ = All attributes of R, except: {username, email, user_name, surname, password, user_created_at, user_updated_at, mature_content, short_description, image, story_content,story_title, story_created_at, story_updated_at}
    149149Step 3: Decompose R₂ → CHAPTER + R₃ — common attribute: chapter_id → primary key of CHAPTER
    150150