Changes between Version 24 and Version 25 of P5
- Timestamp:
- 07/02/26 19:34:49 (3 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
P5
v24 v25 30 30 - FD2: username → user_id 31 31 - FD3: email → user_id 32 - FD4: story_id → mature_content, short_description, image, story_content, user_id, story_created_at, story_updated_at32 - FD4: story_id → mature_content, short_description, image, story_content,story_title user_id, story_created_at, story_updated_at 33 33 - 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 34 34 - FD6: {story_id, chapter_number} → chapter_id … … 50 50 email+ = {email, user_id, username, user_name, surname, password, user_created_at, user_updated_at} → Does NOT contain all attributes of R 51 51 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 R52 story_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 53 53 54 54 chapter_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 … … 103 103 USERS(user_id, username, email, user_name, surname, password, user_created_at, user_updated_at) → simple primary key user_id, so it satisfies 2NF. 104 104 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.105 STORY(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. 106 106 107 107 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) → 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. … … 146 146 Step 2: Decompose R₁ → STORY + R₂ — common attribute: story_id → primary key of STORY 147 147 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}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_title, story_created_at, story_updated_at} 149 149 Step 3: Decompose R₂ → CHAPTER + R₃ — common attribute: chapter_id → primary key of CHAPTER 150 150
