Создание связей в базе данных - 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);

Объяснение кода листинга программы

  1. Создание таблицы regions с полями region_id и region_title.
  2. Создание таблицы city с полями city_id, region_id и city_name.
  3. Создание таблицы rayon с полями rayon_id, city_id и rayon_name.
  4. Добавление ограничения внешнего ключа для поля region_id в таблице city, чтобы указать, что это поле должно ссылаться на поле region_id в таблице regions.
  5. Добавление ограничения внешнего ключа для поля city_id в таблице rayon, чтобы указать, что это поле должно ссылаться на поле city_id в таблице city.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5