Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL数据库-用于在用户之间共享内容的表_Mysql_Database_Database Design_Sharing_Database Normalization - Fatal编程技术网

MySQL数据库-用于在用户之间共享内容的表

MySQL数据库-用于在用户之间共享内容的表,mysql,database,database-design,sharing,database-normalization,Mysql,Database,Database Design,Sharing,Database Normalization,我只是想知道你认为哪一个是解决这种情况的最好办法 我有一个可以共享项目的应用程序。但是,这些项目可以是不同的类型:照片、帖子,甚至“帖子组”,等等,因此有一个名为“帖子”的表格,另一个名为“媒体”的表格,等等。 用户将只能看到与他们共享的项目和他们创建的项目。那么,你认为什么更好 制作一个名为“shared_items”的表,其中我将放置项目ID、用户ID、项目类型 为每种类型的项目(例如:共享文章、共享媒体等)制作一个表格,其结构与上述相同(但不包括项目类型) 更多的解决方案被接受,当然,

我只是想知道你认为哪一个是解决这种情况的最好办法

我有一个可以共享项目的应用程序。但是,这些项目可以是不同的类型:照片、帖子,甚至“帖子组”,等等,因此有一个名为“帖子”的表格,另一个名为“媒体”的表格,等等。

用户将只能看到与他们共享的项目和他们创建的项目。那么,你认为什么更好

  • 制作一个名为“shared_items”的表,其中我将放置项目ID、用户ID、项目类型

  • 为每种类型的项目(例如:共享文章、共享媒体等)制作一个表格,其结构与上述相同(但不包括项目类型)

更多的解决方案被接受,当然,但这些是我现在想到的唯一的解决方案

如果您需要数据库结构示例,请告诉我,但我认为没有必要


谢谢您抽出时间

这取决于您将如何查询数据以及查询频率。如果需要在一个查询中获取所有共享项,最好使用单个表。它将消除您的表连接。至于数据库规范化,我想说的是,分开飞,分开喝汤,共享媒体,共享帖子,共享任何表格。

我会考虑的!谢谢你的时间和回答!然而,您不认为在添加“内容类型”的情况下,一个表可能更容易维护吗?如果我添加一个新类型,我只需要在共享时编写新类型,而不是创建一个新表和建立新关系(只是一个想法)。你觉得怎么样?你多久添加一次新类型?一天一次?一周一次?一年一次?从不……:)是 啊你说得对!事实上,这是一个还在建设中的数据库结构,所以我之所以这样想是因为这个。谢谢你的回答!