Расширение схемы снежинки
Компания рассматривает возможность расширения бизнеса за пределы книжных магазинов в Канаде и США — в частности, планируется выход на новый континент. В рамках подготовки вы решаете добавить поле continent для хранения адресов магазинов.
К счастью, в этом сценарии используется схема снежинки. Как обсуждалось в видеоуроке, схема снежинки, как правило, легче поддаётся расширению и при этом обеспечивает согласованность данных. Вместе с таблицей dim_country_sf загружена таблица dim_continent_sf. Она содержит единственный континент, актуальный на данный момент, — North America — и первичный ключ. В этом упражнении вам нужно расширить таблицу dim_country_sf так, чтобы она ссылалась на dim_continent_sf.
Это упражнение является частью курса
Проектирование баз данных
Инструкции к упражнению
- Добавьте столбец
continent_idв таблицуdim_country_sfсо значением по умолчанию 1. Обратите внимание: конструкцияNOT NULL DEFAULT(1)запрещает значение NULL и устанавливает значение по умолчанию равным1. - Сделайте этот новый столбец внешним ключом, ссылающимся на
continent_idтаблицыdim_continent_sf.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
-- Add a continent_id column with default value of 1
ALTER TABLE ___
ADD ___ int NOT NULL DEFAULT(1);
-- Add the foreign key constraint
ALTER TABLE ___ ADD CONSTRAINT country_continent
FOREIGN KEY (___) REFERENCES ___(___);
-- Output updated table
SELECT * FROM dim_country_sf;