Читайте также:
|
|
Предположим, что каждый преподаватель читает ровно один курс, и каждый курс читается ровно одним преподавателем. Недопустимо ни наличие преподавателей, не ведущих курсов, ни курсов, за которыми не закреплен преподаватель[5]. Здесь можно говорить, что имеет место бинарная связь степени 1:1 с обязательным классом принадлежности с обеих сторон.
Если степень связи равна 1:1 и класс принадлежности для обеих сущностей обязателен, то требуется только одно отношение; его первичным ключом может быть ключ любой из сущностей.
Иными словами, в данном случае атрибуты двух отношений представляют собой поля одной записи.
Таб. № | ФИО | Курс | Колич. часов | ||
101 | Иванов | Математика | |||
120 | Петров | Физика | |||
203 | Сидоров | Философия | |||
Кузнецов | Сопромат |
Рис. 20. Отношения, связанные степенью связи 1:1 с обязательным с двух сторон классом принадлежности.
Теперь слегка изменим информацию о предметной области. Пусть каждый преподаватель читает ровно один курс, но допускаются курсы, которые в данный момент не читает ни один преподаватель. Здесь степень связи остается равной 1:1, класс принадлежности для сущности Преподаватель по- прежнему обязателен, а класс принадлежности для сущности Курс становится необязательным.
Таб. № | ФИО | Курс | Колич. часов | |||
101 | Иванов | Математика | ||||
120 | Петров | Физика | ||||
203 | Сидоров | Философия | ||||
Кузнецов | Сопромат | |||||
Информатика |
Рис. 21. Отношения, связанные степенью связи 1:1 с обязательным и необязательным классами принадлежности.
Полученные экземпляры сущностей можно попытаться предста-вить одним отношением.
Отношение “ Преподаватели и курсы ”
Таб. № | ФИО | Курс | Колич. часов |
Иванов | Математика | ||
Сидоров | Физика | ||
Кузнецов | Философия | ||
Петров | Сопромат | ||
Информатика |
Очевидно, что такое отношение не удовлетворяет требованиям нормализации из- за наличия пустых ключевых полей для курса “Информатика”. Если рассматривать полученное отношение как универсальное и применить к нему процедуру нормализации, то, с учетом сделанных предположений о предметной области, получим следующую декомпозицию:
Отношение “ Преподаватели ” Отношение “ Курсы ”
Таб. № | ФИО | Курс | Курс | Колич. часов | |
Иванов | Математика | Математика | |||
Сидоров | Физика | Физика | |||
Кузнецов | Философия | Философия | |||
Петров | Сопромат | Сопромат | |||
Информатика |
Если предположить, что класс принадлежности сущности “ Преподаватель” является необязательным, а для сущности “ Курс” – обязательным, то структура отношений получится обратной, в том смысле, что будет необходимо ввести ключ “ Таб.№” в отношение “ Курс”.
Для подобного сочетания степени связи и класса принадлежности можно сформулировать следующее правило.
Если степень бинарной связи равна 1:1 и класс принадлежности одной сущности является обязательным, а другой – необязательным, то необходимо построение двух отношений. Для каждой сущности строится по одному отношению, первичным ключом является ключ отношения. Кроме того, ключ сущности, для которой класс принадлежности является необязательным добавляется как атрибут в отношение с обязательным классом принадлежности.
Рассмотрим ситуацию, когда класс принадлежности является необязательным ни для одной из сущностей. В нашем примере это соответствует предположению, что каждый преподаватель ведет не более одного предмета, и каждый предмет читается не более, чем одним преподавателем. Допускается наличие как преподавателей, не читающих курсы, так и курсов, не закрепленных ни за одним из преподавателей.
Таб. № | ФИО | Курс | Колич. часов | |||
101 | Иванов | Математика | ||||
120 | Петров | Физика | ||||
203 | Сидоров | Философия | ||||
Кузнецов | Сопромат | |||||
Информатика |
Рис. 22. Отношения, связанные степенью связи 1:1 с необязательным с двух сторон классом принадлежности.
Если пытаться представить эту диаграмму различными наборами отношений, то, как легко убедится, возможно либо одно отношение, либо два набора декомпозиций (см.рис. 23). Приэтом, свободным от “пустых” полей, а. следовательно, от аномалий является лишь вариант с.
Таб. № | ФИО | Курс | Колич. часов |
Иванов | Математика | ||
Сидоров | |||
Кузнецов | Философия | ||
Петров | Сопромат | ||
Информатика |
а) использование одного отношения.
Преподаватель Курс
Таб. № | ФИО | Курс | Курс | Колич. Часов | Таб. № | |
Иванов | Математика | Математика | ||||
Сидоров | Физика | |||||
Кузнецов | Философия | Философия | ||||
Петров | Сопромат | Сопромат | ||||
Информатика |
b) использование двух отношений.
Преподаватель Читает Курс
Таб. № | ФИО | Курс | Таб. № | Курс | Колич. часов | ||
Иванов | Математика | Математика | |||||
Сидоров | Философия | Физика | |||||
Кузнецов | Сопромат | Философия | |||||
Петров | Сопромат | ||||||
Информатика |
c) использование трех отношений.
Рис. 23 Возможные реляционные формы для случая бинарной связи степени 1:1 и необязательным классом принадлежности.
Если степень связи равна 1:1 и класс принадлежности не является обязательным ни для одной из сущностей, то необходимо использовать при отношения: по одному для каждой сущности, ключи которых служат в качестве первичных в соответствующих отношениях, и одного отношения – для связи. Первичным ключом отношения связи является комбинация ключей двух сущностей.
Первичный ключ отношения связи будет составным в силу того факта, что он является композицией ключей тех отношений, которые связываются между собой. Как на составные части этого ключа, так и на весь ключ должны быть наложены определенные ограничения. Подобные требования называются ограничениями целостности. [6]Сформулируем требования к ключевым полям отношения «Читает.»
· Сочетание значений атрибутов «Курс» и «Таб. №» должно быть уникальным для данного отношения. Это требование следует из того, что эти поля образуют первичный ключ отношения.
· Каждое значение поля «Курс» должно принадлежать домену атрибута «Курс» отношения «Курс». В противном случае это значение будет указывать на несуществующий курс, что недопустимо.
· Каждое значение поля «Курс» должно встречаться в этом отношении не более одного раза. Это требование отражает тот факт, что каждый преподаватель читает не более одного курса, другими словами – реализует степень связи.
· Каждое значение поля «Таб. №» должно принадлежать множеству значений атрибута «Таб. №» отношения «Преподаватель» из тех же соображений, по которым значение поля «Курс» должно принадлежать домену атрибута «Курс» отношения «Курс».
· Каждое значение поля «Таб. №» должно встречаться в этом отношении не более одного раза. Это требование также вытекает из степени связи.
Дата добавления: 2015-07-19; просмотров: 105 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Предварительные отношения для бинарных связей степени 1:1. | | | Предварительные отношения для степени связи 1:N и M:N. |