加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库 – 数据建模问题

发布时间:2020-12-12 06:19:59 所属栏目:MsSql教程 来源:网络整理
导读:我的客户在注册我的申请时会使用以下其中一项: Foo API(需要“auth_key”,“密码”,“电子邮件”) Acme API(需要“secure_code”,“用户名”,“密码”) Bar API(需要“xyz_code”,“pass_key”) (假名,为简单起见省略了15个) 我不希望在我的数据库中只有10-1
我的客户在注册我的申请时会使用以下其中一项:

> Foo API(需要“auth_key”,“密码”,“电子邮件”)
> Acme API(需要“secure_code”,“用户名”,“密码”)
> Bar API(需要“xyz_code”,“pass_key”)

(假名,为简单起见省略了15个)

我不希望在我的数据库中只有10-15个表用于我提供的不同API集成选项(特别是当它们全部用于相同的事情并且他们只从整个列表中选择1时).

我的解决方案是:

使用名为api_name的列创建api_configuration表,该列包含特定API的代码(例如“foo_api”)

创建一个名为credentials_attribute的表,使用外键返回api_configuration,名为name的列和名为value的列.

然后我构建了一个用于选择API的UI.如果他们选择Acme API,它将要求“secure_code”,“username”和“password”,并在credentials_attribute中为每个名称/值对创建一行.

在我的api_configuration的ORM模型上,我可以创建一个方法,根据当前的api_name查找credentials_attribute值.

如果你不得不为这个问题建模解决方案,这个解决方案是否正确,或者是否有另一种方法可以做到?请解释你的理由(即,更好的表现等)

解决方法

如果我理解正确的情况,它看起来像gen-spec设计模式的另一种情况.查找“泛化专业化关系建模”.

对象建模的教程通常涵盖gen-spec,但关于关系建模的教程通常不会.但它很好理解,网上有一些优秀的文章.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读