Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Виды связей между таблицами в реляционных базах данных

Содержание:

Ожидаемый результат

Приобретение студентами знаний и практических умений по различным направлениям создания и проектирования баз данных.

Виды связей между таблицами в реляционных базах данных

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

Отношение (связь) один - ко – многим (1: M или M:1) является наиболее часто используемым типом связи. В такой связи каждой записи в таблице А (первичныйключ)соответствует несколько записей в таблице В (внешний ключ), а запись в таблице В не может иметь более одной соответствующей ей записи в таблице А. Таблица А называется главной ,а таблица В подчиненной таблицей. Или иногда таблицу А называют родительской таблицей, а В – дочерней .

Примеры

https://studfile.net/html/2706/784/html_rt25Jb5ukZ.J2WP/img-HFKEDq.png

Одной записи в таблице Клиенты может соответствовать много записей в таблице Заказы .

https://studfile.net/html/2706/784/html_rt25Jb5ukZ.J2WP/img-BbIMzF.png

Одной записи в таблице Товары может соответствовать много записей в таблице Заказы .

https://studfile.net/html/2706/784/html_rt25Jb5ukZ.J2WP/img-AAUgIg.png

Связь один ко многим создается в том случае, когда поле одной из таблиц является ключевым

Отношение ( связь) один - к – одному (1:1) . Запись в таблице А может иметь не более одной связанной записи в таблице В и наоборот. Содержимое таких таблиц как правило можно объединить в одну. Этот тип связи используется довольно редко Такие связи имеет смысл устанавливать для разделения таблиц с очень большим количеством полей, для отделения части таблицы по соображениям защиты или если не все данные из одной таблицы используются в другой .

https://studfile.net/html/2706/784/html_rt25Jb5ukZ.J2WP/img-QC2cje.png

В данном случае только незначительная часть сотрудников занимаются серьезно спортом и имеют спортивные разряды, поэтому данные о сотрудниках спортсменах выделены в отдельную таблицу.

Связь один к одному создается только в том случае когда оба поля являются ключевыми

Отношение ( связь) многие ко многим (N:M). Одной записи в таблице А может соответствовать несколько записей в таблице В , а одной записи в таблице В может соответствовать много записей в таблице А.


https://studfile.net/html/2706/784/html_rt25Jb5ukZ.J2WP/img-hpAyGx.png

У одной книги может быть несколько авторов , а каждого автора может быть несколько книг.

https://studfile.net/html/2706/784/html_rt25Jb5ukZ.J2WP/img-gGW1kP.png

Такую связь вMSAccessреализовать невозможно. Такая связь реализуется только при помощи третьей таблицы – таблицы связки, имеющей составной ключ

Установление связи между таблицами возможно

  • Связываемые поля имеют одинаковый тип данных. Исключение составляет поле счетчик, так как поле счетчик не может быть использовано в качестве вторичного ключа. Поле счетчик может быть связано с числовым полем, имеющим размер длинное целое.
  • Таблицы хранятся внутри одной БД.
  • Главная таблица связывается с подчиненной по ключу

При создании связи между таблицами устанавливается параметр целостности данных, а также параметры каскадного обновления и удаления связанных записей.

Обеспечение целостности данных для связанных таблиц означает

  • В подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице ключом связи
  • В главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице.
  • Изменение значений ключа связи главной таблицы должно приводить к изменению соответствующих значений в записях подчиненной таблицы

Каскадное обновление и удаление связанных записей

  • В режиме каскадного обновления связанных записей при изменении значения в поле связи главной таблицы автоматически изменяются значения в подчиненной таблице. (Например изменяя название фирмы в таблице Клиенты , изменится название фирмы в таблице Заказы).
  • При удалении записи из главной таблицы будут автоматически удаляться записи из подчиненной таблицы.

Вывод

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

Источники

https://studfile.net/preview/3858017/page:4/

https://zametkinapolyah.ru/zametki-o-mysql/chast-3-2-vidy-svyazej-mezhdu-tablicami-v-baze-dannyx-svyazi-v-relyacionnyx-bazax-dannyx-otnosheniya-kortezhi-atributy.html

https://office-menu.ru/uroki-sql/41-tipy-svyazej-v-relyatsionnykh-bazakh-dannykh