我正在创建一个基于用户的网站。对于每个用户,我将需要一些MySQL表来存储不同类型的信息(即userInfo,quotesSubmitted和ratesSubmitted)。是一个更好的主意:
a)为站点创建一个数据库(即“ mySite”),然后在其中创建数百或数千个表(即“ userInfo_bob”,“ quotessubmitted_bob”,“ userInfo_shelly”和“ quotesSubmitted_shelly”)
要么
b)创建数百或数千个数据库(即“ Bob”,“ Shelly”等),每个数据库仅创建几个表(即“ Bob”内部:userInfo,quotesSubmitted,ratesSubmitted等)
我应该使用一个数据库,在该数据库中使用多个表,还是每个数据库使用多个数据库和几个表?
编辑:
问题是我需要跟踪谁对什么进行了评分。这意味着,如果用户对300条报价进行了评分,则我需要能够准确知道用户对哪些报价进行了评分。
也许我应该这样做?
一表报价。一个表列出用户。一张表记录了已进行的所有评分(即三列:用户,报价,评分)。这似乎是合理的。有什么问题吗?
使用一个数据库。
使用一张表容纳用户,用一张表容纳引号。
在这两个表之间,您有一个表,其中包含使用户与引号匹配的信息,该表将保存用户给出的引号的等级。
这种简单的设计将允许您存储几乎无限数量的报价,无限的用户,并且您可以将每个报价与零个或多个用户匹配,反之亦然。
中间的表将包含用户表和报价表的 外键 。
您可能会发现复习一些数据库设计基础知识会有所帮助,有关stackoverflow的问题很多。
从这些开始…
什么是归一化?
设计数据库时要记住的重要事项
“太多”有多少个字段?
更多表格还是更多列?