Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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 - Fatal编程技术网

MySQL文章数据库结构?

MySQL文章数据库结构?,mysql,Mysql,我想为我的用户创建一个文章数据库,我想知道我的MySQL数据库结构应该是什么样子 以下是到目前为止我的数据库表结构的外观 CREATE TABLE users_articles ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, user_id INT UNSIGNED NOT NULL, PRIMARY KEY (id) ); 假设您将与用户分开存储您的文章(以满足3NF)。为此,我将从以下内容开始: Users: UserId int primar

我想为我的用户创建一个文章数据库,我想知道我的MySQL数据库结构应该是什么样子

以下是到目前为止我的数据库表结构的外观

CREATE TABLE users_articles (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id INT UNSIGNED NOT NULL,
PRIMARY KEY (id)
);

假设您将与用户分开存储您的文章(以满足3NF)。为此,我将从以下内容开始:

Users:
    UserId int primary key.
    Other user-specific data (name, address, affiliations, ...).

Articles:
    ArticleId int primary key.
    UserId references Users(UserId).
    ArticleText varchar(big-enough-to-hold-article).
主键的数据类型在您手中(它们不会影响3NF特性)

无论您是希望将文章文本拆分为段落,还是在文章中添加关键字,等等,都是对此的扩展。这是你应该开始的地方

这些是我马上想到的东西,我会在上面给出的基本结构之外看

  • 关键词或文章搜索词,保存在另外两个表中,一个用于保存关键词本身,另一个用于保存关键词和文章之间的多对多关系
  • 文章的概要可以是文章表中的另一列
  • 最终需要超过分配的最大空间的文章,在这种情况下,文章文本可以拆分到另一个表中,该表具有对
    Articles(ArticleId)
    的外键引用和排序文章片段的序列号

答案实际上取决于整个应用程序的规格,而不仅仅是文章表

查看问题中的create语句,它看起来可能是一个联接表,许多用户有许多文章(多对多)。在这种情况下,您可能只想使用user_id和article_id,并将它们一起作为主键,但是用户表和article表在哪里?您希望在这些表中存储哪些信息

  • 您是否至少对整个应用程序的工作方式有一个粗略的说明
  • 是否有其他与文章相关的数据元素
  • 你是否需要考虑将来扩大你的申请范围的可能性?
    这篇关于的文章可能会对你有进一步的帮助。

    这篇文章的文本可以通过MySql的
    但是,了解使用此类索引的利弊并不一定是初学者的话题。

    我只是想知道您认为怎样才能使文章数据库结构与文章一起变得更好。我想是吧?