2013-06-12 58 views
5

我阅读本教程:SQL命名约定

http://leshazlewood.com/software-engineering/sql-style-guide/

但是,我弄糊涂了这一点。

在这种情况下,我应该命名SQL。

-My表名:QuestionTypes或者question_types。

-My表id:QuestionTypeID或QuestionType_ID,question_type_id。

我知道当MySQL工作台创建.sql文件时,QuestionType_ID会被转换成questiontype_id,所以,我应该按照这种风格命名SQL:QuestionType?

非常感谢。

回答

1

如果你想遵循特定的约定,你的表格将被命名为question_types,并且字段question_type_id

我不遵循这个约定,所以我会命名表QuestionType和字段QuestionTypeId

+0

但是当MySQL的工作台创建SQL文件,将其转换成QuestionType questiontype,它让我迷惑 – Jack

+0

@Jack:这仅仅是一个的choise是该程序的作者已经完成。只要数据库将标识符视为不具感染力的情况,使用'QuestionType'或'questiontype'(或'QuEsTiOnTyPe')来使用标识符并不重要,但这并不意味着您应该改变您的约定*命名*的东西。 – Guffa

0

从技术上讲,如果你符合你如何命名的事情是很好的事情去。双方都会有关于是否使用CamelCase或下划线的争论。

我个人建议用单数命名你的表格(所以question_type over question_types)。它可能看起来微不足道,但最终你会遇到复杂版本可能引入拼写问题或一般一致性的情况。这是第1部分。

列应始终是单数。

当我开始使用数据库时,我对名称和列使用了下划线方法。很确定我收到了这个建议表格,但我不确定。

我也避免ID字段中的长名称,因为我发现它是虚假的。我的模式总是非常明显(工作台或其他),我的查询总是有标识前缀,所以长名称只会增加我必须键入的字符数量,没有实际的增加字符的好处。

我似乎记得阅读这个线程得到更好的想法在复数与单数表中使用什么方法。希望能帮助到你。

Table Naming Dilemma: Singular vs. Plural Names