Создание связей в базе данных - MySQL
Формулировка задачи:
Здравствуйте! Пожалуйста, помогите мне с одной проблемой. Значит, мне нужно создать базу данных, где будут храниться регионы, города и районы городов.
Я создал все 3 таблицы, но вот тут такая проблема: как мне связать эти таблицы так, чтобы регионы содержали города, а в городах содержались районы городов? Я так понимаю это можно сделать, манипулируя связями между таблицами, но я их даже создать не могу! Или это с внешними ключами нужно играться? Я не очень то чайниковый в MySQL, но в Workbanch очень мало что понимаю.
Интернет обшарил и толковый подробный гайд так и не нашел.
Стою на проблеме 2-ой день. Может что посоветуете? Буду наимоверно благодарен.
Решение задачи: «Создание связей в базе данных»
textual
Листинг программы
CREATE TABLE regions ( region_id INT NOT NULL PRIMARY KEY, region_title VARCHAR(150) ); CREATE TABLE city ( city_id INT NOT NULL PRIMARY KEY, region_id INT NOT NULL, city_name VARCHAR(150) ); CREATE TABLE rayon ( rayon_id INT NOT NULL PRIMARY KEY, city_id INT NOT NULL, rayon_name VARCHAR(150) ); ALTER TABLE city ADD CONSTRAINT fk_city_region FOREIGN KEY (region_id) REFERENCES regions (region_id); ALTER TABLE rayon ADD CONSTRAINT fk_rayon_city FOREIGN KEY (city_id) REFERENCES city (city_id);
Объяснение кода листинга программы
- Создание таблицы
regions
с полямиregion_id
иregion_title
. - Создание таблицы
city
с полямиcity_id
,region_id
иcity_name
. - Создание таблицы
rayon
с полямиrayon_id
,city_id
иrayon_name
. - Добавление ограничения внешнего ключа для поля
region_id
в таблицеcity
, чтобы указать, что это поле должно ссылаться на полеregion_id
в таблицеregions
. - Добавление ограничения внешнего ключа для поля
city_id
в таблицеrayon
, чтобы указать, что это поле должно ссылаться на полеcity_id
в таблицеcity
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д