【发布时间】:2016-09-25 16:25:14
【问题描述】:
这是一个关于 SQL 命名约定的问题。
当您的表和字段都由同一个词或短语描述时,您应该如何命名它们。两个名字可以同名吗?
我的例子:
我正在创建一个问题,每个问题可以有一对多的答案,所以我认为最好的方法是使用这样的结构:
CREATE TABLE question
(
id INT NOT NULL IDENTITY(1,1),
question VARCHAR(250) NOT NULL
)
CREATE TABLE answer
(
id INT NOT NULL IDENTITY(1,1),
question_id INT NOT NULL,
answer VARCHAR(50) NOT NULL
)
(这两个表并没有那么小,但为了简单起见,我删除了一些列)
问题是我不认为有一个与表同名的字段不遵循正确的命名约定。
我想将问题和答案列更改为类似文本的内容,但不幸的是,这是一个保留字,这违反了标准命名约定,此外,在引用它们时我还必须使用 [] 标签。
关于如何命名列或表的任何建议?
【问题讨论】:
-
“名称”和“描述”往往是相当流行的替代方案。如果你在 sql server 中编写,通常可以很聪明地将关键字理解为表名而不需要方括号,但是单词仍然会突出显示
-
也许 question.content & answer.content ?最好避免需要括号的字段名称。 (-> 没有空格或标准 sql 关键字)
标签: sql naming-conventions naming