簡體   English   中英

如何設置MySQL表,該表包含引用其他表的行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM