СУБД MS Access 2003 (960526), страница 5
Текст из файла (страница 5)
Другими словами, в БД хранится информация обо всех экземплярах сущностей,но только некоторые из них связаны с экземплярами другой сущности.Для отображения характеристик связи на диаграмме может использоваться, например, символ «точка». Если точка внутри прямоугольника, то соответствующая прямоугольнику сущность имеет обязательный класс принадлежности.
Если вне прямоугольника, то необязательный класс принадлежности. Цифры или буквырядом с точками указывают на степень связи. Сочетание трех типов связей с двумя классами принадлежности дают возможностьописания множества различных вариантов связей в предметнойобласти. Чтобы лучше усвоить введенные понятия, рассмотрим напримерах некоторые случаи и для них построим ЕД-диаграммы.Существуют различные правила взаимоотношений междусущностями Преподаватель и Дисциплина, принятые в различныхучебных заведениях.:•Проектирование баз данных. СУБД MS AccessСлучай I.
Каждый преподаватель может читать только однуДисциплину, каждая Дисциплина читается не более чем однимПреподавателем. Степень связи /:/, класс принадлежности обеихсущностей обязательный (рис. 6).Степень связиравна 1 : 1 , и класспринадлежностисущностейПреподавательи Дисциплинаявляется обязательнымДисциплина<КП, КД>Рис. 6. Отношение сущностей и £7?-диаграммы для случая IЗдесь Д1, Д2, ДЗ, Д4 - названия дисциплин.
КП, КД - ключисущностей соответственно Преподаватель и Дисциплина.Случай 2. Преподаватель может читать только одну Дисциплину, каждая Дисциплина читается не более чем одним Преподавателем. Есть преподаватели, которые в настоящий момент не занятыв учебном процессе (находятся на повышении квалификации, занимаются административной работой и т.п.). Степень связи 1:1,класс принадлежности сущности Дисциплина обязательный, сущности Преподаватель - необязательный (рис. 7).Степень связиравна 1:1, и классД2 принадлежностисущностиДисциплинаявляется обязательнымПреподавательДисциплинаКПРис. 7.
Отношение сущностей и ЕЯ-диаграммы для случая 2Случай 3. Преподаватель может читать только охну Дисциплину, Дисциплина читается не более чем одним Преподавателем,Есть преподаватели, которые в настоящий момент не занятыТема 1. Проектирование реляционных баз данных25в учебном процессе, и есть дисциплины в учебном плане, которыеникем не читаются.
Степень связи /:/, класс принадлежности обеих сущностей необязательный (рис. 8).Д] Степень связиравна 1;1,и классI—IJ Д2 принадлежностик связи ни однойиз сущностей неявляется обязательнымДисциплинакп\SкдРис. 8. Отношение сущностей и ЕЯ-диаграммы для случая 3Случай 4. Каждый Преподаватель может читать одновременнонесколько Дисциплин, но каждая Дисциплина читается не более чемодним Преподавателем.Есть преподаватели, которые в настоящий момент не занятыв учебном процессе, и есть дисциплины в учебном плане, которыеникем не читаются.
Степень связи 1:М, класс принадлежностиобеих сущностей необязательный (рис. 9).Степень связиравна 1 :N, и класспринадлежностини одной из сущностейне являетсяД5 обязательнымДисциплинакпN/кдРис. 9. Отношение сущностей и ЕЯ-диаграммы для случая 4Случай 5.
Каждый Преподаватель читает не более одной Дисциплины, но каждая Дисциплина может читаться несколькими Преподавателями (рис. 10).Проектирование баз данных. СУБД MS Accessf~*\ д3^^Степень связиравна N:l, и класспринадлежностиобеих сущностейявляетсяД4 обязательнымкп\/кдРис. 10. Отношение сущностей и ЕЯ-диаграммы для случая 5Случай 6.
Преподаватель может читать несколько Дисциплин,к Дисциплина может читаться несколькими Преподавателями.Есть преподаватели, которые в настоящий момент не занятыв учебном процессе, и есть дисциплины в учебном плане, которыеникем не читаются. Степень связи «многие ко многим», класспринадлежности обеих сущностей необязательный (рис.
11).Ц1Д2 Степень связиравна M:N, и класспринадлежностид4 ни одной из сущностейне являетсяД5 обязательнымДб•Г-Дисциплинакп\/кдРис. 11. Отношение сущностей и ER-диаграммы для случая 6Контрольные вопросы1. Что такое сущность? Что такое экземпляр сущности? Приведите пример.2. Что такое атрибут сущности? Приведите пример.Тема 1. Проектирование реляционных баз данных273.4.5.6.Что называется связью?Как изображаются сущности и связи на диаграмме?По каким правилам строится £7?-диаграмма предметной области?Что такое степень связи? Какие типы связей между сущностями могут быть?7.
Как определить степень связи?8. Что такое бинарная связь и связь более высокого порядка?Приведите примеры.9. Что характеризует класс принадлежности сущности связи? Какие классы принадлежности могут быть?10. Как определить класс принадлежности?11.
Что такое ключевой атрибут сущности, связи, отношения?Задание 1Постройте ЕЯ-диаграмму и определите характеристики связейдля следующих случаев из предметной области:1. Личность имеет адрес прописки и может иметь адрес местожительства.2. Изделие выпускается фирмой-изготовителем. Каждый вид изделия выпускается только одной фирмой, каждая фирма выпускает только один вид изделия.
В базе должна храниться информация о всех фирмах города, среди них не только фирмыизготовители.3. Врач принимает пациента поликлиники.4. Троллейбус обслуживает маршрут.5. Маршрут состоит из остановок.6. Клиент делает заказ на ремонт оборудования.7. Заказы на ремонт оборудования выполняют сотрудники мастерской.8.
Мастер руководит сборщиком в мастерской.9. Для выполнения заказа необходимы трудовые ресурсы, материалы, оборудование.10. Изделие имеет тип и характеристики.11. Пациент поставлен на учет в соответствии с диагнозом.12. В аптеке имеется лекарство.Тема 2ПОЛУЧЕНИЕ ОТНОШЕНИИИЗ ДИАГРАММЫ ЯД-ТИПАОбщий подход к построению БД с использованием ЕЯ-методасостоит в выполнении следующих шагов:1. Построения диаграммы ЕЯ-типа, включающей в себя все сущности и связи, важные с точки зрения интересов организации.2.
Анализа связей и определения их характеристик: степени связии класса принадлежности.3. Построения набора предварительных отношений с указаниемпредполагаемого первичного ключа для каждого отношения.4. Подготовки списка всех представляющих интерес атрибутов(тех из них, которые не были уже перечислены в диаграммеЕЯ-типа в качестве ключей сущности) и назначения каждогоиз этих атрибутов одному из предварительных отношенийс тем условием, чтобы эти отношения находились в НФБК.5.
Проверки, все ли полученные отношения находятся в НФБК.6. Построения схемы данных.7. Если полученные в итоге отношения не находятся в НФБК илиесли некоторым атрибутам не находится логически обоснованных мест в предварительных отношениях, то в этих случаяхнеобходимо пересмотреть ЕЯ-диаграммы на предмет устранения возможных затруднений.Ранее были рассмотрены первые два шага процесса проектирования, третий шаг - построение предварительных отношений выполняется по определенным правилам, рассмотрению которыхпосвящены следующие разделы.Тема 2. Получение отношений из диаграммы £У?-типа291. Предварительные отношения для бинарныхсвязей 1:1Перечень общих правил генерации отношений из диаграммЕЯ-типа можно получить, опираясь на класс принадлежностии степень связи как на определяющие факторы. Ниже приводятсяэти правила, во всех таблицах и рисунках ключевые атрибуты выделены подчеркиванием.Правило 1.
Если степень бинарной связи /:/ и класс принадлежности обеих сущностей является обязательным, то требуетсятолько одно отношение. Первичным ключом этого отношения может быть ключ любой из двух сущностей.Пример 8. Преподаватель читает Дисциплину (рис. 12).ДисциплинаПреподавателькпкдРис. 12. £Я-диаграмма для примера 8Получаем отношение Преподаватель (КП, Фамилия, Телефон,КД, Дисциплина, число часов) (табл. 15), степень связи 1:1, класспринадлежности обязательный.Таблица 15. ПреподавательКПшП2ПЗП4ФамилияИвановАндреевСусловРепинТелефон234566233367226785274564КДД1Д2дзД4ДисциплинаПОИСМатематикаФизикаИнформатикаЧисло часов48563468Гарантируется однократное появление каждого значения КПи КД.
Отношение никогда не будет содержать ни пустых данных,ни повторяющихся групп избыточных данных.Проектирование баз данных. СУБД MS AccessПравило 2. Если степень бинарной связи 1:1 и класс принадлежности одной сущности является обязательным, а другой - необязательным, то необходимо построение двух отношений. Подкаждую сущность выделяется одно отношение, при этом ключсущности должен служить первичным ключом для соответствующего отношения. Кроме того, ключ сущности, для которого класспринадлежности является необязательным, добавляется в качествеатрибута в отношение, выделенное для сущности с обязательнымклассом принадлежности.Пример 9. Класс принадлежности сущности Преподавательобязательный, а сущности Дисциплина ~ необязательный (рис. 13).ДисциплинаПреподавателькпкдРис.
13. ЕЯ-диаграмма для примера 9Получаем отношения: Преподаватель (КП, Фамилия, Телефон,КД) (табл. 16), Дисциплина (КД. наименование, число часов)(табл. 17).Таблица 16. ПреподавателькпП1П2ПЗТелефонФамилияИвановАндреевСуслов234566233367226785КДД1Д2ДЗТаблица 17. ДисциплинаДисциплинаКДД1поисД2ДЗД4МатематикаФизикаИнформатикаЧисло часов48563468Пример 10. Класс принадлежности сущности Преподавательнеобязательный, а сущности Дисциплина - обязательный (рис. 14),Тема 2. Получение отношений из диаграммы ER-тишПреподавательДисциплинаЕО1кЛРис. 14.
ЕЯ-диаграмма для примера 10Получаем отношения: Преподаватель (КП, Фамилия, Телефон)(табл. 18), Дисциплина (КД. наименование, число часов, КП)(табл. 19).Таблица 18. ПреподавательКПФамилияТелефонП1Иванов234566П2Андреевпз233367Суслов226785П4Репин274564Таблица 19. ДисциплинащКДДисциплинаКПЧисло часовпоис48Д2МатематикаДЗФизика5634ШП2ПЗПравило 3. Если степень бинарной связи равна /:/ и класспринадлежности ни одной из сущностей не является обязательным, то необходимо использовать три отношения: по одному длякаждой сущности и одно отношение для связи.
Причем ключ каждой сущности используется в качестве первичного ключа соответствующего отношения. Отношение связи должно иметь в числесвоих атрибутов ключи каждой сущности.Пример 11. Класс принадлежности обеих сущностей - Преподаватель и Дисциплина ~ необязательный (рис. 15).ДисциплинаПреподавательРис. 15. Ей-диаграмма для примера 11Проектирование баз данных. СУБД MS AccessПолучаем отношения: Преподаватель (КП, Фамилия, Телефон)(табл. 20), Дисциплина (КД, наименование, число часов) (табл. 21),читает (КП, КД) (табл.