我有一個項目表,在確定的時間段架,正好一個星期,我需要做的要求一週的排名表,例如:表無PK
Items
-----
id
name
和:
Item_in_rank
------------
item_id -> Items.id
year
week
rank
,如果我這樣做:
SELECT
r.rank,
i.*
FROM
Item_in_rank AS r
INNER JOIN
Items AS i
ON r.item_id = i.id
WHERE
week = 4 AND year = 1986
ORDER BY
r.rank ASC
我得到一個排名:
rank id name
1- 4 jhon
2- 76 jorge
3- 21 myriam
4- 92 bety
比較,我可以有一個項目在不同的周/年,我有一個清單。在這個模型中我不需要pk,但是,它是正確的嗎?
如果我定義爲PK(周,年),我不能夠有:
week year item rank
1 1980 41 1
1 1980 32 2
etc..
如果我定義爲PK(周,年,項目),我需要創造周指數(,年),而PK將是無用的。
這正確嗎?或者我錯了?
正確的是(周,年,項目)作爲PK,是一個真理獨特的idetificator。 – Exos 2011-06-08 20:57:59