两个字符串列作为主键

时间:2013-09-28 22:48:14

标签: sql database database-design primary-key composite-primary-key

我有两个不同的实体类型,由字符串标识。我想编写一个SQL数据库来存储两个元素之间的关系,每个元素都有一个。

我不需要存储有关元素本身的任何信息,只需存储其标识符,因此我想编写一个SQL表,其中包含两个字符串(相关元素的标识符)作为主键。

我已阅读Strings as Primary Keys in SQL Database并且我不确定将两个字符串作为表的主键是否是个好主意。

另一种选择是在一个表中存储一种类型实体的标识符,在另一个表中存储另一种类型的标识符,然后我的“关系”表将有两个整数作为主键...但它会让我重新编写程序的持久性部分......

欢迎提出所有建议

1 个答案:

答案 0 :(得分:2)

在数据库中使用两个字符串作为键时,没问题。没有必要为了得到整数键而经历所有麻烦,因为它在技术上可能更快。这基本上也是凯文在你所链接的问题的选定答案中所说的。