• Phil Stratford - Wednesday, January 3, 2018 3:47 AM

    You're absolutely right that a sixth, seventh or even eighth value could be required in the future, but if that happened we could simply start writing the new value to the CHAR(10) column. 

    Yeah, 100%. However, it would require code modification, a new round of testing, and a deployment. Versus, add a row to a table. Not only is referential integrity of this sort good for the data, but it makes for faster & safer changes to your system. Let's not even mention that enforced referential integrity helps query performance (OK, let's mention it).

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning