我希望能够找到:
我现在写的表定义是
CREATE TABLE blog_category_post (
BlogID INT NOT NULL,
CategoryID INT NOT NULL,
PostID INT NOT NULL
)
我听说过应该添加到多对多表中的唯一索引,但我不确定如何在这种情况下添加它们,如果它甚至是正确的方法。
答案 0 :(得分:1)
对于规范化架构,您需要两个表。
假设您对博客和帖子(即两者的相同类别集合)共享分类,那将是:
CREATE TABLE blog_category
(
blogId INT NOT NULL REFERENCES blog (id),
categoryId INT NOT NULL REFERENCES category (id),
PRIMARY KEY (blogId, categoryId)
)
CREATE TABLE post_category
(
postId INT NOT NULL REFERENCES post (id),
categoryId INT NOT NULL REFERENCES category (id),
PRIMARY KEY (postId, categoryId)
)
PRIMARY KEY
约束隐式创建了一个聚集的UNIQUE
索引。