我想实现这个专业化关系。考虑到每种账户类型都有不同的属性,以下是我的尝试:
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。
而messages表中的from_account_id和to_account_id也引用了accounts表中的account_id。
但如果我只想与其中一种账户类型建立关系,该怎么办呢?比如我想让管理员有权限管理某些内容,那么我可以这样做:
permissions(admin_account_id, type, value, ..)
admin_account_id是一个外键,参考了admin_accounts上的account_id字段。
这是否可行?如果我尝试为user_account_id输入权限会发生什么?
希望我的问题清晰明了,对我的英语表达请多包涵。