Подсказки на компьютерную тематику

Можно подсмотреть, если забыли…

Как работают связи между таблицами в БД MySQL

Зачем нужны связи в базе данных MySQL

Связи между таблицами создаются непосредственно в базе данных для установки ограничений на изменение и/или удаление данных.
Они работают напрямую, не зависят от самого кода программы и тем самым повышают отказоустойчивость и надежность всего приложения.

Требования для возможности создания связей

    Необходимые настройки базы данных и таблиц для создания связей:

  • тип базы данных должен быть InnoDB, который полностью поддерживает работу Внешних ключей, необходимых для связей между таблицами
  • связываемые поля должны иметь индексы – Primary key (Основной индекс) или Unique (Уникальный индекс)
  • связываемые поля в таблицах должны иметь одинаковый тип данных

Как создать связи

    Связи создаются с помощью Внешних ключей (Foreign key):

  • в личном кабинете PhpMyAdmin выбрать требуемую базу данных, затем последовательно пройти по вкладкам Еще и Дизайнер
  • вводом SQL кода, например
    CREATE TABLE customers (
    customer_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_name VARCHAR(100)
    );

    CREATE TABLE orders (
    order_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    amount DOUBLE,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
    );

  • Общая информация о связях между таблицами в базе данных MySQL

      При создании связей надо помнить:

    • Внешний ключ, т.е. столбец из зависимой таблицы, соединится с индексированным столбцом вида Primary key или Unique в главной таблице
    • для связи по типу многие ко многим требуется таблица-посредник между двумя соединяемыми таблицами, в которой должно быть два Внешних ключа, ссылающихся на первую и вторую таблицу соответственно.
    • для получения информации о существующих связях можно зайти во вкладку Структура, а затем в раздел Связи для каждой таблицы
    • связь один к одному фактически просто делит одну таблицу на несколько
    • если одна сущность не может существовать без другой – это обязательная связь,
      если может существовать – это необязательная связь

Как работают связи между таблицами в БД MySQL

Зачем нужны связи в базе данных MySQL

Связи между таблицами создаются непосредственно в базе данных для установки ограничений на изменение и/или удаление данных.
Они работают напрямую, не зависят от самого кода программы и тем самым повышают отказоустойчивость и надежность всего приложения.

Требования для возможности создания связей

    Необходимые настройки базы данных и таблиц для создания связей:

  • тип базы данных должен быть InnoDB, который полностью поддерживает работу Внешних ключей, необходимых для связей между таблицами
  • связываемые поля должны иметь индексы – Primary key (Основной индекс) или Unique (Уникальный индекс)
  • связываемые поля в таблицах должны иметь одинаковый тип данных

Как создать связи

    Связи создаются с помощью Внешних ключей (Foreign key):

  • в личном кабинете PhpMyAdmin выбрать требуемую базу данных, затем последовательно пройти по вкладкам Еще и Дизайнер
  • вводом SQL кода, например
    CREATE TABLE customers (
    customer_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_name VARCHAR(100)
    );

    CREATE TABLE orders (
    order_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    amount DOUBLE,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
    );

  • Общая информация о связях между таблицами в базе данных MySQL

      При создании связей надо помнить:

    • Внешний ключ, т.е. столбец из зависимой таблицы, соединится с индексированным столбцом вида Primary key или Unique в главной таблице
    • для связи по типу многие ко многим требуется таблица-посредник между двумя соединяемыми таблицами, в которой должно быть два Внешних ключа, ссылающихся на первую и вторую таблицу соответственно.
    • для получения информации о существующих связях можно зайти во вкладку Структура, а затем в раздел Связи для каждой таблицы
    • связь один к одному фактически просто делит одну таблицу на несколько
    • если одна сущность не может существовать без другой – это обязательная связь,
      если может существовать – это необязательная связь