我即将创建一个数据库,其中的字段将出现在几个不同的表中(作为键)。例如,在我的列表中,我将有 MLS_ID。该字段也将出现在 listing_photos 表中。我应该在字段名称前面加上前缀以使其唯一:以 Listings_MLS_ID 为例?
问问题
199 次
3 回答
2
这样做绝对没有意义。你总是可以在你的字段名前加上数据库和表名,得到你的唯一标识符,保持名称本身简洁明了。
listings.mls.id
将处理表中属于数据库 的id
字段。mls
listings
这将非常灵活:任何时候你需要长的唯一标识符 - 你有它。
在所有其他情况下,您可以使用短名称。
于 2012-04-30T18:59:25.067 回答
1
将两个表中的键命名为相同 (MLS_ID)。USING
数据库服务器通过让您使用更简洁的子句来奖励您这样做:
SELECT * FROM listings
JOIN listing_photos
USING (MLS_ID)
而不是这样:
SELECT * FROM listings
JOIN listing_photos
ON listing_photos.listings_MLS_ID = listings.MLS_ID
于 2012-04-30T19:05:12.103 回答
0
这是个人喜好。
为了我:
除了主键之外,我不使用本地表名作为前缀。例如,PERSON 表将获得 PERSON_ID 列,ADDRESS 表将获得 ADDRESS_ID 等。
PERSON_ADDRESS 表获取 PERSON_ID 和 ADDRESS_ID,而不是其他东西。
在您的查询中,列名在它们应该与键等效时是相等的,并且表别名告诉您哪个是哪个。
于 2012-04-30T18:59:54.977 回答