【问题标题】:How to correctly configure schema?如何正确配置架构?
【发布时间】:2022-01-02 09:27:36
【问题描述】:

我的问题: 我想要完成的是增加用户将他们的菜单与另一个用户链接的能力。允许从任一用户对两个用户显示的菜单进行任何更改。

我目前的思考过程: 我为“加入的用户”添加了一个字段,但看起来不正确。为菜单制作一个单独的表格然后从那里拉出来会更好吗?还是有更合适/更有效的方法来实现这一点?

以下是我的架构:

*编辑

抱歉,回复晚了。我想我明白了。

【问题讨论】:

  • 菜单可以由一组用户共享,还是总是一对?
  • 好吧,最初我只打算这对,但由一组共享更有意义。
  • “菜单”不应该有“名称”,而不是“食谱”吗?

标签: mysql database-design


【解决方案1】:

不要将menu_user 放在menu 表中,而是创建一个关联所有共享菜单的用户的关系表:

CREATE TABLE menu_users (
    id INT(10) PRIMARY KEY AUTO_INCREMENT,
    user_id INT(10),
    menu_id INT(10),
    UNIQUE INDEX (user_id, menu_id),
    FOREIGN KEY (user_id) REFERENCES users (id),
    FOREIGN KEY (menu_id) REFERENCES menu (id)
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2017-05-18
    • 2018-05-27
    相关资源
    最近更新 更多