如何正确配置架构?

Posted

技术标签:

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

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

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

以下是我的架构:

*编辑

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

【问题讨论】:

菜单可以由一组用户共享,还是总是一对? 好吧,最初我只打算这对,但由一组共享更有意义。 “菜单”不应该有“名称”,而不是“食谱”吗? 【参考方案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)
);

【讨论】:

以上是关于如何正确配置架构?的主要内容,如果未能解决你的问题,请参考以下文章

开源周荐分布式配置管理神器Qihoo360/QConf入门指北(部署配置使用架构原理)

开源周荐分布式配置管理神器Qihoo360/QConf入门指北(部署配置使用架构原理)

ThinkPHP5.0「架构配置篇」

中小型规模网站集群架构:Rsync错误集

Redis 如何配置读写分离架构(主从复制)?

如何在 DC/OS 中使用 Impala 配置 apache kudu?