mysql数据表设计

mysql设计分类数据表的思路

现有一个音乐列表的数据表

img

我想给他做一个分类 例如:热门歌曲,流行音乐,古典音乐

这个分类的表该如何设计?
一首音乐可能会有多个分类,比如:告白气球 同时是 热门歌曲和流行歌曲

刚开始学习node后端的萌~新求问

有用望采纳

一种常用的设计思路是使用两张表,分别是音乐表和分类表,再建立一张中间表,来关联音乐和分类,可以使用多对多的关系。

1.音乐表:存储音乐信息,包括音乐名称,歌手等。

2.分类表:存储分类信息,包括分类名称,分类描述等。

3.中间表:存储音乐与分类的关系,通过外键来关联音乐表和分类表。

音乐表:

CREATE TABLE music (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    singer VARCHAR(100) NOT NULL
);

分类表:

CREATE TABLE category (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    description VARCHAR(100) NOT NULL
);

中间表:

CREATE TABLE music_category (
    music_id INT NOT NULL,
    category_id INT NOT NULL,
    PRIMARY KEY (music_id, category_id),
    FOREIGN KEY (music_id) REFERENCES music(id),
    FOREIGN KEY (category_id) REFERENCES category(id)
);

使用上面的表结构,可以方便的维护音乐与分类的关系

如果还有其他问题,可以评论反馈。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇文章:MySQL的使用 也许有你想要的答案,你可以看看

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^