2

“类型”和“类”可能是 C# 和/或 Ruby 中的保留词或有问题的词,这两种语言我将来可能会用来针对我的新数据库模式进行编程。

因此,为了避免与这些语言的潜在冲突,我正在为我的表中的这些字段名称寻找替代名称。

在这种情况下,它来自我的 Machines 表,其中我有:

“类”字段(值类似于“手动”或“计算机化”)

“类型”字段(值将是“车床”或“铣床”)

我可以将字段称为“machineclass”和“machinetype”,但这与我的架构其余部分中的命名方案不一致(意思是,我不重用字段中的表名......例如,我使用 Machine.name ,而不是 Machine.machinename)

对这种疯狂有什么想法吗?

4

7 回答 7

3

您可能会添加一些冗余并将它们称为“type_id”和“class_id”,或“type_name”和“class_name”。

于 2010-11-10T22:14:00.917 回答
2

因为我会说双语(英语和西班牙语),所以我使用:clase = class,tipo = type,或者如果我想用英语保留所有内容,我会选择一个同义词,例如:category = class,kind = type。当我对需要新列以更轻松地记录我的代码的应用程序进行修订或新版本时,我还将 _v1 _v2 _v3 ... 连接到列名。

于 2010-11-11T06:32:31.417 回答
1

简单的。它也经常发生在 SQL 中。您需要为该特定问题命名,同时不破坏您选择的更大的命名约定。

我们的命名约定(与您的问题相同,已解决)将规定类似的内容。易于阅读和理解,但也表明我们正在避免保留字冲突:


类型

我们已经有:

罗斯
伯爵

MachineClass 和 MachineType 是错误的。

于 2010-11-10T23:54:18.410 回答
0

我真的没有看到数据库字段被称为“类型”或“类”的任何问题——至少从 C# 的角度来看是这样。大多数 ORM 映射器将生成具有称为“类型”和“类”的属性的类,这是合法的。如果您使用 DataReader,您将使用索引器,并且字段名称将作为字符串传递。

当您的数据库字段名称与 C# 关键字“冲突”时,我想不出任何情况。

于 2010-11-10T22:19:11.087 回答
0

Klass 是可以使用的类的常见拼写错误。我不确定是否存在很好的类型拼写错误。

Ruby On Rails 可能会使用 Klass,但我不确定。我会在使用 klass 之前仔细检查一下,因为我不想隐藏它的变量。

于 2010-11-10T22:15:17.077 回答
0

通常我们通过附加 _id 来解决它

所以查找表会有Machine_Types.type_id, Machine_Types.name

并且Machine.type_id很容易系上join Machine_Types using(type_id)

于 2010-11-10T22:16:48.967 回答
-1

不是一个很好的解决方案,但 C# 区分大小写。你可以有一个变量或一个名为 Class 或 Type 的类,它不会与类或类型的保留字冲突。

于 2010-11-10T22:15:49.920 回答