用于连接两个表的ID的SQL命名约定

时间:2015-05-09 22:27:56

标签: sql naming-conventions

我使用驼峰套管作为我的列名,我试图不使用ID作为我的表的主键。

所以对某些表来说似乎很有待。配置文件表我调用主键profileID但是将两个表连接在一起的表怎么样。 ProfileImageID的约定是什么?将它称为ID会更好吗?对于主键,命名约定只是ID或____ ID?

个人资料表

userID (PK) | Name

个人资料图片表

??? (PK) | userID | photoID

图片表

photoID(PK) | Image

1 个答案:

答案 0 :(得分:1)

我的建议:将表格命名为复数并使用表格名称(单数)加上" Id"对于钥匙:

create table Profiles (
    ProfileId int . . 
);

create table ProfileImages (
    ProfileImageId int . . .,
    ProfileId int references Profiles(ProfileId),
    ImageId int references Images(ImageId)
);

create table Images (
    ImageId int . . .,
    . . .
);

命名约定没有一个正确的答案。但是,一致性和可理解性很重要。你应该做的是有一个名为Images的表和一个名为PhotoId的主键。这只是引入了一定程度的混乱。