首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据建模问题

数据建模问题
EN

Stack Overflow用户
提问于 2010-10-07 08:14:27
回答 3查看 558关注 0票数 2

我的客户在注册我的应用程序时使用以下之一:

  1. Foo API (需要"auth_key“、"password”、(需要"secure_code","username“)、"password")
  2. Bar API (需要”E 124xyz_codee 225)、"pass_key")

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

我不希望我的数据库中有10-15个表,因为我提供了不同的API集成选项(特别是当它们都是为同一件事情而只是从整个列表中选择一个时)。

我的解决办法是:

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

创建一个名为credentials_attribute的表,其中包含一个外键返回到api_configuration,一个名为name的列和一个名为value的列。

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

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

这个解决方案是正确的,还是如果你必须为这个问题建立模型的话,你还会用别的方法去做吗?请解释你的理由(如,更好的性能等)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-07 10:19:30

如果我正确地理解了这个案例,它看起来就像另一个gen规范设计模式的例子。查找“泛化专业化关系建模”。

关于对象建模的教程通常包括gen-spec,而关于关系建模的教程通常没有。但这是很好的理解,并有一些优秀的文章在网上。

票数 1
EN

Stack Overflow用户

发布于 2010-10-07 08:40:35

我可能更喜欢用一张桌子来完成这个任务。

有一个UserAuthentication表,其中列有IdentificationKey, AuthenticationCriteria1, AuthenticationCriteria2等.

AuthenticationCriteriaX列数=任何API将具有的最大标准数。我假设这将是一个合理的东西,也许5在最多,但任何到15-20实际上仍然是一个相当小的桌子。

UserAuthentication表还有一个api_key列,它是来自MASTER_API表的外键,该表是所有受支持的API的列表

至于问题的UI部分,即显示UserAuthentication表中的任何字段的用户的标签,我认为这只是UI关注的问题,因此您应该只需要在UI层的某个位置拥有特定于每个api的映射。可以根据需要使用api_key列进行翻译。移民局不一定需要知道这些细节,海事组织。

票数 1
EN

Stack Overflow用户

发布于 2010-10-07 08:32:14

如果我正确理解的话,不同API中的所有这些属性在概念上都是同一3件事物的元组,以不同的名称命名,对吗?

您的描述是从DB的角度来描述的--我将描述我将在域端做什么(这可能直接映射到您的模式)。

我将创建一个类,例如UserLogin,其中包含上面提到的3个属性(例如authenticationCodeuserIdpassword),并将API名称/代码映射到GUI属性名称。当用户选择首选API时,我可以在GUI上显示具有适当名称的字段,并将值填充到UserLogin的相应属性。如果需要,UserLogin还可以为该用户存储首选的登录API。通过这种方式,UserLogin被映射到DB端的单个表。我可以使用另一个表来为每个已知的API配置属性名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3879806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档