我想知道人们对数据库表中ID列命名的看法.
如果我有一个名为Invoices的表,其中包含一个标识列的主键,我会调用该列InvoiceID,这样我就不会与其他表发生冲突,而且它显然是什么.
我工作的当前他们已经调用了所有ID列ID.
所以他们会做以下事情:
Select
i.ID
, il.ID
From
Invoices i
Left Join InvoiceLines il
on i.ID = il.InvoiceID
Run Code Online (Sandbox Code Playgroud)
现在,我在这里看到一些问题:
1.你需要在select
2 上对列进行别名.ID = InvoiceID不适合我的大脑
3.如果你没有别名表并且提到InvoiceID那么显然是什么表它开着?
关于这个话题的其他人的想法是什么?
我正在移植一个旧应用程序以使用backbone.js(希望如此)问题是系统中的各种对象都没有使用'id'作为id - 每个对象都是不同的.阅读时,我在初始化Backbone.Model时想出了下面的解决方案.
initialize: function(){
this.idAttribute = 'user_ID';
this.set({'id':this.get('user_ID')});
}
Run Code Online (Sandbox Code Playgroud)
然而,我很担心,随着我开发骨干,这种方法会让我感到厌烦.有人对这个有经验么.任何指针都非常赞赏.
编辑:我刚刚在模型上调用isNew()并且得到了真实,即使id现在设置为1. ///////////////////////// //////////////////
使用以下似乎可以解决它.
User = Backbone.Model.extend({
idAttribute : 'user_ID'
Run Code Online (Sandbox Code Playgroud)
})
您是否在具有缩写表名的表中为每个字段添加前缀?
例:
Table: User
Fields:
user_id
user_name
user_password
Run Code Online (Sandbox Code Playgroud)
或者你是否将你的田地命名为最低限度?
Fields:
id
name
password
Run Code Online (Sandbox Code Playgroud)
如果您同时使用了这两种格式,那么从长远来看,您认为哪种格式对您最有帮助?
编辑:这个问题似乎没有明确的答案,双方都提出了好的观点.但是我已经把这个问题保持了很长时间,也许是时候将一个答案标记为已被接受.因此,我被认为是被接受的最高票数.
我是实体框架的新手并慢慢学习它.我搜索了这个答案,但没有找到答案.假设我有以下表格定义:
Products
-----------
ProdID (PK, identity field)
ProdName
ProdSKU
Run Code Online (Sandbox Code Playgroud)
身份字段命名为"ProdID"还是需要说"ID"?我的团队中的另一位开发人员告诉我,它必须被称为"ID",否则实体框架将无效,但这对我来说毫无意义.欢迎任何建议.