gpt4 book ai didi

mysql - 在 ER 图中实现特化

转载 作者:搜寻专家 更新时间:2023-10-30 20:28:07 25 4
gpt4 key购买 nike

Er diagram

我想实现这种特化关系。知道我将为每种帐户类型设置不同的属性。这是我的尝试:

accounts(account_id, email, username, password, ...)
user_accounts(account_id, ..)
admin_accounts(account_id, ..)
messages(subject, body, from_account_id, to_account_id)

其中user_accounts和admin_acounts中的account_id为主键,外键引用accounts上的account_id
消息中的 from_account_id、to_account_id 引用帐户上的 account_id。

但是,如果我只想与其中一种帐户类型建立关系,会发生什么情况。例如,我想授予管理员管理某些内容的权限,所以我会这样做:

permissions(admin_account_id, type, value, ..)

其中 admin_account_id 是外键引用 admin_accounts 上的 account_id

这可能吗?如果我尝试输入 user_account_id 的权限,会发生什么情况?

我希望我的问题很清楚,请原谅我的英语问题。

最佳答案

您可能需要研究两种技术: .

通过将这两种技术应用到您的案例中,您最终可能会得到比您提议的设计更简单但更强大的设计。在某些情况下,您可以完全省去 TypeID,因为通用表和适当的专用表之间的连接将精确地产生您要查找的对象。另外,因为join是在两个主键上,所以join会比较快。

关于mysql - 在 ER 图中实现特化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20864054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com