Я согласен с @Nicholas Carey (+1): таблица статических данных с двумя столбцами, например, «Ключ» или «ID» и «Описание», с ограничениями внешнего ключа для всех таблиц, использующих коды. Часто столбцы идентификаторов представляют собой простые суррогатные ключи (1, 2, 3 и т. Д., Значения которых не имеют значения), но когда это целесообразно, я иду дальше и использую «специальные» коды. Ниже приведены несколько примеров.
Если значения являются последовательностью (скажем, Упорядоченный, Платный, Обработанный, Отправленный), я мог бы использовать 1, 2, 3, 4, чтобы указать последовательность. Это может упростить задачу, если вы хотите найти все «до конца» этапы предоставления, такие как все заказы, которые еще не были отправлены (ID <4). Если вы планируете заранее, сделайте их 10, 20, 30, 40; это позволит вам добавлять значения «между» существующими значениями, если / когда появляются новые коды или статусы. (Да, вы не можете и не должны пытаться предвидеть все и все, что, возможно, придется сделать когда-нибудь, но такая предварительная планировка может сделать некоторые изменения намного проще.) </p>
Ключи / идентификаторы часто являются целыми числами (1 байт, 2 байта, 4 байта, что угодно). Есть небольшая стоимость, чтобы сделать их символьными значениями (1 символ, 2 символа, 3 символа, 4 символа). Это символ , а не переменный символ . Сделав это, вы можете использовать мнемонику в своих кодах, например
- O, P, R, S
- Или, Pd, Pr, Sh
- Ordr, Платный, Проц, Корабль
... или что-то еще, что плывет на вашей лодке. Сделано так, я обнаружил, что это может сэкономить много времени при анализе или отладке. Вам все еще нужна таблица поиска для целостности отношений, а также напоминание для более неясных кодов.