找到字典表的正确术语

时间:2012-09-03 15:32:03

标签: sql terminology rdbms database

我关心的是我目前称之为“字典表”,即数据库表 包含受控词汇表。

让我们用一个例子: 假设您有一个包含字段的表用户

  • user_id:主键
  • 如first_name
  • 姓氏
  • user_type_id:UserType表的外键

另一个表 UserType ,只有两个字段:

  • user_type_id:主键
  • name:特定类型用户的名称/值。

例如, UserType 表可能包含(1,管理员),(2,PowerUser),(3,正常)......

我的问题是: UserType 这样的表的规范术语是什么,它只包含(字母)单词列表。 我想发布一些有助于管理这种表的代码,但首先我必须给它们命名!

感谢您的帮助。

当前的思想状态: 现在我感觉查找表是一个好词。它在这些帖子中也使用相同的含义:

唯一的问题是查找表有时也用于命名联合表。

5 个答案:

答案 0 :(得分:1)

我经常看到单词列表作为函数的域(允许的输入值集),所以我称之为域表。但这是从数学的角度来看的。

修改

见:

答案 1 :(得分:0)

作为C编码器,我会说这个表看起来很像enum(或枚举)。它详尽地定义了可接受的值,并将自动给定的整数链接到名称(反之亦然)。

作为SO用户,我会说这个问题看起来有点过于开放,因为我认为没有一个独特的规范名称......

答案 2 :(得分:0)

您所描述的通常称为数据字典

答案 3 :(得分:0)

你可以完全相反的方向,用他们的技术名称而不是他们的意思来打电话给他们,让ppl推断出 - 你可以称他们为candidate keys - 这对于选择你选择的候选人是有意义的“有点儿;每个候选人都是独一无二的*(或应该是)。

当他们不是头痛时,命名法问题往往很有趣: - )

答案 4 :(得分:0)

根据我对SQL开发人员的经验,他们在关系理论方面的背景越强,他们使用“查找表”,“验证表”或“字典表”等术语的可能性就越小。

相反,他们只是称他们为桌子。为什么?

对你来说,重要的部分似乎是表

  • 只包含一个文本列,或
  • 只包含一个文本列和一个ID号,或
  • 只包含一个文本列和一个短文本代码,
  • 主键用作外键引用的目标。

如果你想一段时间,那么将这些表与其他表区分开来的唯一方法就是列数。关系理论通过列数来区分关系,我也不觉得在SQL中需要区别对待。

  • 每个候选键在这个意义上实现了受控词汇表 - 键(以及所有其他适用的约束)提供了控制“词汇表”的机制。
  • 每个候选键都可以用作外键引用的目标,无论表具有多少个候选键,无论候选键有多少列,并且无论是否使用任何候选键今天的外键参考。
  • 许多这样的表只是开始作为“查找”表的生命。一年后,有人发现需要存储更多信息。添加一两个列之后,它还是一个“查找”表吗?