Ако трябва да използвате отделни година и тримесечие вместо дата (тъй като изглежда, че имате специфични изисквания за отчитане), бих избрал tinyint
за четвърт и smallint
за година и ги съхранявайте в PAYMENT
самата таблица.
Не бих го съхранявал в друга таблица. Това е лошо, тъй като:
- Трябва да сте сигурни, че сте произвели достатъчно години/тримесечия
- Трябва да се присъедините и да използвате външен ключ
Ако съхранявате данните със записа, това ще подпомогне производителността при четения. Вашата маса може да е малка, но винаги е добре да имате предвид производителността.
ЗАЩО
Нека си представим, че трябва да получите
В този случай ще ви трябва покриващ индекс на всички елементи и пак не помага, тъй като заявката ви е за конкретно тримесечие, а не за тримесечна година. Наличието на данните в таблицата обаче ще помогне за по-лек план за изпълнение.