• Ok, I am sorry - not really - but this is design madness. 

    Seperate tables for each lookup table.  Surrogate int keys when appropriate (almost always).  This keeps referential integrity possible - hello thats the point of a relational database.

    ISO codes - give them a column with a unique constraint.

    Never, never, never design anything that uses triggers for referential integrity unless it is as a last resort.

    I want my lookup tables to be easy to use

    Select F.Comments, S.StatusCode

    From Form F

    Join Status S

    On F.StatusID = S.StatusID

    Where F.FormID = 34567

    There, I have comment and the text version of the status information, something the user can read.

    Also, if I want to cache Status Code information somewhere the table is small and light so it is easy to cache as say XML

    Michael R. Schmidt