我想要一个通用的威胁目录,最初将用于所有用户。该目录有大约 100 个威胁。威胁与其他模型有关,例如 AssetType。一种威胁影响多种资产类型,一种资产类型受多种威胁影响。
我的问题是我希望用户修改目录中的威胁,删除威胁和添加威胁,但目录的修改需要只针对他,而不是针对其他用户。与asset_types 和关系相同。我希望每个用户都能够修改关系,但不是所有用户。
我的方法是,我可以拥有 CatalogThreat 和 CatalogAssetType 以及 CatalogThreatsAssetTypes,它们将成为一般目录,当创建新用户时,我会将每个 catalog_threat 复制到名为威胁的表中,其中每个威胁都与用户相关。但是这种方式我认为我会有很多重复,因为我认为用户会修改很少的目录。
你有其他选择吗?这是一个好的数据库设计吗?我应该知道任何设计模式吗?