С учетом изложенного алгоритм декомпозиционного проектирования БД включает следующие этапы:
1. Построение универсального отношения для БД.
2.Определение всех ФЗ, существующих между атрибутами универсального отношения.
3.Удаление всех избыточных ФЗ из исходного набора ФЗ с целью получения минимального покрытия. Эта процедура проводится путём поочередного удаления избыточных ФЗ с последующей проверкой получаемого на каждом шаге набора ФЗ на наличие хотя бы одной избыточной ФЗ.
4. Использование ФЗ из минимального покрытия для декомпозиции универсального отношения в набор НФБК -отношений.
5.Определение того, находятся ли полученные отношения в НФБК. Если да, то проектирование завершается, если нет, то отношения не находящиеся в НФБК должны быть разложены на два отношения.
5.Повторение шага 5 для каждого нового отношения, полученного в результате декомпозиции. Проектирование завершается, когда все отношения будут находиться в НФБК.
7. Если может быть получено более чем одно минимальное покрытие, то осуществляется сравнение результатов, полученных на основе различных минимальных покрытий, с целью определения варианта, лучше других отвечающего требованиям пользователя.
При использовании алгоритма декомпозиции следует помнить о нежелательности проекции, порождаемой ФЗ, у которой зависимостная часть является детерминантом другой ФЗ; также повышенное внимание требуется в тех случаях, когда зависимостная часть ФЗ зависит более чем от одного детерминанта. В любом из этих случаев может быть утеряна ФЗ из БД. Если в процессе декомпозиции достигнуто состояние, в котором проецирование, не влекущее за собой потерь ФЗ, становится невозможным, проектировщик должен будет сделать выбор из двух альтернатив: 1 - выбор оставшихся ФЗ и создание одного отношения для каждых детерминанта и набора зависящих от него атрибутов; 2 - изменение порядка ранее проведенных декомпозиций, ведь алгоритм проектирования не ведет к единому решению.

Метод ER - проектирования
Если число атрибутов проектируемой БД превышает 20, декомпозиционный метод проектирования становится излишне громоздким. В этом случае следует обратить внимание на другие методы. Один из таких методов называется "сущность-связь" или ER - методом. Он отличается от метода декомпозиции тем, что ФЗ привлекаются не на начальном, а на конечном этапе проектирования.
Сущности и связи
Представление о методе можно получить с помощью специально подобранного примера. Предположим, что проектируется БД, предназначенная для хранения информации о преподавателях института и о тех дисциплинах, которые они читают. Двумя главными объектами, или сущностями, представляющими в данном случае интерес, являются ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА. Эти две сущности соотносятся с помощью связи ЧИТАЕТ, что позволяет нам сказать ПРЕПОДАВАТЕЛЬ ЧИТАЕТ ДИСЦИПЛИНА.
Это утверждение может быть представлено графически.
ПРЕПОДАВАТЕЛЬ ЧИТАЕТ ДИСЦИПЛИНА
П1 Д1
П2 Д2
П3 Д3
П4 Д4
Рис. 15. Пример диаграммы ЕR - экземпляров.
Графическое изображение, приведенное на рис.15, называют диаграммой ЕR – экземпляров. Она показывают, какую в точности дисциплину читает каждый преподаватель. В этом примере каждый преподаватель идентифицируется номером преподавателя (нп), и каждая дисциплина - номером дисциплины (нд).
Рис.16. называется диаграммой ЕR - типа и содержит ту же общую информацию, которая содержится на рис.15.
1 1
![]() |
| |||||||
![]() | ||||||||
![]() | ||||||||
нп…. нд….
Рис.16. Пример диаграммы ЕR - типа
В то же время, хотя это может показаться неочевидным на данный момент, рис. 16 содержит всю информацию, необходимую для генерации отношений первого уровня проектирования БД.
Остановимся на некоторых терминах, используемых в дальнейшем.
Сущность. Сущность определяется как некоторый объект, представляющий интерес для пользователя. Этот объект должен иметь экземпляры, отличающиеся друг от друга и допускающие однозначную идентификацию.
Единственный определяющий признак, который может помочь в нахождении сущностей, состоит в том, что сущность - это как правило существительное. Примерами сущностей могут служить машины, банковские счета, институты, школы, служащие, контракты и т.д. На рис. 15 и 16 сущностями являются ДИСЦИПЛИНА и ПРЕПОДАВАТЕЛЬ, в то время как отдельные экземпляры каждой сущности идентифицируются с помощью номера - дисциплины и номера - преподавателя соответственно.
Связь. Связь представляет собой соединение между двумя или более сущностями. При поиске связей в основном следует полагаться на то обстоятельство, что связь обычно выражается глаголом. Типичными примерами связей между двумя сущностями являются: служащие РАБОТАЮТ в отделах, студенты ИЗУЧАЮТ учебные дисциплины, рабочие ОБСЛУЖИВАЮТ механизмы и т. д.
Тесно связано с предыдущими третье важное понятие, обсуждавшиеся ранее, а именно атрибут. Атрибут, есть свойство сущности. Например, атрибутами, могущими быть свойствами сущности ДИСЦИПЛИНА, являются: номер дисциплины, семестр в котором она преподавалась, предыдущая дисциплина, на которую она базируется, число часов на дисциплину и т.д. Атрибутами сущности ПРЕПОДАВАТЕЛЬ являются: номер - преподавателя, ученая степень, ученое звание, стаж работы и т. д.
Возвращаясь к рис. 15 и 16 отметим, что на диаграмме ER - экземпляров названия всех сущностей помещены над экземплярами этих сущностей и в них использованы прописные буквы, в то время как каждый экземпляр сущности идентифицируется значениями атрибута. Так ДИСЦИПЛИНА является сущностью, а Д1 - конкретным экземпляром сущности. Связь также именуется, и ее название, составленное из прописных букв, размещается над экземплярами связи, при этом экземпляр каждой отдельной связи специфицируется линией между теми двумя экземплярами сущностей, которые эта связь соединяет. Экземпляр связи между Д2 и П3, например, означает, что преподаватель с номером П3 читает дисциплину с номером Д2.
В некоторых случаях может понадобиться набор атрибутов для идентификации каждого экземпляра сущности. Атрибут, или набор атрибутов, используемый для идентификации экземпляра сущности, называется ключом сущности. Каждый экземпляр связи однозначно определяется набором ключей сущностей, соединяемых этой связью.
При ER-методе на начальном этапе проектирования естественными требуемыми атрибутами являются те, которые необходимы для формирования ключей сущностей. Другие атрибуты вместе с определенными для них ФЗ потребуются на более поздних этапах проектирования.
На диаграммах ER - типа (рис. 16) сущности представляются в виде прямоугольников, а связи в виде ромбов. Ниже каждой сущности размещается атрибут, или набор атрибутов, являющийся ключом сущности для данной сущности. Значение цифры "1" на диаграмме и маленьких сплошных кружков будут обсуждены далее.
В большинстве случаев для определения набора отношений проектируемой БД используются диаграммы ER - типа, а не диаграммы экземпляров.
Степень связи
Важной характеристикой связи между двумя (и более) сущностями является степень связи. Это понятие рассмотрим на расширенном примере данных, приведенных на рис. 17.
ПРЕПОДАВАТЕЛЬ ЧИТАЕТ ДИСЦИПЛИНА
П1 Д1
П2 Д2
П3 Д3
П4 Д4
а) Степень связи равна 1:1 и класс принадлежности ни одной из сущностей не является обязательным.
ПРЕПОДАВАТЕЛЬ ЧИТАЕТ ДИСЦИПЛИНА
П1 Д1
П2 Д2
П3 Д3
Д4
б) Степень связи равна 1:1 и класс принадлежности сущности ПРЕПОДАВАТЕЛЬ является обязательным.
ПРЕПОДАВАТЕЛЬ ЧИТАЕТ ДИСЦИПЛИНА
П1 Д1
П2 Д2
П3 Д3
П4
в) Степень связи равна 1:1 и класс принадлежности сущности ДИСЦИПЛИНА является обязательным.
ПРЕПОДАВАТЕЛЬ ЧИТАЕТ ДИСЦИПЛИНА
П1 Д1
П2 Д2
П3 Д3
П4 Д4
г) Степень связи равна 1:1 и класс принадлежности обоих сущностей является обязательным.
Рис. 17. Различные классы принадлежности для случая
степени связи 1:1.
Рис. 17 иллюстрирует все возможные формы диаграммы ER - экземпляров, которые могли бы существовать между сущностями ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА в том случае, когда степень связи равна 1:1. Каждая диаграмма представляет собственный набор возможных правил функционирования учебного заведения. Только одна из этих диаграмм может быть истинной для заведения в каждый момент времени. Перечень правил, которых следует придерживаться для соответствия каждой диаграмме, представленной на рис. 17 формулируется следующим образом:
Рис. 17, а. Каждый преподаватель читает не более одной дисциплины, и каждая дисциплина читается не более чем одним преподавателем. Допускается наличие преподавателей, не читающих ни одной дисциплины, а также дисциплин не читаемых вовсе. Таким образом, ни один преподаватель не должен читать более одной дисциплины, и на одна дисциплина не должна читаться более чем одним преподавателем.
Рис. 17,б. Каждый преподаватель читает только одну дисциплину, а каждая дисциплина читается не более чем одним преподавателем. Допускается наличие дисциплин не читаемых вовсе.
Рис. 17, в. Каждый преподаватель читает не более одной дисциплины, а каждая дисциплина читается только одним преподавателем. Допускается наличие преподавателей, не читающих ни одной дисциплины.
Рис. 17, г. Каждый преподаватель читает только одну дисциплину, и каждая дисциплина читается только одним преподавателем.
Тот факт, что каждый экземпляр сущности, расположенный как в левой, так и в правой частях диаграммы, связывается максимально с одним экземпляром сущности, расположенным в противоположной части диаграммы, дает основание определить каждую из диаграмм экземпляров, приведенных на рис. 17, как имеющую степень связи 1:1.
Различия между диаграммами, показанными на рис.17, являются следствием того, должны или не должны все экземпляры сущности участвовать в связи. На рис.17,а не выставляется требование участия всех экземпляров обоих сущностей в связи. На рис.17,б все экземпляры преподавателей обязательно должны участвовать в связи, а экземпляры дисциплин - не обязательно. На рис.17,в требуется участие в связи каждого экземпляра дисциплины и допускается неучастие некоторых экземпляров преподавателей. На рис.17,г требование обязательного участия в связи накладывается на все экземпляры обоих сущностей.
Рис.18 иллюстрирует возможность более компактной формы представления информации, приведенной на рис.17.
1 1
нп …. нд ….
а)
1 1
![]() |
нп …. нд …
б)
1 1
![]() |
нп …. нд …
в)
1 1
![]() |
нп …. нд …
г)
Рис. 18. Диаграммы ER-типа, соответствующие
диаграммам экземпляров, приведенных на рис.17.
Если экземпляры данной сущности должны участвовать в связи, то участие называется обязательным и этот факт отмечается помещением маленького сплошного кружка в блок, смежный с блоком сущности. Если экземпляры данной сущности могут не участвовать в связи, то участие называется необязательным и кружок внутрь маленького блока не заносится. Класс принадлежности сущности должен быть либо обязательным, либо не обязательным и определяется правилами, регламентирующим деятельность организации. Единицы в обеих частях связей, показанных на рис.18, говорят о том, что степени всех связей относятся к типу 1:1.
В диаграммах ER-типа непосредственно под блоком каждой сущности выписывается и выделяется подчеркиванием ключ этой сущности: нп (номер-преподавателя) для сущности ПРЕПОДАВАТЕЛЬ и нд (номер-дисциплины) для сущности ДИСЦИПЛИНА. Точки, расположенные вслед за каждым из этих атрибутов, указывают на то, что никакие другие возможно имеющиеся атрибуты соответствующей сущности не могут быть частью ее ключа. Эти другие атрибуты будут добавлены после разработки отношений.
Ни одно из правил, регламентирующих работу организации и используемых при составлении диаграмм представленных на рис. 17 и 18, не допускает чтения преподавателем более одной дисциплины, а также чтение одной дисциплины более чем одним преподавателем. Для большинства учебных заведений дело обстоит иначе. Ниже приводятся другие наборы правил, принятых во многих учебных заведениях.
СЛУЧАЙ 1. Каждый преподаватель может читать одновременно несколько дисциплин, но каждая дисциплина читается не более чем одним преподавателем.
СЛУЧАЙ 2. Каждый преподаватель читает не более одной дисциплины, но каждая дисциплина может читаться сразу несколькими преподавателями.
СЛУЧАЙ 3. Каждый преподаватель может читать несколько дисциплин и каждая дисциплина может читаться несколькими преподавателями.
Каждый из этих случаев имеет несколько подвариантов, а именно класс принадлежности может быть обязательным или необязательным - для одной из двух, ни для одной или для обеих сущностей. Отметим, что случаи 1 и 2 симметричны по форме.
1.6.3. Переход от диаграмм ER – типа к отношениям
Связь ЧИТАЕТ, существующая между сущностями ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА называется бинарной, поскольку она связывает только две сущности. Бинарные связи встречаются наиболее часто.
Рассмотрим, как с использованием диаграммы ER-типа можно получить отношения, служащие основой построения БД.
Общий подход к построению БД с использованием ER-метода состоит прежде всего в построении диаграммы ER-типа, включающую в себя все сущности и связи, важные с точки зрения интересов пользователя.
Второй шаг в процессе проектирования состоит в построении набора предварительных отношений и указании предполагаемого первичного ключа для каждого отношения.
Последний шаг состоит в подготовке списка всех представляющих интерес атрибутов (тех из них, которые не были уже перечислены в диаграмме ER-типа в качестве ключей сущности) и включение каждого из этих атрибутов в одно из предварительных отношений с тем условием, чтобы эти отношения находились в НФБК.
На этом последнем шаге для каждого отношения должны быть определены межатрибутные ФЗ, с помощью которых проверяется соответствие отношений НФБК. Если полученные в итоге отношения не находятся в НФБК, то к ним необходимо применить операцию декомпозиции, с последующей проверкой полученных отношений на нахождение в НФБК.
Если же некоторым атрибутам не находятся логически обоснованных мест в предварительных отношениях, то в этих случаях необходимо пересмотреть ER-диаграммы на предмет устранения возникших затруднений.
Предварительные отношения для бинарных связей степени 1:1
Предварительные отношения для данной бинарной связи могут быть получены путем просмотра нескольких логических альтернатив и выбора среди них наиболее подходящей. Перечень общих правил генерации отношений из диаграмм ER-типа можно получить, опираясь на класс принадлежности и степень связи как на определяющие факторы. С целью упрощения вывода этих правил будет использована ситуация ПРЕПОДАВАТЕЛЬ ЧИТАЕТ ДИСЦИПЛИНА (обсуждавшаяся ранее) вместе со ссылками на приведенные диаграммы. Обсуждение будет ограничено случаями, в которых степень бинарных связей равно 1:1.
При попытке определить как много отношений необходимо для размещения информации, содержащейся в бинарных связях степени 1:1, подобных приведенным на диаграммах ER-типа (см. рис.18), простейшим решением, на которое можно надеяться, является необходимость одного отношения. Пусть это отношение называется ПРЕПОДАВАТЕЛЬ и все атрибуты помещаются в это одно отношение. На рис.19 приведен экземпляр такого отношения в том случае, когда класс принадлежности является обязательным для обеих сущностей (см. рис.17, г и 18,г). В этом отношении сущность ПРЕПОДАВАТЕЛЬ была дополнена двумя типичными атрибутами: фамилия преподавателя (пфам) и телефон-преподавателя (птел). Один атрибут добавлен к сущности ДИСЦИПЛИНА: название дисциплины.
ПРЕПОДАВАТЕЛЬ (нп, пфам, птел, нд, название).
ПРЕПОДАВАТЕЛЬ
| нп | пфам | птел | нд | название |
| П1 | Кулаков | 523298 | Д1 | ВМ |
| П2 | Быков | 536554 | Д2 | ТМ |
| П3 | Пухова | 426521 | Д3 | ВТ |
| П4 | Ахмеров | 348654 | Д4 | Физика |
Рис.19. Экземпляр единичного отношения, в котором
содержатся данные в соответствии с рис.17,г и 18, г.
В этом специальном случае одно отношение это все, что требуется. Т.к. степень связи здесь 1:1 и класс принадлежности является обязательным как для сущности ПРЕПОДАВАТЕЛЬ, так и для сущности ДИСЦИПЛИНА, гарантируется однократное появление каждого значения нп и каждого значения нд в любом экземпляре отношения. Это значит, что отношение никогда не будет содержать ни пустой информации, ни повторяющихся групп избыточных данных.
Ключ сущности ПРЕПОДАВАТЕЛЬ был избран в качестве первичного ключа для отношения, но также может быть использован ключ сущности ДИСЦИПЛИНА.
Итак, можно сформулировать первое правило генерации отношения.
ПРАВИЛО 1. Если степень бинарной связи 1:1 и класс принадлежности обеих сущностей является обязательным, то требуется только одно отношение, первичным ключом этого отношения может быть ключ любой из двух сущностей.
Если степень связи равна 1:1 и класс принадлежности одной сущности является обязательным, а другой - не обязательным, то одного отношения недостаточно. На рис.20 приведен экземпляр отношения в том случае, когда класс принадлежности сущности ПРЕПОДАВАТЕЛЬ является обязательным, а сущности ДИСЦИПЛИНА – не обязательным (см. рис. 17,б и 18,б). В этом случае пробелы появляются во всех кортежах, содержащих информацию о дисциплинах не читаемых ни одним из преподавателей. Пробелы обозначаются знаками "-".
ПРЕПОДАВАТЕЛЬ (нп, пфам, птел, нд, название)
ПРЕПОДАВАТЕЛЬ
| нп | пфам | птел | нд | название |
| П1 | Кулаков | 523298 | Д1 | ВМ |
| П2 | Быков | 536554 | Д2 | ТМ |
| П3 | Пухова | 426521 | Д3 | ВТ |
| -- | -- | -- | Д4 | Физика |
Рис.20. Экземпляр единичного отношения, в котором содержатся данные в соответствии с рис. 17,б и 18,б.
Глядя на это отношение, можно заключить, что способ исключения пробелов состоит в использовании вместо одного отношения двух. Каждое отношение будет содержать информацию, касающуюся одной сущности. Кроме того, ключ сущности, класс принадлежности которой является не обязательным, необходимо поместить в качестве атрибута в отношение, содержащее информацию о сущности, класс принадлежности которой является обязательным. Этот случай иллюстрируется на рис.21.
ПРЕПОДАВАТЕЛЬ (нп, Пфам, Птел, нд,)
ДИСЦИПЛИНА (нд,название)
ПРЕПОДАВАТЕЛЬ ДИСЦИПЛИНА
| нп | пфам | птел | нд |
| нд | название |
| П1 | Кулаков | 523298 | Д1 | Д1 | ВМ | |
| П2 | Быков | 536554 | Д2 | Д2 | ТМ | |
| П3 | Пухова | 426521 | Д3 | Д3 | ВТ |
Рис.21. Экземпляры двух отношений, в которых содержатся данные, приведенные на рис.17,б и 18,б.
Итак, второе правило генерации отношений.
ПРАВИЛО 2. Если степень бинарной связи равна 1:1 и класс принадлежности одной сущности является обязательным, а другой - необязательным, то необходимо построение двух отношений. Под каждую сущность необходимо выделение одного отношения, при этом ключ сущности должен служить первичным ключом для соответствующего отношения. Кроме того, ключ сущности, для которого класс принадлежности является не обязательным, добавляется в качестве атрибута в отношение, выделенное для сущности с обязательным классом принадлежности.
Если отклониться от правила 2 и добавить в отношение ДИСЦИПЛИНА в качестве атрибута ключ сущности ПРЕПОДАВАТЕЛЬ (нп), а в отношение ПРЕПОДАВАТЕЛЬ ничего не добавлять, то в этом случае в отношении ДИСЦИПЛИНА появятся пробелы во всех кортежах в поле нп, содержащих информацию о дисциплинах, которые не читаются.
Воспользовавшись этим правилом в ситуации, описанной на рис.17,в и 18,в, где класс принадлежности сущности ДИСЦИПЛИНА является обязательным, а сущности ПРЕПОДАВАТЕЛЬ - необязательным, получим следующие отношения:
ПРЕПОДАВАТЕЛЬ (нп, пфам, птел).
ДИСЦИПЛИНА (нд, название, нп).
В том случае, когда степень бинарной связи равна 1:1 и класс принадлежности ни одной из сущностей не является обязательным (см. рис.17,а и 18,а) необходимо формирование трех отношений: по одному для каждой сущности и одного для связи. На рис. 22 приведены экземпляры отношений, получаемые при использовании одного, двух и трех отношений
ПРЕПОДАВАТЕЛЬ
| нп | пфам | птел | нд | название |
| П1 | Кулаков | 523298 | Д1 | ВМ |
| П2 | Быков | 536554 | -- | -- |
| П3 | Пухова | 426521 | Д3 | ВТ |
| -- | -- | -- | Д4 | Физика |
а) Использование одного отношения
ПРЕПОДАВАТЕЛЬ ДИСЦИПЛИНА
| нп | пфам | птел | нд |
| нд | название |
| П1 | Кулаков | 523298 | Д1 | Д1 | ВМ | |
| П2 | Быков | 536554 | -- | Д2 | ТМ | |
| П3 | Пухова | 426521 | Д3 | Д3 | ВТ |
б) Использование двух отношений
ПРЕПОДАВАТЕЛЬ ДИСЦИПЛИНА
| нп | пфам | птел |
| нд | название |
| П1 | Кулаков | 523298 | Д1 | ВМ | |
| П2 | Быков | 536554 | Д3 | ВТ | |
| П3 | Пухова | 426521 | Д4 | Физика |
ЧИТАЕТ
| нп | нд |
| П1 | Д1 |
| П3 | Д3 |
в) Использование трех отношений
Рис. 22. Возможные варианты отношений для случая бинарной связи степени 1:1, когда ни один из классов принадлежности ни является обязательным.
Проблемы возникают везде, за исключением случая использования трех отношений. В этом случае отношение ПРЕПОДАВАТЕЛЬ содержит информацию о всех преподавателях, отношение ДИСЦИПЛИНА - обо всех дисциплинах, а отношение ЧИТАЕТ содержит номера дисциплины только тех, которые читаются, и номера преподавателей только тех, которые читают лекции по дисциплинам.
Итак, третье правило генерации отношений.
ПРАВИЛО 3. Если степень бинарной связи равна 1:1 и класс принадлежности ни одной сущности не является обязательным, то необходимо использовать три отношения: по одному для каждой сущности, ключи которых служат в качестве первичных ключей в соответствующих отношениях, и одного для связи. Среди своих атрибутов отношение, выделяемое связи, будет иметь по одному ключу сущности от каждой сущности.
Предварительные отношения для бинарных связей степени 1:N.
На рис.23 показан экземпляр отношения ПРЕПОДАВАТЕЛЬ, для случая, когда каждый преподаватель может читать более чем одну дисциплину и нет дисциплин, которые не читаются и имеются преподаватели, которые ничего не читают. Кроме того, каждая дисциплина читается только одним преподавателем. Т.е. рассматривается случай, когда класс принадлежности сущности ПРЕПОДАВАТЕЛЬ является необязательным, а сущности ДИСЦИПЛИНА – обязательным, а степень связи 1:N.
ПРЕПОДАВАТЕЛЬ
| нп | пфам | птел | нд | название |
| П1 | Кулаков | 523298 | Д1 | ВМ |
| П1 | Кулаков | 523298 | Д2 | ТМ |
| П1 | Кулаков | 523298 | Д3 | СМ |
| П2 | Быков | 536554 | Д4 | ХИМИЯ |
| П2 | Быков | 536554 | Д5 | Физика |
| П3 | Пухова | 426521 | Д5 | ВТ |
| П4 | Ахмеров | 348654 | -- | -- |
Рис.23. Использование одного отношения для бинарной связи типа 1:n в том случае, когда класс принадлежности n - связной сущности является обязательным, а 1 - связной необязательным.
В этом случае отчетливо вырисовывается две проблемы, связанные с этим отношением. Пробелы обнаруживаются в тех полях атрибутов дисциплины, где преподаватель не читает дисциплину; повторение полей данных у преподавателя наблюдается там, где преподаватель читает более одной дисциплины. Если бы класс принадлежности 1 - связной сущности был обязательным, то исчезли бы пробелы, но повторяющиеся группы данных в полях нп, пфам и птел сохранились бы.
Решить все эти проблемы, вне зависимости от класса принадлежности 1 - связной сущности, можно согласно следующему правилу.
ПРАВИЛО 4. Если степень бинарной связи равна 1:n и класс принадлежности n - связной сущности является обязательным, то достаточным является использование двух отношений, по одному на каждую сущность, при условии, что ключ сущности каждой сущности служит в качестве первичного ключа для соответствующего отношения. Дополнительно ключ 1 - связной сущности должен быть добавлен как атрибут в отношение, отводимое n - связной сущности.
На рис.24 приведены примеры двух отношений, построенных с помощью этого правила и содержащие ту же информацию, которая представлена на рис. 23. Здесь все пробелы и повторяющиеся группы данных исчезли.
ПРЕПОДАВАТЕЛЬ ДИСЦИПЛИНА
| нп | пфам | птел |
| нд | название | нп |
| П1 | Кулаков | 523298 | Д1 | ВМ | П1 | |
| П2 | Быков | 536554 | Д2 | ТМ | П1 | |
| П3 | Пухова | 426521 | Д3 | СМ | П1 | |
| П4 | Ахмеров | 348654 | Д4 | ХИМИЯ | П2 | |
|
| Д5 | Физика | П2 | |||
| Д5 | ВТ | П3 | ||||
Рис. 24. Данные, приведенные на рис.23 после их разнесения по двум отношениям с помощью ПРАВИЛА 4.
На рис.25,а показан экземпляр отношения ПРЕПОДАВАТЕЛЬ для случая степени связи 1:n с необязательным классом принадлежности обоих сущностей.
ПРЕПОДАВАТЕЛЬ
| нп | пфам | птел | нд | название | ||||||
| П1 | Кулаков | 523298 | Д1 | ВМ | ||||||
| П1 | Кулаков | 523298 | Д2 | ТМ | ||||||
| П1 | Кулаков | 523298 | Д3 | СМ | ||||||
| П2 | Быков | 536554 | Д4 | ХИМИЯ | ||||||
| П2 | Быков | 536554 | Д5 | Физика | ||||||
| -- | -- | -- | Д5 | ВТ | ||||||
| П4 | Ахмеров | 348654 | -- | -- | ||||||
а)
ПРЕПОДАВАТЕЛЬ ДИСЦИПЛИНА
| нп | пфам | птел |
| нд | название | нп |
| П1 | Кулаков | 523298 | Д1 | ВМ | П1 | |
| П2 | Быков | 536554 | Д2 | ТМ | П1 | |
| П4 | Ахмеров | 348654 | Д3 | СМ | П1 | |
| Д4 | ХИМИЯ | П2 | ||||
| Д5 | Физика | П2 | ||||
| Д5 | ВТ | -- | ||||
б)
Рис. 25. Использование одного отношения а) и двух отношений б) для бинарной связи типа 1:n в случае, когда класс принадлежности обеих сущностей является необязательным.
В случае использования одного отношения отчетливо вырисовывается три проблемы. Пробелы возникают в полях атрибутов дисциплин там, где преподаватель не читает дисциплину, и в тех полях атрибутов преподаватель, где дисциплина не читается ни одним из преподавателей. Кроме того, повторяются поля данных о преподавателях в тех случаях, когда преподаватель читает более одной дисциплины.
Если бы класс принадлежности 1 - связной сущности был обязательным, тогда пробелы в полях атрибутов дисциплины исчезли бы, однако пробелы и повторяющиеся группы данных в полях атрибутов преподавателей остались бы.
Если применить ПРАВИЛО 4 к этому случаю и сформировать два отношения (см. рис. 25,б), то все проблемы будут решены за исключением одной: не исчезнут пробелы в полях номера преподавателя в новом отношении ДИСЦИПЛИНА во всех тех местах, где дисциплина не читается.
Решить все эти проблемы вне зависимости от класса принадлежности 1 - связной сущности можно, следуя следующему правилу.
ПРАВИЛО 5. Если степень бинарной связи равна 1:n и класс принадлежности n-связной сущности является необязательным, то необходимо формирование трех отношений: по одному для каждой сущности, причем ключ каждой сущности служит первичным ключом соответствующего отношения, и одного отношения для связи. Отношение, выделенное для связи должна иметь среди своих атрибутов ключ сущности от каждой сущности.
На рис.26 приведены экземпляры трех отношений, построенных с помощью этого правила, содержащие ту же информацию, что представлена на рис.25,а. В этих отношениях все пробелы и повторяющиеся группы данных исключены.
ПРЕПОДАВАТЕЛЬ ДИСЦИПЛИНА
| нп | пфам | птел |
| нд | название | нп |
| П1 | Кулаков | 523298 | Д1 | ВМ | П1 | |
| П2 | Быков | 536554 | Д2 | ТМ | П1 | |
| П4 | Ахмеров | 348654 | Д3 | СМ | П1 | |
|
| Д4 | ХИМИЯ | П2 | |||
| Д5 | Физика | П2 | ||||
|
| ||||||
ЧИТАЕТ
| нп | нд |
| П1 | Д1 |
| П1 | Д2 |
| П1 | Д3 |
| П2 | Д4 |
| П2 | Д5 |
Рис.26.Размещение данных в трех отношениях с помощью ПРАВИЛА 5.
В отношении ЧИТАЕТ нд является первичным ключом в силу существующей связи типа n:1 между нд и нп.
Предварительные отношения для бинарных связей степени N:M
Если степень бинарной связи равна N:M, то для хранения данных требуется три отношения вне зависимости от класса принадлежности как первой, так и второй сущностей. При использовании одного или двух отношений неизбежно возникновение пробелов и/или повторяющихся групп данных в экземплярах этих отношений. Какая из этих двух проблем возникает при использовании двух отношений, зависит от классов принадлежности двух сущностей. Предлагается следующие правило генерации предварительных отношений для степени связи m:n.
ПРАВИЛО 5. Если степень бинарной связи равна N:M, то для хранения данных необходимо три отношения: по одному для каждой сущности, причем ключ каждой сущности используется в качестве первичного ключа соответствующего отношения, и одного отношения для связи. Последнее отношение должно иметь в числе своих атрибутов ключ сущности каждой сущности.
Для случая, когда степень связи равна N:M и ни один класс принадлежности не является обязательным экземпляры отношений соответствуют рис. 26.
В этом случае отношение ЧИТАЕТ целиком является ключом. Аналогичными будут экземпляры отношений, содержащие те же данные в тех случаях, когда один или оба класса принадлежности являются обязательными.












