0

如果主键 (PK) 值在表中是唯一的:

  • 防止(或阻止)前导控制字符(例如制表符)是否必要(或可取) ?

背景

诸如在 Microsoft Access 中选择正确的主键(Blue Moose Technologies,2008 年)等文章对用户可能键入的主键值提出了警告。

我读到,除其他外,Access 不允许表具有具有 null 值的主键

除了空值:Access 2010 确实允许在主键中使用前导制表符……虽然我远非数据库技术专家,但这让我觉得可能很麻烦。

有关的

表中主键的最佳做法是什么?

旧版本 Access 的参考点

用于命名,但不适用于值:

手动创建表 - 编程 Microsoft Access 2000(Microsoft 编程系列)状态:

…您不能以空格或控制字符(ASCII 值 0 到 31)开始字段名称。…</p>

Microsoft 的 Access 2003词汇表指出,与标准命名约定有关:

…您也不能使用前导空格或控制字符(ASCII 值 0 到 31)。…</p>

4

1 回答 1

2

文章。. . 注意用户可能键入的主键值。

这绝对是一篇糟糕透顶的文章。

就关系模型而言,所有候选键都是平等的。没有正式的、合乎逻辑的原则可以应用于具有两个候选键的表,让您说“是唯一一个可以作为主键的表”。选择一个而不是另一个通常有一些实际原因,但没有正式的、合乎逻辑的原因。

有人必须在数据库中输入所有有用的数据。有一些众所周知的、得到很好支持的方法来处理印刷错误的传播,其中最常见的是on update cascade在外键引用中使用。

SQL 数据库使您可以对列允许的内容进行大量控制。在 Access 中,对列使用验证规则

于 2014-08-02T01:09:15.097 回答