Database design for a simple association
No, adding a year table would add nothing to this data model.

Think about what a Year table would be like. What columns might it have? It really only has the year number itself - 2018, 2019 .. 2031, 2032 etc. Cards would then have a foreign key to this table, which the currently existing column Cards.Year already represents.

If you were doing a logical data model you may choose to put the Year entity type in it. For a physical database implementation &amp; table design there is no need to implement a Year table.

One caveat - if your years are not calendar years, and you care about the calendar dates that each membership year starts and end, then having a separate Year table makes sense. Think about the tax year. It starts in, say, calendar April and runs to the following calendar March. So tax year and calendar year do not cover the same set of days.