[英]How to setup MySQL tables that contain rows that are references to other tables
我正在開發一個游戲,用戶可以在該游戲上注冊,擁有庫存並擁有該庫存中的武器。 我想將此信息存儲在數據庫中。
到目前為止,這是我的設置方法:
我的用戶表包含一個UserID列(以及其他信息)。
我的清單表包含一個InventoryID列和一個UserID列(該UserID對應於清單的所有者)
我的武器表包含一個InventoryID列,該列引用了它所屬的庫存。
這是標准的做事方式嗎? 我可以更改布局並使它更簡單嗎? 使用這樣的數據庫似乎有點乏味。
如果我的用戶表中有一個清單條目的引用,而該條目中有一系列武器,那就容易得多。 我通過存儲對每個條目ID的引用來實現這一點,但是我不能通過運行一個查詢來創建一個“ User” php類(它具有對Inventory對象的引用,該對象具有一個Weapon對象數組)。數據庫。
也許有一個框架可以實現這一目標?
您所描述的是簡單的一對多關系。
您不需要庫存表。
您需要一個具有userID
作為主鍵的用戶表,並將其用作武器表中的外鍵。
在聯接的幫助下,您可以使用一個查詢來獲取所有記錄。
您是否考慮過NoSQL數據庫? :)
關系數據庫通常需要您所描述的“聯接”表。 如果庫存用戶為1:1,並且沒有1個武器只能屬於1個庫存/用戶,則無需連接表即可完成此操作,只需讓武器存儲一個用戶ID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.