小编典典

为我的站点上的每个用户分配一个MySQL数据库是否合理?

mysql

我正在创建一个基于用户的网站。对于每个用户,我将需要一些MySQL表来存储不同类型的信息(即userInfo,quotesSubmitted和ratesSubmitted)。是一个更好的主意:

a)为站点创建一个数据库(即“ mySite”),然后在其中创建数百或数千个表(即“ userInfo_bob”,“
quotessubmitted_bob”,“ userInfo_shelly”和“ quotesSubmitted_shelly”)

要么

b)创建数百或数千个数据库(即“ Bob”,“ Shelly”等),每个数据库仅创建几个表(即“
Bob”内部:userInfo,quotesSubmitted,ratesSubmitted等)

我应该使用一个数据库,在该数据库中使用多个表,还是每个数据库使用多个数据库和几个表?


编辑:

问题是我需要跟踪谁对什么进行了评分。这意味着,如果用户对300条报价进行了评分,则我需要能够准确知道用户对哪些报价进行了评分。

也许我应该这样做?

一表报价。一个表列出用户。一张表记录了已进行的所有评分(即三列:用户,报价,评分)。这似乎是合理的。有什么问题吗?


阅读 370

收藏
2020-05-17

共1个答案

小编典典

使用一个数据库。

使用一张表容纳用户,用一张表容纳引号。

在这两个表之间,您有一个表,其中包含使用户与引号匹配的信息,该表将保存用户给出的引号的等级。

这种简单的设计将允许您存储几乎无限数量的报价,无限的用户,并且您可以将每个报价与零个或多个用户匹配,反之亦然。

中间的表将包含用户表和报价表的 外键

您可能会发现复习一些数据库设计基础知识会有所帮助,有关stackoverflow的问题很多。

从这些开始…

什么是归一化?

设计数据库时要记住的重要事项

“太多”有多少个字段?

更多表格还是更多列?

2020-05-17