当前位置: 首页 > 面试题库 >

DB:是否要使用身份列?

柴嘉石
2023-03-14
问题内容

在设计表格时,我的同事在这里说,我应该避免使用Identity列,因为它专门针对SQL Server和MS Access,但是我与他的观点有所不同,因为它使我的编码更简单。

我应该使用身份列吗?如果不是,从应用程序代码创建标识列的最佳方法是什么?


问题答案:

您无法将应用程序与数据库供应商完全分开。如果这样做,您将无法利用数据库提供的任何功能

我会说使用“身份”列。例如,如果您迁移到Oracle,则可以使用Sequence。几乎没有什么大变化。

我不知道您使用的是什么技术,但是有一种有用的方法是使用诸如Hibernate或iBATIS之类的工具(我认为它们都可用于Java和.NET)将您与数据库实现区分开来细节。然后,如果您更改数据库供应商,则无需更改应用程序代码,只需更改配置。(至少在理论上!)



 类似资料:
  • 是否使用Azure Active Directory身份验证库(ADAL)管理身份,尤其是对于来自文档[1]的此命令? [1]https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/tutorial-linux-vm-access-storage

  • 问题内容: 我想使用mongoengine db在Django项目中处理身份验证。 我尝试了一些有关此问题的示例,这些问题已在旧问题中得到解答,但并未运行。我正在使用Django 1.6和mongoengine。一切都已安装,运行,并且我可以创建文档并将其保存到Mongoengine DB。 我正在追踪http://mongoengine- odm.readthedocs.org/en/lates

  • 我在身份验证中使用基于令牌的方法,但在许多博客中,我读到他们将令牌存储在数据库中。 我们需要将令牌存储在DB中的基于令牌的身份验证中吗? https://scotch.io/tutorials/the-ins-and-outs-of-token-based-authentication 在这个博客中,提到我们正在签署令牌而不是存储在数据库中,我认为这应该是实现真正无状态的方法。

  • 当应用程序依赖于无状态身份验证(使用类似HMAC的东西)时,是否有必要使用CSRF保护? 示例: > 我们有一个单页应用程序(否则我们必须在每个链接上添加令牌:。 此内标识将用于访问诸如之类的受限URL。 令牌将始终在HTTP头内传输。 没有Http会话,也没有cookie。

  • 问题内容: 是否可以在GROUP BY中添加一个标识列,以便每个重复项都有一个标识号? 我的原始数据如下所示: 我想将其转换为: 解决方案是: 问题答案: 如果您使用的是Sql Server 2005,则可以尝试使用ROW_NUMBER