mysql 如何在sql中分配具有相似特性的多个列名?[已关闭]

wooyq4lh  于 2023-01-29  发布在  Mysql
关注(0)|答案(2)|浏览(107)
    • 已关闭**。此问题为opinion-based。当前不接受答案。
    • 想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。

3天前关闭。
Improve this question
我想创建一个表。
我有很长一段时间很难命名列。
如果有3列具有相同的特性。
例如)标签_1、标签_2、标签_3
-〉

CREATE TABLE BOARD (
    BOARD_ID   bigint not null
        primary key,
    TAG_1      varchar(10) null,
    TAG_2      varchar(10) null,
    TAG_3      varchar(10) null
)

像上面的例子那样命名是最佳实践吗?

k3bvogb1

k3bvogb11#

应该是这样的:

CREATE TABLE BOARDS
(
    BOARD_ID BIGINT
   ,name ...
   ,description ...

);

CREATE TABLE TAGS
(
    TAG_ID INT
   ,TAG VARCHAR(10)
);

CREATE TABLE BOARDSTAGS
(
    BOARD_ID BIGINT
   ,TAG_ID INT
);

你有一个表格来描述线路板属性和一个标签属性。一些标签可以在多个线路板上共享。所以,我们需要第三个表格来告诉哪个线路板,哪个标签有。
在这种情况下,当您需要额外的标签时,您不需要在线路板表格中添加新列。

kt06eoxx

kt06eoxx2#

您的符号没有问题。但是,由于您的列看起来非常相同,您可能需要考虑将它们规范化。这在许多情况下可能是有意义的,并且会使您的架构更清晰。

相关问题