Лекция Концептуальное проектирование
Код роботи: 4875
Вид роботи: Лекція
Предмет: База данных (БД) (База даних (БД))
Тема: Концептуальное проектирование
Кількість сторінок: 17
Дата виконання: 2017
Мова написання: російська
Ціна: безкоштовно
Вступ
1. Ключи
2. Связи между объектами
3. Мощность связи
4. Показатель кардинальности
5. Степень участия
6. Рекурсивная связь
Вступ
Процесс включает в себя создание полной концептуальной модели данных. Концептуальная модель данных должна адекватно отображать ту предметную область, для которой она разработана. На этапе концептуального проектирования рассматриваются данные (сущности), их свойства и связи между ними.
Наиболее популярной семантической моделью разработки БД является модель «Сущность-связь» (ER - модель), предложенная Ченом в 1976 году.
Главные объекты семантической ER – модели:
Пример концептуальной модели отношения «Товар»:
«Индекс» – ключ.
Товар (Индекс, Наименование, Цена, Количество)
Атрибут может быть атомарным или составным, в зависимости от предназначения и назначения. Например, дата рождения:
Атомарный атрибут: «Дата рождения» = 1991.04.15.
Составной атрибут:
Ключи идентифицируют экземпляр объекта.
Из потенциальных ключей один может быть выбран в качестве первичного (чаще всего минимальный по объёму хранения данных), оставшиеся будут альтернативными.
Значение каждого атрибута выбираются из соответствующего множества значений, включающего все потенциальные значения, которые могут быть присвоены атрибуту. Это множество значений называется доменом. Так, например, допустим, что количество товара определяется в единицах и может варьироваться от нуля до 1 000 единиц. Следовательно, набор, допустимых значений для данного атрибута можно определить как набор целых чисел от 0 до 1 000.
Объект и экземпляр объекта могут быть определены следующим образом:
Объект: СТУДЕНТ (ФИО, Группа, Год_рождения)
Экземпляр объекта (Петров П.И., 93-ОА-22,1974)
Атрибуты делятся на простые и составные.
Простые атрибуты не могут быть разделены на более мелкие компоненты.
Например, атрибут Количество объекта ТОВАР является простым атрибутом.
Простой атрибут еще называют атомарным.
Если же атрибут можно разбить на более мелкие составляющие, то такой атрибут называется составным. Хорошим примером составного атрибута является Дата рождения (Год, Месяц, Число). Каждый из его компонентов можно использовать в отдельности. Но в тех, ситуациях, где не требуется по отдельности использовать составные части такого атрибута, его можно рассматривать как простой атрибут и определять, как строковый тип.
Рис. 1 - Диаграмма представления объектов ТОВАР с составными атрибутом Дата поступления
Значение атрибутов могут часто меняться, в то время как описываемый ими объект остается тем же самым. Так, у экземпляра объекта ТОВАР может измениться значение атрибута Количество, но сам объект останется тем же.
Если атрибут каждого отдельного экземпляра объекта может иметь только одно значение, то такой атрибут называется однозначным. Например, атрибуты Фамилия, Год рождения, Рост каждого экземпляра объекта СТУДЕНТ могут иметь только одно значение. Большинство атрибутов относятся именно к этой разновидности.
Некоторые атрибуты могут иметь несколько значений для каждого экземпляра объекта. Например, некоторая фигура может иметь несколько телефонных номеров или несколько равнозначных представителей. Такой атрибут является многозначным. Многозначный атрибут обводится двойным контуром.
Атрибут может быть базовым, а может быть производным. Производным считается такой атрибут, значение которого по значению другого атрибута или других атрибутов. Например, значение атрибута Возраст студента могут быть вычислены по значению атрибута Дата рождения объекта Студент. Для того чтобы задать атрибут, нужно дать ему имя, описать его и задать множество допустимых значений, т.е. специфицировать.
1. Ключи
Среди атрибутов особое положение занимают такие, с помощью которых можно идентифицировать экземпляр объекта. Такие атрибуты называются ключами. Атрибут или несколько атрибутов, значения которых уникальным образом идентифицируют каждый экземпляр объекта, являются потенциальным ключом данного объекта. Потенциальных ключей может быть несколько. Например, экземпляр объекта Факультет (Код_факультета, Название_факультета, ФИО_декана) может однозначно идентифицироваться любым из первых двух указанных атрибутов. Третий атрибут не рекомендуется использовать в качестве идентифицированного, поскольку нельзя гарантировать отсутствие полного совпадения значения атрибута ФИО_декана для нескольких экземпляров данного объекта.
Рассмотрим объект:
СТУДЕНТ (Номер_зачетной_книжки, ФИО_студента, Дата_рождения).
Из трех перечисленных атрибутов в приведенном примере только атрибут Номер_зачетной_книжки однозначно идентифицирует каждый экземпляр объекта СТУДЕНТ. Атрибут Дата_рождения, напротив, не может служить ключом, так как, любая данная дата может быть днем рождения нескольких разных людей.
Один из потенциальных ключей может быть выбран в качестве первичного ключа. Обычно в качестве первичного ключа выбирается тот, который имеет наименьшую длину. Остальные потенциальные ключи называются альтернативными. В рассмотренном выше примере атрибут Название_факультета, поэтому его следует выбрать в качестве первичного ключа. Тот факт, что атрибут служит первичным ключом, отмечается его подчеркиванием.
Идентификацию некоторых объектов иногда приходится осуществлять при помощи составных ключей, которые включают нескольких атрибутов.
Например, объект:
Лечение (ФИО_врача, ФИО_пациента, Дата_назначения, Лекарство)
Однозначно идентифицировать можно только составным ключом:
(ФИО_врача, ФИО_пациента, Дата_назначения).
С другой стороны, если нужно, всегда можно создать идентификационный номер однозначность которого будет заложена в системе. Во избежание излишней детализации на диаграммах часто атрибуты вовсе не изображают или изображают только первичные атрибуты, опуская остальные.
2. Связи между объектами
Два объекта могут быть связаны между собой. Подобная связь осуществляется через связь с экземплярами другого объекта, образуя набор экземпляров связи между двумя объектами, который называется типом связи.
Каждому типу связи присваивается имя, которое должно представлять его функцию. Рассмотрим объекты ПРЕПОДАВАТЕЛЬ и КУРС. Между этими объектами можно определить связь ЧИТАЕТ, сопоставив каждому преподавателю ту дисциплину, по которой он читает лекции, или, наоборот, каждый дисциплине – преподавателя. Связь ЧИТАЕТ составлена из множества пар, в каждой из которых преподаватель – из объекта ПРЕПОДАВАТЕЛЬ, а дисциплина – из объекта КУРС (рис. 1).
Экземпляры объекта Экземпляры типа связи Экземпляры объекта
Преподаватель читает курс
Полученная структура сама по себе является объектом, состоящим из пар экземпляров, взятых из двух объектов, связанных между собой. Объект ЧИТАЕТ, полученный путем связи между объектами ПРЕПОДАВАТЕЛЬ и КУРС, называется составным объектом.
Описанная ситуация на диаграммах имеет свое графическое изображение, где тип связи обозначается в виде ромбика с указанным на нем именем связи, который соединен линиями со связываемыми.
В связи могут участвовать не два, а большее количество объектов, которые в данном случае являются участниками этой связи. Количество участников некоторой связи называется степенью связи. До сих пор обсуждались связи между двумя объектами. Такие связи называются бинарными.
Помимо бинарных связей существует и другие типы связей:
- Тернарные – между тремя объектами;
- Кватернарные – между четырьмя объектами;
- N – арные – между N объектами.
В подавляющем числе случаев проектирования БД можно ограничиться рассмотрением бинарных связей.
Для характеристики свойств связи, также как и для объектов, можно использовать атрибуты.
3. Мощность связи
Важной характеристикой связи является ее мощность, которая обозначает максимальное количество экземпляров одного объекта, связанных с одним экземпляром другого объекта. Например, если допустить, что у человека может быть только один супруг, то мощность связи ЖЕНАТЫ будет равна одному в каждом направлении (рис. 2).
Иногда помимо максимальной мощности полезно определять и минимальную мощность. В рассматриваемом примере не исключаются одинокие мужчины и женщины, поэтому минимальная мощность равна нулю в каждом направлении. Такая ситуация может быть обозначена следующим образом:
Рис. 2 - Диаграмма связи ЖЕНАТЫ с указанием минимальной и максимальной мощности
Некоторые связи не имеют конкретного значения максимальной мощности. Например, преподаватель может читать не один курс, а, возможно, больше. Такую мощность обозначают: 1, *, где 1 обозначает минимальную мощность, а * обозначает «много» (существует и другой способ обозначения «много» - вместо * ставится N). С другой стороны, если допустить, что каждый данный курс читается одним и только одним преподавателем, то мощность в обратном направлении будет 1,1.
Максимальная мощность является значительно более важным понятием, чем минимальная. Поэтому для упрощения диаграмм минимальная мощность указывается только тогда, когда это необходимо.
4. Показатель кардинальности
Связь, имеющая максимальную мощность в одном из направлений, равную одному, называется функциональной в этом направлении. В последней рассмотренной ситуации связь между преподавателем и курсом является функциональной в направлении от курса к преподавателю. Это означает, что, зная курс, можно однозначно определить преподавателя, читающего его. Это отношение не является функциональным в обратном направлении, поскольку преподаватель, как было оговорено ранее, может читать несколько курсов.
Для того чтобы указать количество возможных связей для каждого экземпляра участвующего в связи объекта, используют показатель кардинальности. Показатели кардинальности связей между объектами определяются, прежде всего, установленными на производстве правилами и относятся к бизнес-правилам.
Для бинарных связей показатель кардинальности может иметь следующие значения:
«один к одному» (1:1), «один ко многим» (1:N), «много ко многим» (M:N).
Если максимальная мощность связи в обоих направлениях равна одному, мы называем её связью «один к одному» (1:1).
Например, на факультете может быть один декан, и обратно, один и тот же декан может руководить только одним факультетом, что может быть обозначено следующим образом:
ФАКУЛЬТЕТ <_ _ _> ДЕКАН.
Если максимальная мощность в одном направлении равна одному, а в другом – многим, то связь называется «один ко многим» (1:N).
Например, в группе учится много студентов, но каждый студент учится только в одной группе:
ГРУППА <_ _ _>> СТУДЕНТ.
Концептуальная модель подобной связи приведена на рис. 3. На диаграмме использовано два способа обозначения вида бинарной связи: символическая (со стороны объекта ГРУППА выход связи помечен символом 1, а со стороны объекта СТУДЕНТ – символом N) и стрелками (в направлении, где максимальная мощность равна многим, проставлена двойная стрелка, а со стороны, где она равна единице – одинарная). Реально при построении диаграмм выбирают один из них.
Рис. 3 - Диаграмма типа связи УЧИТСЯ с указанием показателя кардинальности
И наконец, если максимальная мощность в обоих направлениях равна многим, то такая связь относится к типу «много ко многим» (M:N). Например, преподаватель работает в разных группах, и в одной и той же группе работают различные преподаватели:
ПРЕПОДАВАТЕЛЬ<<_ _>> ГРУППА.
Связь между объектами осуществляется посредством атрибутов.
Например, рассмотрим два объекта:
Объект: |
СТУДЕНТ |
Атрибуты: |
Номер зачетной книжки ФИО студента
|
Объект: |
ГРУППА |
Атрибуты: |
Код группы Количество студентов ФИО старосты
|
Сейчас эти два объекта не связаны между собой. Для их связи в число атрибутов объекта СТУДЕНТ необходимо добавить код группы, в которой он учится, и значение которого будет использовано для связи экземпляра одного объекта с экземпляром другого объекта.
Следует отметить, что атрибут объекта – частный случай связи одного объекта с другим объектом. При нормальном использовании атрибуты имеют функциональные связи в направлении от объекта к атрибуту. Это означает, что значение атрибута однозначно определено для каждого экземпляра объекта. Например, у каждого человека есть ровно одна дата рождения и одна мать. Максимальная мощность связи со стороны атрибута в такой ситуации всегда равна одному, поэтому в диаграммах ее можно опустить. Если нет необходимости использовать атрибут как объект, участвующий в других связях, то для его изображения на диаграммах применяют уже рассмотренную краткую запись.
5. Степень участия
В методологии проектирования баз данных весьма важной характеристикой типов связей между объектами является степень участия объекта в связи. Если каждый экземпляр некоторого объекта обязательно должен участвовать в связи, то степень участия этого объекта в данной связи является полной. О таком объекте еще говорят, что его класс принадлежности обязательный.
Если же для объекта допустимо неучастие его некоторых экземпляров в связи, то степень участия данного объекта в этой связи является частичной, а его класс принадлежности – необязательный.
Рассмотрим еще раз связь, изображенную на рис. 3.7, между объектами ПРЕПОДАВАТЕЛЬ и КУРС. Известно, что в состав преподавателей кафедры входят специалисты разных категорий: ассистенты, старшие преподаватели, доценты, профессора. Ассистентам, как правило, не поручается чтение лекций, поэтому степень участия объекта ПРЕПОДАВАТЕЛЬ в связи ЧИТАЕТ является частичной.
В то же время для качественной подготовки специалистов необходимо, чтобы все дисциплины, предусмотренные учебным планом, были изучены. Предположим, что для всех дисциплин запланировано чтение лекций. Если это так, то степень участия объекта КУРС в связи ЧИТАЕТ является полной (рис. 4). Однако если учебный план содержит изучение дисциплин, по которым чтение лекций не предусмотрено, то в этой ситуации степень участия объекта КУРС и в связи ЧИТАЕТ будет также частичной.
Рис. 4 - Диаграмма связи с полным и частичным участием объектов
На диаграммах участники связи с полным участием соединяются со знаком связи двойной линией, а участники связи с частичным участием – одинарной линией.
6. Рекурсивная связь
Рекурсивная связь – это особый вид связи, в которой одни и те же экземпляры объекта участвуют несколько раз и в разных ролях. Например, один из сотрудников кафедры является ее заведующим. Различным ролям в этом случае присваивают различные имена (рис. 5).
Рис. 5 - Диаграмма рекурсивной связи