使用 SQL Server = MySQL
编程语言 = 无关,但我坚持 Java 和 C#
我有一个关于为 SQL 数据库生成主键的最佳方法的理论问题,然后由我编写的另一个程序使用(假设它不是基于 Web 的。)
我知道主键必须是唯一的,并且我更喜欢主键,当我看到它们时,我也可以立即告诉它们来自哪里,无论是在我使用数据库时在我的 Eclipse 或 Windows 控制台中,还是在关系表中. 出于这个原因,我通常将自己的主键创建为字母数字字符串,除非有特定的唯一值可用,例如 ISBN 或 SS 编号。对于表 Actors,主键可能看起来像 a1,并且在表 Movies m1020 中(假设标题不是唯一的,例如电影“重返女巫山”的不同版本)。
所以我的问题是,如何最好地生成主键(在我的程序中或作为过程的数据库本身)?对于这样的方案,是否最好使用两列,一列具有常量字符串,例如演员的“a”和单个运行计数?(在那种情况下,我需要研究如何引用一个 PK 跨越多个列的表)处理此类任务的最专业方法是什么?
感谢您的时间。