gpt4 book ai didi

mysql - 针对具有多种余额的用户的数据库设计

转载 作者:行者123 更新时间:2023-11-29 17:33:16 24 4
gpt4 key购买 nike

我有以下情况:(MYSQL)每个注册游戏的用户都可以拥有最多 100 种不同货币的余额。我最初打算只为每个用户创建一个包含约 105 列的用户表(用户 ID、姓名、电子邮件、密码、货币 1、货币 2、...、货币 100),但这看起来很愚蠢。还有另一种方法是将每个单独的余额与货币 ID 和用户 ID 放在一个庞大的余额表中,但如果我要扩大规模,这似乎有点愚蠢。考虑到效率和可扩展性,存储用户 100 个数据点的最佳方式是什么

最佳答案

MySQL 等关系数据库就是为了解决这种问题而设计的。这是一个经典的“一对多”关系,每个用户都拥有多种货币。因此从技术上讲,将货币放在单独的表中并不愚蠢。

另一方面,这实际上是一种“多对多”关系,因为许多货币可以有许多所有者。在这种情况下,您需要第三个表,又称“联结表”,相当于用户银行帐户。

设置表的最有效方法是使用每个表的主键 ID 号。服务器在检索数据时可以更轻松、更快速地处理数字 ID。

连接表的主键实际上可以是使用其他两个表中的两个主键的“复合键”。但是,在这种情况下,最好创建唯一的银行账户 ID,因为您希望每个银行交易账户中有许多可用的货币 ID。

设计数据库具有挑战性,因此绘制所有不同数据类别的可视化图表以及它们之间的相互关系可能会有所帮助。用户可能希望能够在游戏和现实生活中访问余额历史记录和银行对账单。货币应该根据供给和需求而改变值(value),并根据汇率进行互换。

Source

关于mysql - 针对具有多种余额的用户的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50478448/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com