Формирование отношений для связи 1:М.

Если две сущности С1 и С2 связаны как 1:М, сущность С1 будет называть односвязной (1-связной), а сущность С2 – многосвязной (М-связной). Определяющим фактором при формировании отношений, связанных этим видом связи, является класс принадлежности М-связной сущности. Так, если класс принадлежности М-связной сущности обязательный, то в результате применения правила получим два отношения, если необязательный – три отношения. Класс принадлежности односвязной сущности не влияет на результат.

Правило 4. Если степень связи между сущностями 1:М (или М:1) и класс принадлежности М-связной сущности обязательный, то достаточно формирования двух отношений (по одному на каждую из сущностей). При этом первичными ключами этих отношений являются ключи их сущностей. Кроме того, ключ 1-связной сущности добавляется как атрибут (внешний ключ) в отношение, соответствующее М-связной сущности.

На рис. 4.11 приведены диаграмма ER-типа и отношения, сформированные по правилу 4.

Формирование отношений для связи 1:М. - student2.ru 1 М

К2,… К1,…

К1,… К1, К2, …

Рис. 4.11. Диаграмма и отношения для правила 4

Четвертое правило может проиллюстрировать следующая ситуация. Имеются две сущности – Факультеты и Специальности. Факультет может выпускать несколько специальностей и обязательно хотя бы одну. Специальности обязательно выпускаются на каком-то факультете и, как правило, только на одном. В результате формируются два отношения – Факультеты и Специальности, в отношение Специальности добавляется ключ (название факультета) из отношения Факультеты.

Правила 5. Если степень связи 1:М (М:1) и класс принадлежности М-связной сущности является необязательным, то необходимо формирование трех отношений (рис. 4.12).

Формирование отношений для связи 1:М. - student2.ru М 1

К1,… К2,…

 
  Формирование отношений для связи 1:М. - student2.ru

К1,… К2,…

К1,К2, …

Рис. 4.12. Диаграмма и отношения для правила 5

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

Пятое правило может проиллюстрировать следующая ситуация. Имеются две сущности Стройматериалы и Склад. Один склад поставляет множество материалов, но не каждый материал может участвовать в поставке. Формируются три отношения – Склад, Стройматериалы, Поставка. Отношение Поставка содержит ключи исходных сущностей (номер склада, код материала) и дополнительные атрибуты – номер поставки, дата поставки, количество материала. Номер поставки может быть ключом третьего отношения.

Формирование отношений для связи М:М.

При наличии связи М:М между двумя сущностями необходимо три отношения независимо от класса принадлежности любой из сущностей. Использование одного или двух отношений в этом случае не избавляет от пустых полей или избыточного дублирования данных.

Правило 6. Если степень связи М:М, то независимо от класса принадлежности сущностей формируются три отношения. Два отношения соответствуют связываемым сущностям и их ключи являются первичными ключами этих отношений. Третье отношение является связным между первыми двумя, а его ключ объединяет ключевые атрибуты связываемых отношений.

На рис. 4.13 приведены диаграмма ER-типа и отношения, сформированные по правилу 6. На рисунке показан вариант с необязательным классом принадлежности обеих сущностей.

Формирование отношений для связи 1:М. - student2.ru М М

К1,… К2,…

 
  Формирование отношений для связи 1:М. - student2.ru

К1,… К2,…

К1, К2, …

Рис. 4.13. Диаграмма и отношения для правила 6

Шестое правило может проиллюстрировать следующий пример. Имеются две сущности - Специальности и Дисциплины со связью многие-ко-многим (одна специальность изучает много дисциплин и одна дисциплина может изучаться несколькими специальностями). В результате проектирования получатся три отношения – Специальности, Дисциплины, Учебный план (который будет содержать код специальности, номер дисциплины, семестр, количество часов лекций, лабораторных работ и т.д.).

Транзакции и параллелизм

Работа транзакций в смеси

Транзакция рассматривается как последовательность элементарных атомарных операций. Атомарность отдельной элементарной операции состоит в том, что СУБД гарантирует, что, с точки зрения пользователя, будут выполнены два условия:

  1. Эта операция будет выполнена целиком или не выполнена вовсе (атомарность - все или ничего).
  2. Во время выполнения этой операции не выполняются никакие другие операции других транзакций (строгая очередность элементарных операций).

Элементарные операции различных транзакций могут выполняться в произвольной очередности (конечно, внутри каждой транзакции последовательность элементарных операций этой транзакции является строго определенной). Например, если есть несколько транзакций, состоящих из последовательности операций элементарных:

Формирование отношений для связи 1:М. - student2.ru ,

Формирование отношений для связи 1:М. - student2.ru ,

Формирование отношений для связи 1:М. - student2.ru

то реальная последовательность, в которой СУБД выполняет эти транзакции может быть, например, такой:

Формирование отношений для связи 1:М. - student2.ru .

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

Определение 2. Последовательность, в которой выполняются элементарные операции заданного набора транзакций, называется графиком запуска набора транзакций.

Наши рекомендации