我在哪里可以找到有关PostgreSQL命名约定的详细手册?(表名与驼峰案例,序列,主键,约束,索引等......)
我正在开始一个新项目,并希望从一开始就获得我的表名和列名.例如,我总是在表名中使用复数,但最近学到的单数是正确的.
那么,如果我得到一个表"用户"然后我得到的产品只有用户会有,那么这个表应该命名为"user_product"还是只是"product"?这是一对多的关系.
进一步说,如果我(由于某种原因)每个产品的几个产品描述,它会是"user_product_description"或"product_description"还是只是"描述"?当然有正确的外键设置..命名它只描述会有问题,因为我也可以有用户说明或帐户描述或其他..
如果我想要一个只有两列的纯关系表(多对多),那会是什么样子呢?"user_stuff"或者类似"rel_user_stuff"的内容?如果是第一个,可以区分它,例如"user_product"?
任何帮助都非常感谢,如果有你们推荐的某种命名约定标准,请随时链接.
谢谢
database database-design coding-style naming-conventions relational-database
说我有一张叫做学生的桌子.您更喜欢哪些列的命名约定?你也可以推荐自己的.
Student
-------
StudentID
StudentName
MentorID
Student
-------
StudentID
Name
MentorID
Student
-------
ID
Name
MentorID
Run Code Online (Sandbox Code Playgroud) 可能重复:
数据库,表和列命名约定?
每次新项目启动时,我都在考虑在数据库中命名表和列的约定.您的推荐是哪种情况?为什么?
案例1. column_name
案例2. ColumnName
案例3. Column_Name
案例4. columnName
命名数据库的表和模式时,最好使用单数或复数.例如.应该是客户还是客户?
当命名应该是资本,如客户或客户?关于命名的任何最佳实践?
当涉及到DB表中的列顺序时,是否有任何标准或至少是最佳实践?
这是我遵循的手工制作的惯例:
id);email,ssn);article);first_name,last_name);password_hash);deleted,verified)created_at);但是,这些问题仍未解决,所以我想听听你的想法.
在Java中,类(实体)的属性的命名约定是通过CamelCase方式完成的:
@Entity
public class UserMessage implements Serializable {
@Id
private Integer id;
private String shortTitle;
private String longTitle;
private String htmlMessage;
}
Run Code Online (Sandbox Code Playgroud)
但是在SQL世界中,最好的做法是在单词之间使用带有下划线的大写(如Java常量).在SQL世界中,最好的做法是将表名包含在列名中,这样外键在大多数情况下的名称与原始表中的id完全相同.
CREATE TABLE USER_MESSAGE (
USER_MESSAGE_ID MEDIUMINT(8) NOT NULL,
USER_MESSAGE_SHORT_TITLE VARCHAR(20),
USER_MESSAGE_LONG_TITLE VARCHAR(80),
USER_MESSAGE_HTML_MESSAGE TEXT NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
我应该遵循这两个标准并在@Table和@Column上使用name属性吗?或者我应该遵循Java约定并依赖于默认的JPA映射.
这种标准冲突最常见的方法和/或最佳方法是什么?
我们想在新项目中建立一些数据库元数据命名规则.例如:
有人知道这样的指南吗?
在设计数据库时使用表前缀是一个好习惯吗?
对于像" user_detail " 这样的表,
我使用列名,如ud_name,ud_email等.
我这样做是因为我想为每个列(在每个表中)保留唯一的名称,以便以后在加入时不会出现任何冲突列名的问题.
虽然我的一些同事在读取列名时遇到了问题(我不知道为什么),并且他们建议Name应该尽可能简单易读,所以我不应该使用任何前缀.
数据库设计遵循的标准命名法是什么?有前缀是不是很糟糕?请通过一些链接支持您的回答.
谢谢你
喜欢:)
我正在开发一个大数据库,从这种情况来看,我决定至少考虑两次关于表格和字段布局的决策.我最关心的是主键.
我几乎总是使用table name加号_id来命名这些索引.我这样做是因为在连接表时我不必担心重复的字段名称,因为Delphi数据库组件给我们的字段table_name.field_name只是字段.
另一方面,如果我们可以为每个表使用相同的ID字段名称,那么创建一个函数来处理与该索引控件有关的每个表总是更容易.
有没有人在选择其中一个数据库设计时遇到过错误?在每个字段名称上重复表名称是一种好方法吗?
我在同一个数据库 (MS SQL Server) 中的两个单独的表上创建索引,我收到一条错误消息,指出索引已经存在。
如果我将索引名称更改为另一个,则不会再次出现此错误。
请帮忙。非常感谢。
Microsoft SQL Server Management Studio 的屏幕截图
database ×6
sql ×3
coding-style ×2
delphi ×1
hibernate ×1
indexing ×1
java ×1
jpa ×1
postgresql ×1
sql-server ×1
triggers ×1