Changes between Version 3 and Version 4 of conceptual-model


Ignore:
Timestamp:
02/13/25 19:29:22 (9 days ago)
Author:
181557
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • conceptual-model

    v3 v4  
    22
    33== Entity Relationship Diagram ==
    4 [[Image(lotb_erd.png)]]
     4[[Image(lotb_erdiagram.png)]]
    55
    66== Data Requirements ==
     
    2727  - `Name`
    2828  - `Description`
     29
     30- **Reputation**: Tracks character reputation with different factions.
     31  - `CharacterID` (Foreign Key → Character)
     32  - `FactionID` (Foreign Key → Faction)
     33  - `ReputationPoints`
     34  - `Rank`
    2935
    3036- **Quest**: Missions that characters can complete.
     
    5460  - `Type`
    5561
    56 - **Market**: A system where players can list items for sale.
     62- **Market**: A system where players can list and sell items.
    5763  - `MarketID` (Primary Key)
    5864  - `ItemID` (Foreign Key → Item)
     
    6571  - `LeaderID` (Foreign Key → Player)
    6672
    67 === Relations ===
    68 Below are the key relationships between entities:
     73== Relations ==
    6974
    70 - **Lists** (Market, Character, Item): 
    71   The Market entity represents a listing relationship where a Character lists an Item for sale. 
    72   *Cardinality*: One Character may list many Items via Market; each Market listing is associated with one Item.
     75=== 1-1 Relations ===
     76- `Guild.LeaderID` → `Player.PlayerID`: A guild has a single leader, who is a player.
    7377
    74 - **Drops** (Enemy, Item): 
    75   An Enemy drops one or more Items. 
    76   *Cardinality*: An Enemy can drop multiple Items; an Item may be dropped by multiple Enemies.
     78=== 1-N Relations ===
     79- `Character.PlayerID` → `Player.PlayerID`: A player can have multiple characters.
     80- `Character.FactionID` → `Faction.FactionID`: A character belongs to one faction.
     81- `Market.SellerID` → `Player.PlayerID`: A player can list multiple items on the market.
    7782
    78 - **Sells** (Trader, Item): 
    79   A Trader sells one or more Items. 
    80   *Cardinality*: A Trader can sell many Items; an Item can be sold by multiple Traders.
    81 
    82 - **ReputationIn** (Faction, Character): 
    83   This relationship captures a Character’s reputation within a Faction, with attributes such as `ReputationPoints` and `Rank`. 
    84   *Cardinality*: A Character can have reputation in multiple Factions; a Faction can record reputation for multiple Characters.
    85 
    86 - **Completes** (Quest, Character): 
    87   A Character can complete one or more Quests. 
    88   *Cardinality*: A Character may complete many Quests; a Quest can be completed by multiple Characters.
    89 
    90 - **Owns** (Player, Character): 
    91   A Player owns one or more Characters. 
    92   *Cardinality*: One Player may own many Characters, while each Character is owned by a single Player.
    93 
    94 - **IsMember** (Guild, Character): 
    95   This membership relationship indicates that a Character is a member of a Guild. 
    96   *Cardinality*: A Character can be a member of multiple Guilds; a Guild can have many Characters as members.
     83=== N-N Relations ===
     84- `ReputationIn(CharacterID, FactionID)`: A character can have reputation with multiple factions, and factions can have multiple characters.
     85- `Completes(CharacterID, QuestID)`: A character can accept multiple quests, and quests can be taken by multiple characters.
     86- `Owns(CharacterID, ItemID)`: A character can own multiple items, and items can belong to multiple characters.
     87- `Drops(EnemyID, ItemID)`: Enemies can drop multiple items, and items can be dropped by multiple enemies.
     88- `Sells(TraderID, ItemID)`: Traders can sell multiple items, and items can be sold by multiple traders.
     89- `IsMember(CharacterID, GuildID, Role)`: A character can join a guild, and a guild can have multiple members. The `Role` attribute defines if the character is a "Leader" or "Member" in the guild.