我应该使用DB的主键作为我的应用程序的参考吗?

时间:2014-05-10 20:16:17

标签: android sql-server database wcf primary-key

根据我的“数据库基础知识”教学教授的要求,我需要建立一个可靠的软件项目来访问我对该教学的期末考试。

我的想法是构建一个应用程序(假设一个带有地图的简单Android应用程序),它将与WCF服务进行通信(显然,附加到我需要实现的数据库)。

现在,这是(可能是愚蠢的)问题:如果我使用主键直接引用我的行,这没关系吗? 按照地图的示例,该服务将为我提供一个“标记”列表(它们将填充地图),每个标记都有一个ID。 交换表的主键(在本例中为ID)通常是安全的,以方便客户使用?

1 个答案:

答案 0 :(得分:0)

技术上可以将主键传递到系统的不同模块,但从软件工程的角度来看,这是完全不鼓励的。 有一个名为分层编程的着名概念,你应该肯定听说过它。
这一概念的一般目的是分离功能或松散耦合易于维护和进一步开发管理。 该概念为任何软件解决方案(主要是面向数据)引入了3个通用层:  DAL(数据访问层),BLL(业务逻辑层)和PL(表示层),它们指的是软件解决方案的3个不同方面。

由于您要实施大学项目,因此您无需经历分层开发过程。但我建议你尝试一下这个概念的简单方法,因为它真的有助于建立一个强大的基础,并大大降低错误率和代码修正和调整工作。

此外,完全不鼓励交换主键或任何数据库本机数据。所以尝试交换其他一些标识符。您可以尝试根据主键为每个地图标记构建一个任意标识符。