我想为动漫创建数据库。这是我的ER结构: https://ibb.co/ctRk8f6
有什么改善建议吗?
每个动漫的形象,与品牌和剧集的关系都有斑点,每个剧集可能有多个链接和与标签的关系。
我想知道这种结构是否良好,还是应该为图像或其他提示制作单独的表格
CREATE TABLE Brand
(
id INT NOT NULL,
name INT NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE Tag
(
id INT NOT NULL,
name INT NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE Anime
(
id INT NOT NULL,
name INT NOT NULL,
img INT NOT NULL,
id INT,
PRIMARY KEY (id),
FOREIGN KEY (id) REFERENCES Brand(id)
);
CREATE TABLE Episode
(
order INT NOT NULL,
rating INT NOT NULL,
date INT NOT NULL,
id INT NOT NULL,
PRIMARY KEY (order, id),
FOREIGN KEY (id) REFERENCES Anime(id)
);
CREATE TABLE Link
(
link INT NOT NULL,
host INT NOT NULL,
order INT NOT NULL,
id INT NOT NULL,
PRIMARY KEY (link, order, id),
FOREIGN KEY (order, id) REFERENCES Episode(order, id)
);
CREATE TABLE TagOfAnime
(
id INT NOT NULL,
id INT NOT NULL,
PRIMARY KEY (id, id),
FOREIGN KEY (id) REFERENCES Anime(id),
FOREIGN KEY (id) REFERENCES Tag(id)
);
答案 0 :(得分:0)
这里有几个问题:
INT
?我假设name
可能是某个最大长度nvarchar
的{{1}}? nvarchar(200)
表有两列,名为TagOfAnime
。这是行不通的。如果它们是对id
和tag
表的主键的引用,则应这样命名它们:Anime
和Tag_id
Anime_id
。什么是“链接”?我将使其更具描述性。