Tow*_*wer 4 database-design naming-conventions
我一直想知道SQL中这些ID命名样式的优点和缺点是什么:
CREATE TABLE cache (
id INT AUTO_INCREMENT,
PRIMARY KEY(id)
);
CREATE TABLE cache (
cid INT AUTO_INCREMENT,
PRIMARY KEY(id)
);
CREATE TABLE cache (
cache_id INT AUTO_INCREMENT,
PRIMARY KEY(id)
);
Run Code Online (Sandbox Code Playgroud)
为什么有些开发人员在每个表中使用"id",有些人用表名的一个字母或整个表名和一个下划线作为前缀?
Eri*_*lje 11
主观,但我喜欢使用命名的id(例如customer_id,item_id等)
我的理由是,如果你一致地命名你的外键,它会使连接更容易理解 - 它始终是a.customer_id = b.customer_id.否则,对于使用大量连接的复杂查询,您会有大量的"id"列,并且不会立即明白什么是什么.
ETA:
此外,如果您使用的是MySQL,则可以使用更简单的连接语法,例如:
FROM customers INNER JOIN orders USING customer_id
Run Code Online (Sandbox Code Playgroud)