wiki:P2

Version 7 (modified by 211099, 5 weeks ago) ( diff )

--

Relational Design for ChapterX

Notation

  • Primary keys are marked with bold and underlined
  • Required attributes are marked with bold
  • Foreign keys are marked with * and underlined

Tables

Relational Design for ChapterX

Notation

  • Primary keys are bolded and underlined.
  • Foreign keys are marked with * at the end of their name and the referenced entity is written in parentheses.
  • Complex attributes are bolded, and their containing attributes are following them, made italic.
  • Multivalued attributes have their own table

Tables

  1. USER (user_ID, username, email, name, surname, password)
  1. ADMIN (user_ID* (USER))
  1. REGULAR_USER (user_ID* (USER))
  1. WRITER (user_ID* (USER), created_story)
  1. STORY (story_ID, mature_content, short_description, image, content, user_ID* (WRITER))
    • status (multi-valued attribute, see table STATUS)
  1. STATUS (story_ID* (STORY), status)
  1. CHAPTER (chapter_ID, chapter_name, title, content, word_count, rating, published_at, view_count, story_ID* (STORY))
  1. GENRE (genre_ID, name)
  1. READING_LIST (list_ID, name, content, is_public, user_ID* (USER))
  1. NOTIFICATION (notification_ID, content, user_ID* (USER))
    • content_type (multi-valued attribute, see table CONTENT_TYPE)
  1. CONTENT_TYPE (notification_ID* (NOTIFICATION), content_type)
  1. AI_SUGGESTION (suggestion_ID, original_text, suggested_text, suggestion_type, accepted, story_ID* (STORY))
  1. LIKE (user_ID* (USER), story_ID* (STORY))
  1. COMMENT (comment_ID, content, user_ID* (USER), story_ID* (STORY))
  1. COLLABORATION (user_ID* (USER), story_ID* (STORY), role, permission_level)
    • role (multi-valued attribute, see table ROLE)
    • permission_level (multi-valued attribute, see table PERMISSION_LEVEL)
  1. ROLE (user_ID* (COLLABORATION), story_ID* (COLLABORATION), role)
  1. PERMISSION_LEVEL (user_ID* (COLLABORATION), story_ID* (COLLABORATION), permission_level)
  1. HAS_GENRE (story_ID* (STORY), genre_ID* (GENRE))

DDL script for creation and deletion of tables

DML script for inserting data in the tables

Relational diagram made in DBeaver

AI Usage for Relational Design

Attachments (5)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.