我有一个关于数据库“样式”的问题。
我需要一种存储用户帐户的方法。一些用户“拥有”其他用户帐户(子帐户)。然而,并非所有用户帐户都拥有,只有一些。
是否最好使用像这样的表结构来表示它...
TABLE accounts (
ID
ownerID -> ID
name
)
...即使在没有所有者的帐户的 ownerID 列中会有一些 NULL 值。
或者像这样有两个表在风格上更可取。
TABLE accounts (
ID
name
)
TABLE ownedAccounts (
accountID -> accounts(ID)
ownerID -> accounts(ID)
)
感谢您的建议。
最佳答案
我会将表格分开。
自引用外键会给更新/删除带来很多痛苦。
对于组合表,对所有者的级联删除将删除所有拥有的帐户。 (这可能是可取的,也可能不是可取的。)对于单独的表,级联删除将只删除账户拥有的关系,而不是账户本身。
关于mysql - 这种关系的最佳数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3023594/