Database 数据库结构和关系

Database 数据库结构和关系,database,structure,Database,Structure,我正在建立这个游戏门户,我有一些数据库问题。目前我有大约10个表,但我想当我完成编程时,它们将超过20个。无论如何,我想在不同的表之间创建某种关系(有点像WordPress)。该表将保存表A中的一行与表B中的一行之间的任何关系。我得出的结论如下: 表关系 | rs_id | rs_type | rs_alpha | rs_beta | rs\U id->只是一个id rs\U类型->关系类型 rs_alpha->相关表1和行id rs#U beta->相关表#2和行id 示例: | 1 | c

我正在建立这个游戏门户,我有一些数据库问题。目前我有大约10个表,但我想当我完成编程时,它们将超过20个。无论如何,我想在不同的表之间创建某种关系(有点像WordPress)。该表将保存表A中的一行与表B中的一行之间的任何关系。我得出的结论如下:

表关系

| rs_id | rs_type | rs_alpha | rs_beta |
rs\U id->只是一个id
rs\U类型->关系类型
rs_alpha->相关表1和行id
rs#U beta->相关表#2和行id

示例:

| 1 | cover | games:153 | images:318 |
| 2 | tag | news:183 | tags:18 |
| 3 | group_admin | users:918 | group:75 |
...
这可能就行了,但我担心的是: 1.这个表的增长速度将非常快,很快就会有超过100000行,这将减慢加载时间。 2.要提取信息,我必须分解每个调用,这可能会减慢加载时间。 3.我可能会将表名与id(rs_alpha,rs_beta)分开,但这也可能会减慢加载时间

谢谢你,我愿意接受任何可能比这个更好的解决方案:)

如果您有时间,可以从这里下载my db structure,查看其外观: demirevdesign.com/public/pcanvil.sql.gz


(加载项表将成为关系表)

据我所知,关系类型本身定义了所涉及的表,因此不需要存储表名。
此外,如果重构模式并为关系中可能涉及的所有实体添加公共父表,则根本不需要关心表名,只需存储新表的id即可

最后,关系总是有开始日期,也可能有结束日期,我建议将此属性添加到
relationships
表中


至于性能,如果不了解如何查询表,很难回答。我想在一般情况下,按关系类型列进行分区将是有益的

我没有想到rs\u类型可能携带表信息。谢谢至于日期,我觉得真的不重要。关系表只是显示一行是否连接到另一行。我仍然不知道我在这里做的是不是最好的解决方案。如果您有时间,请下载我的数据库(我在我的问题中添加了链接)并浏览一下,我非常感谢您的帮助。@СъПППППППъПППъииъиъъъъъъъъъъъ,不是因为一个问题可以在几分钟内回答。。。我建议阅读,它有一章描述实体之间存储关系的模式。