Лекция "Основные понятия метода проектирования БД сущность – связь. Примеры."

  • Лекции
  • docx
  • 14.03.2017
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Метод сущность-связь называют также методом «ER-диаграмм»: во-первых, ER - аббревиатура от слов ^ Essence (сущность) и Relation (связь), во-вторых, метод основан на использовании диаграмм, называемых соответственно диаграммами ER-экземпляров и диаграммами ER-типа. Основными понятиями метода сущность-связь являются следующие: сущность, атрибут сущности, ключ сущности, связь между сущностями, степень связи, класс принадлежности экземпляров сущности, диаграммы ER-экземпляров, диаграммы ER-типа.
Иконка файла материала билет 31 тема 3.docx
билет 31 тема 3 Основные понятия метода проектирования БД сущность – связь. Примеры. Метод сущность­связь называют также методом «ER­диаграмм»: во­первых, ER ­ аббревиатура от слов ^  Essence (сущность) и Relation (связь), во­вторых, метод основан на использовании диаграмм, называемых соответственно диаграммами ER­экземпляров и диаграммами ER­типа. Основными понятиями метода сущность­связь являются следующие: сущность, атрибут сущности, ключ  сущности, связь между сущностями, степень связи, класс принадлежности экземпляров сущности,  диаграммы ER­экземпляров, диаграммы ER­типа. Сущность представляет собой объект, информация о котором хранится в БД. Экземпляры сущности  отличаются друг от друга и однозначно идентифицируются. Названиями сущностей являются, как  правило, существительные, например: ПРЕПОДАВАТЕЛЬ, ДИСЦИПЛИНА, КАФЕДРА, ГРУПП А. Атрибут представляет собой свойство сущности. Это понятие аналогично понятию атрибута в  отношении. Так, атрибутами сущности ПРЕПОДАВАТЕЛЬ может быть его Фамилия, Должность, Стаж. Ключ сущности — атрибут или набор атрибутов, используемый для идентификации экземпляра  сущности. Понятие ключа сущности аналогично понятию ключа отношения.  Связь двух или более сущностей – предполагает зависимость между атрибутами этих сущностей.  Название связи обычно представляется глаголом. Примерами связей между сущностями являются  следующие: ПРЕПОДАВАТЕЛЬ ВЕДЕТ ДИСЦИПЛИНУ (Иванов ВЕДЕТ «Базы данных»),  ПРЕПОДАВАТЕЛЬ ПРЕПОДАЕТ­В ГРУППЕ (Иванов ПРЕПОДАЕТ­В 256 группе),  ПРЕПОДАВАТЕЛЬ РАБОТАЕТ­НА КАФЕДРЕ (Иванов РАБОТАЕТ­НА 25 кафедре). С целью повышения наглядности и удобства проектирования для представления сущностей, экземпляров сущностей и связей между ними используются следующие графические средства: диаграммы ER­ экземпляров, диаграммы ER­muna, или ER­диаграммы. На рис. 6.1 приведена диаграмма ER­экземпляров для сущностей ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА  со связью ВЕДЕТ. Диаграмма ЕR­экземпляров показывает, какую конкретно дисциплину (СУБД, ПЛ/1 и т.д.) ведет каждый из преподавателей. На рис. 6.2 представлена диаграмма ER­типа, соответствующая рассмотренной  диаграмме ER­экземпляров. На начальном этапе проектирования БД выделяются атрибуты, составляющие ключи сущностей. На основе анализа диаграмм ER­типa формируются отношения проектируемой БД. При этом  учитывается степень связи сущностей и класс их принадлежности. Степень связи является  характеристикой связи между сущностями, которая может быть типа: 1:1,1:М, М:1, М:М. Класс принадлежности(КП) сущности может быть: обязательным и необязательным. Класс принадлежности сущности является обязательным, если все экземпляры этой сущности  обязательно участвуют в рассматриваемой связи, в противном случае ­ необязательным. Варьируя классом принадлежности сущностей для каждого из названных типов связи, можно получить  несколько вариантов диаграмм ER­типа. Рассмотрим примеры некоторых из них. В приведенной на рис. 6.1 диаграмме степень связи между сущностями 1:1, а класс принадлежности  обеих сущностей необязательный. Действительно, из рисунка видно следующее: каждый преподаватель ведет не более одной дисциплины, а каждая дисциплина ведется не более чем  одним преподавателем (степень связи 1:1); некоторые преподаватели не ведут ни одной дисциплины и имеются дисциплины, которые не ведет ни  один из преподавателей (класс принадлежности обеих сущностей необязательный). Пример 2. Связи типа 1:1 и обязательный класс принадлежности. На рис. 6.3 приведены диаграммы, у  которых степень связи между сущностями 1:1, а класс принадлежности обеих сущностей обязательный. В этом случае каждый преподаватель ведет одну дисциплину и каждая дисциплина ведется однимпреподавателем. На диаграммах ER­типа обязательное участие в связи экземпляров сущности отмечается блоком с  точкой внутри, смежным с блоком этой сущности (рис. 6.3б). При необязательном участии экземпляров сущности в связи дополнительный блок к блоку сущности не  пристраивается, а точка размещается на линии связи (рис. 6.2). Символы на линии связи указывают на степень связи. Пример 3. Связи типа 1:М. Каждый преподаватель может вести несколько дисциплин, но каждая  дисциплина ведется одним преподавателем. Пример 4. Связи типа М:1. Каждый преподаватель может вести одну дисциплину, но каждую  дисциплину могут вести несколько преподавателей. Примеры с типом связи 1:М или М:1 могут иметь ряд вариантов, отличающихся классом  принадлежности одной или обеих сущностей. Обозначим обязательный класс принадлежности символом  «О», а необязательный ­ символом «Н», тогда варианты для связи типа 1:М условно можно представить  как: О­О, O­Н, Н­О, H­Н. Для связи типа М:1 также имеются 4 аналогичных варианта. Пример 5. Связи типа 1:М вариант Н­О. Каждый преподаватель может вести несколько дисциплин или  ни одной, но каждая дисциплина ведется одним преподавателем (рис. 6.4). Пример 6. Связи типа М:М. Каждый преподаватель может вести несколько дисциплин, а каждая  дисциплина может вестись несколькими преподавателями. Как и в случае других типов связей, для связи типа М:М возможны 4 варианта, отличающиеся классом принадлежности сущностей. Пример 7. Связи типа М:М и вариант класса принадлежности О­Н. Допустим, что каждый  преподаватель ведет не менее одной дисциплины, а дисциплина может вестись более чем одним  преподавателем, есть и такие дисциплины, которые никто не ведет (рис. 6.5). Выявление сущностей и связей между ними, а также формирование на их основе диаграмм ER­типа  выполняется на начальных этапах метода сущность­связь. Рассмотрим этапы реализации метода. ^ Этапы проектирования. Процесс проектирования базы данных является итерационным допускающим возврат к предыдущим этапам для пересмотра ранее принятых решении и включает следующие этапы: 1. Выделение сущностей и связей между ними. 2. Построение диаграмм ER­типа с учетом всех сущностей и их связей. 3. Формирование набора предварительных отношений с указанием предполагаемого первичного ключа  для каждого отношения и использованием диаграмм ER­типа.4. Добавление неключевых атрибутов в отношения. 5. Приведение предварительных отношений к нормальной форме Бойса ­Кодда, например, с помощью  метода нормальных форм. 6. Пересмотр ER­диаграмм в следующих случаях: некоторые отношения не приводятся к нормальной форме Бойса ­ Кодда; некоторым атрибутам не находится логически обоснованных мест в предварительных отношениях. После преобразования ER­диаграмм осуществляется повторное выполнение предыдущих этапов  проектирования (возврат к этапу 1). Одним из узловых этапов проектирования является этап формирования отношений. Рассмотрим процесс  формирования предварительных отношений, составляющих первичный вариант схемы БД. В рассмотренных выше примерах связь ВЕДЕТ всегда соединяет две сущности и поэтому является  бинарной. Сформулированные ниже правила формирования отношений из диаграмм ER­типа  распространяются именно на бинарные связи. Поэтому, когда речь идет о связях, слово «бинарные»  далее опускается. Правила формирования отношенийосновываются на учете следующего: степени связи между сущностями (1:1,1:М, М;1, М:М); класса принадлежности экземпляре сущностей (обязательный и необязательный). Рассмотрим формулировки шести правил формирования отношений на основе диаграмм ER­типа. Формирование отношений для связи 1:1. Правило 1. Если степень бинарной связи 1:1 и класс принадлежности обеих сущностей обязательный, то  формируется одно отношение. Первичным ключом этого отношения может быть ключ любой из двух  сущностей. На рис. 6.6 приведены диаграмма ER­типа и отношение, сформированное по правилу 1 на ее  основе. Рис. 6.6. Диаграмма и отношения для правила 1. Рис. 6.7. Полученные по правилу 1 схема и отношение.На рисунке используются следующие обозначения: C1, C2 ­ сущности 1 и 2; K1, K2­ ключи первой и второй сущности соответственно; R1 ­ отношение 1, сформированное на основе первой и второй сущностей; K1vK2,... означает, что ключом сформированного отношения может быть либо К1, либо К2. Это и другие правила будем проверять, рассматривая различные варианты связи ПРЕПОДАВАТЕЛЬ  ВЕДЕТ ДИСЦИПЛИНУ. Пусть сущность ПРЕПОДАВАТЕЛЬ характеризуется атрибутами НП  (идентификационный номер преподавателя), ФИО (фамилия, имя и отчество), Стаж (стаж  преподавателя). Сущность ДИСЦИПЛИНА характеризуется соответственно атрибутами КД (код  дисциплины), Часы (часы, отводимые на дисциплину). Тогда схема отношения, содержащего  информацию об обеих сущностях, и само отношение для случая, когда степень связи равна 1:1, а КП  обязательный для всех сущностей, могут иметь вид, показанный на рис. 6.7. Правило 2. Если степень связи 1:1 и класс принадлежности одной сущности обязательный, а второй –  необязательный, то под каждую из сущностей формируется по отношению с первичными ключами,  являющимися ключами соответствующих сущностей. Далее к отношению, сущность которого имеет  обязательный КП, добавляется в качестве атрибута ключ сущности с необязательным КП. На рис. 6.8 приведены диаграмма ER­типа и отношения, сформированные но правилу 2 на ее основе. Рис. 6.8. Диаграмма и отношения для правила 2. Рис. 6.9. Исходное отношение.На рис. 6.9 приведено исходное отношение, содержащее информацию о преподавателях и дисциплинах  (ПРЕПОДАВАТЕЛЬ ­ обязательный, ДИСЦИПЛИНА – необязательный). Пробелы «—» (пустые поля)  присутствуют во всех кортежах с информацией о дисциплинах (не ведутся ни одним из преподавателей). Избежать этой ситуации можно, применив правило 2, в соответствии с которым, выделяются два  отношения, приведенные на рис. 6.10. Рис.6.10. Отношения, полученные по правилу 2. Рис. 6.11. Связь отношений по внешнему ключу. В результате мы избежали пустых полей в отношениях, не потеряв данных. Добавив атрибут КД ­ ключ  сущности ДИСЦИПЛИНА (с необязательным КП) в качестве внешнего ключа в отношение,  соответствующее сущности ПРЕПОДАВАТЕЛЬ (с обязательным КП), мы связали отношения (рис. 6.11). Правило 3. Если степень связи 1:1 и класс принадлежности обеих сущностей является необязательным,  то необходимо использовать три отношения. Два отношения соответствуют связываемым сущностям,  ключи которых являются первичными в этих отношениях. Третье отношение является связным между  первыми двумя, поэтому его ключ объединяет ключевые атрибуты связываемых отношений. Рис. 6.12. Диаграмма и отношения для правила 3. Рис. 6.13. Варианты отношений для правила 3. Ни рис. 6.12 приведены диаграмма ER­типа и отношения, сформированные но правилу 3 на ее основе.На рис. 6.13 приведены примеры отношений, подтверждающие необходимость использования трех  отношений при наличии необязательного КП для обеих связываемых сущностей. Формирование отношений для связи 1:М. Если две сущности С1 И С2 связаны как 1:М, сущность С1 будем называть односвязной (1­связной), а  сущность С2 многосвязной (М­связной). Определяющим фактором при формировании отношений,  связанных этим видом связи, является класс принадлежности М­связной сущности. Так, если класс  принадлежности М­связной сущности обязательный, то в результате применения правила получим два  отношения, если необязательный три отношения. Класс принадлежности односвязной сущности не  влияет на результат. Чтобы убедиться в этом, рассмотрим отношение ПРЕПОДАВАТЕЛЬ­ДИСЦИПЛИНА (рис. 6.14),  соответствующее диаграммам, приведенным на рис. 6.4, т. е. случаю, когда: связь типа 1:М, класс  принадлежности М­связной сущности обязательный, 1­связной – необязательный. Рис. 6.14. Исходное отношение. С отношением ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНА (рис. 6.14) связаны следующие проблемы:имеются кортежи с пустыми полями (преподаватель не ведет дисциплины), избыточное дублирование данных (повторяется стаж преподавателя) в кортежах со сведениями о  преподавателях, ведущих несколько дисциплин. Если бы класс принадлежности 1­связной сущности был обязательным (нет преподавателя без  дисциплины), то исчезли бы пустые поля, но повторяющиеся данные в атрибутах преподавателя  сохранились бы. Для устранения названных проблем отношения могут быть сформированы по  следующему правилу. Правило 4. Если степень связи между сущностями 1:М (или М:1)и класс принадлежности М­связной  сущности обязательный, то достаточно формирование двух отношений (по одному на каждую из  сущностей). При этом первичными ключами этих отношений являются ключи их сущностей. Кроме того,  ключ 1­связной сущности добавляется как атрибут (внешний ключ) в отношение, соответствующее М­ связной сущности.  На рис. 6.15 приведены диаграмма ER­типа и отношения, сформированные но правилу 4. Рис. 6.15. Диаграмма и отношения для правила 4. Варианты отношений для правила 3. Рис. 6.13.  В соответствии с правилом 4 преобразуем отношение на рис. 6.14 в два отношения (рис. 6.16). Рис. 6.16. Отношения, полученные по правилу 4. Пример. Связь между сущностями 1:М, а класс принадлежности М­связной сущности необязательный. Пусть класс принадлежности 1­связной сущности также необязательный, хотя это и не принципиально,  так как определяющим является класс принадлежности М­связной сущности. Посмотрим, к чему может  привести использование одного отношения в этом случае (рис. 6.17). Рис. 6.17. Исходное отношение.С приведенным отношением связаны следующие проблемы: 1. Имеются пустые поля в кортежах, которые содержат следующее: а) данные о преподавателях, не ведущих дисциплин; б) данные о дисциплинах, которые не ведутся преподавателями. 2. Избыточное дублирование данных о преподавателях, ведущих более одной дисциплины. В случае обязательного класса принадлежности 1 ­связной сущности исчезают проблемы 1 а). Для  устранения всех проблем нужно перейти к трем отношениям в соответствии со следующим правилом. Правило 5. Если степень связи 1 :М (М: 1) и класс принадлежности М­связной сущности является  необязательным, то необходимо формирование трех отношений (рис. 6.18). Два отношения  соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях.  Третье отношение является связным между первыми двумя (его ключ объединяет ключевые атрибуты  связываемых отношений). Рис. 6.18. Диаграмма и отношение для правила 5. Рис. 6.19. Отношения, полученные по правилу 5.В результате применения правила 5 к рассматриваемому отношению содержащиеся в нем данные (рис.  6.17) распределяются по трем отношениям (рис. 6.19). Формирование отношений для связи М:М. При наличии связи М:М между двумя сущностями необходимо три отношения независимо от класса  принадлежности любой из сущностей. Использование одного или двух отношений в этом случае не  избавляет от пустых полей или избыточно дублируемых данных. Правило 6. Если степень связи М:М, то независимо от класса принадлежности сущностей формируются  три отношения. Два отношения соответствуют связываемым сущностям и их ключи являются  первичными ключами этих отношений. Третье отношение является связным между первыми двумя, а его  ключ объединяет ключевые атрибуты связываемых отношений. На рис. 6.20 приведены диаграмма ER­ типа и отношения, сформированные но правилу 6. Нами показан вариант с классом принадлежности  сущностей Н­Н, хотя, согласно правилу 6, он может быть произвольным. Рис. 6.20. Диаграмма и отношения для правила 6. Применим правило 6 к примеру, приведенному на рис. 6.5. В нем степень связи равна М:М, класс  принадлежности для сущности ПРЕПОДАВАТЕЛЬ обязательный, а для сущности ДИСЦИПЛИНА  необязательный. Соответствующее этому примеру исходное отношение показано на рис. 6.21. Рис. 6.21. Исходное отношение. Рис. 6.22. Отношения, полученные по правилу 6.130