0

我即将创建一个数据库,其中的字段将出现在几个不同的表中(作为键)。例如,在我的列表中,我将有 MLS_ID。该字段也将出现在 listing_photos 表中。我应该在字段名称前面加上前缀以使其唯一:以 Listings_MLS_ID 为例?

4

3 回答 3

2

这样做绝对没有意义。你总是可以在你的字段名前加上数据库和表名,得到你的唯一标识符,保持名称本身简洁明了。

listings.mls.id 

将处理表中属于数据库 的id字段。mlslistings

这将非常灵活:任何时候你需要长的唯一标识符 - 你有它。
在所有其他情况下,您可以使用短名称。

于 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 回答