У меня есть таблица предметов со стойкой в определенный период времени, ровно одна неделя, и мне нужно составить таблицу рангов недели запроса, например:
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
Я могу получить один раз в разные недели / годы, когда бы я ни получилсписок.Мне не нужен ПК в этой модели, но правильно ли это?
Если я определяю как ПК (неделя, год), я не могу иметь:
week year item rank
1 1980 41 1
1 1980 32 2
etc..
, если яопределите как pk (неделя, год, элемент), для которого нужно создать индекс (неделя, год), и pk будет бесполезным.
Это правильно?или я не прав?