我有两个表ARTICLE
和FAQ
(常见问题)。我正在尝试在这两个表之间建立关系,但是我很困惑!
我想要实现的是,这篇文章可以包含许多常见问题解答。因此,应该为此创建数据透视表还是仅在FAQ表中引用FK
?
我尝试了什么,但不确定以下流程是否正确?
文章表:
CREATE TABLE IF NOT EXISTS `article` (
`id` int(11) UNSIGNED NOT NULL,
`title` varchar(255) DEFAULT NULL,
`slug` varchar(255) DEFAULT NULL,
`description` longtext NOT NULL,
PRIMARY KEY (`id`)
);
FAQ表模式:
CREATE TABLE IF NOT EXISTS `eb_faq` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`faq_category_id` bigint(20) UNSIGNED DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`question` text NOT NULL,
`answer` text NOT NULL,
PRIMARY KEY (`id`)
);
数据透视:
CREATE TABLE IF NOT EXISTS `article_linked_faq` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`article_id` int(11) DEFAULT NULL,
`faq_id` int(11) DEFAULT NULL,
`order_by` int(11) DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
);
答案 0 :(得分:2)
此架构确实允许一个文章具有多个FAQ,但也允许将一个FAQ链接到多个文章。如果那是您想要的,那就太好了!如果没有,我建议删除数据透视表,然后将article_id添加到eb_faq中。
答案 1 :(得分:-1)
否,您只需要在常见问题表中添加外键,它将创建两个表之间的关系。无需创建第三张表
type