Определить таблицу season
, имеющую два столбца: season_id
и season_name
:
CREATE TABLE "SEASON" (
"SEASON_ID" NUMBER NOT NULL ENABLE,
"SEASON_NAME" VARCHAR2(6 BYTE) NOT NULL ENABLE,
CONSTRAINT "SEASON_PK" PRIMARY KEY ("SEASON_ID")
)
Добавьте столбец season_id
в таблицу (таблицы), записи которых нуждаются в идентификации сезона, и создайте отношение внешнего ключа к таблице season
Следующими опциями являются ограничения CHECK, но они не подходят, если вы хотите использовать значения в более чем одной таблице, поскольку они не могут управляться централизованно. Триггеры также являются опцией, но в этом случае триггеры больше похожи на пушку для уничтожения комара по сравнению с ограничением CHECK ...
Что лучше?
Цитировать sql_mommy:
Лучше всего [отдельная таблица с отношением внешнего ключа].
Это единственное место для управления нужным типом, и оно гибкое, так что вы можете добавлять / вычитать значения или редактировать по мере необходимости. Это делает для хорошей индексации тоже. И в случае, если вы подумаете: «но содержимое этого перечисления никогда не нужно будет редактировать» - по моему опыту, ВСЕ типы данных в конечном итоге изменяются. Например, если у вас есть список месяцев, позже вы можете добавить различные сокращения месяцев или связанные с бизнесом ассоциации с этими месяцами. Использование реляционной структуры базы данных обеспечивает максимальную гибкость и простоту обслуживания.