Om du måste använda separat år och kvartal istället för ett datum (eftersom du verkar ha specifika rapporteringskrav), skulle jag välja en tinyint
för quarter och smallint
för år och lagra dem i PAYMENT
själva bordet.
Jag skulle inte förvara den i ett annat bord. Detta är dåligt eftersom:
- Du måste se till att du har producerat tillräckligt många år/kvartal
- Du måste gå med och använda en främmande nyckel
Om du lagrar data med posten hjälper det prestanda vid läsningar. Ditt bord kan vara litet men det är alltid bra att tänka på prestanda.
VARFÖR
Låt oss föreställa oss att du behöver få
I det här fallet skulle du behöva ett täckande index på alla artiklar och fortfarande inte hjälper eftersom din fråga gäller specifikt kvartal och inte kvartalsår. Att ha data på bordet kommer dock att hjälpa till med en lättare genomförandeplan.