Главная » Просмотр файлов » С.Д. Кузнецов - Основы баз данных

С.Д. Кузнецов - Основы баз данных (1121716), страница 39

Файл №1121716 С.Д. Кузнецов - Основы баз данных (С.Д. Кузнецов - Основы баз данных) 39 страницаС.Д. Кузнецов - Основы баз данных (1121716) страница 392019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 39)

Простой пример диаграммы классов со связью-зависимостью показан на рис. 10.4, Зависимость показывается прерывистой линией со стрелкой, направленной к классу, от которого имеется зависимость. Очевидно, что связи-зависимости существенны для объектно-ориентированных систем (в том числе и для ООБД). При проектировании реляционных БД непо- 185 Основы баз данных Курс Рис. 10.4. Диаграмма классов со связью-зависимостью нятно, что делать с зависимостями (как воспользоваться этой информацией в реляционной БД?). Связи-обобщения и механизм наследования классов в 0М1.

Связью-обобщением называется связь между обшей сущностью, называемой суперклассом, или родиглелем, и более специапизированной разновидностью этой сущности, называемой подклассом, или лотомком. Обобшения иногда называют связями чз агь имея в виду, что класс-потомок является частным случаем класса-предка. Класс-потомок наследует все атрибуты и операции класса-предка, но в нем могут быть определены лополнительные атрибуты и операции. Объекты класса-потомка могут использоваться везде, где могут использоваться объекты класса-предка.

Это свойство называют полиморфизмом по включению, имея в виду, что объекты потомка можно считать включаемыми во множество объектов класса-предка. Графически обобщения изображаются в виде сплошной линии с большой незакрашенной стрелкой, направленной к суперклассу. В качестве первой иллюстрации, приведенной на рис. 10.5, воспользуемся классификацией летательных аппаратов с рис. 9.12 из предыдущей лекции. На рис.

!0.5 показан пример иерархии одиночного наследования: у каждого подкласса имеется только один суперкласс. Одиночное наследование является достаточным в большинстве случаев применения связи-обобшения. Однако в 13М(. допускается и множественное наследование, когда один подкласс определяется на основе нескольких суперклассов.

В качестве одного из разумных (не слишком распространенных) примеров рассмотрим диаграмму классов на рис. 10.6 (для упрошения диаграммы имена атрибутов и операций указывать не будем). На этой диаграмме классы студент и преподаватель порождены из одного суперкласса человекизуниверситета. Вообше говоря, к классу Студент относятся те объекты класса человекизуниверситета, которые соответствуют студентам, а к классу преподаватель — объекты класса человекизуниверситета, соответствующие преподавателям. Но, как это часто случается, многие студенты уже в студенческие годы начина- 186 Лекция 10 Диаграммы классов языка Пмк Рис. 10.5. Иерархия одиночного наследования классов ют преподавать, так что могут существовать такие два объекта классов студент и Преподаватель, которым соответствует один объект класса Человекнзуняверснтета.

Итак, среди объектов класса Студент могут быть преподаватели, а некоторые преподаватели могут быть студентами. Тогда мы можем определить класс СтудентПреподаватель путем множественного наследования от суперклассов Студент и Преподаватель. Объект класса СтудентПреподаватель обладает всеми свойствами и операциями классов Студент и Преподаватель и может быть использован везде, где могут применяться объекты этих классов.

Так что полиморфизм по включению продолжает работать. Следует отметить, что множественное наследование, помимо того что не слишком часто требуется на практике, порождает ряд проблем, из которых одной из наиболее известных является проблема именования атрибутов и операций в подклассе, полученном путем множественного наследования. Например, предположим, что при образовании подклассов студент и преподаватель в них обоих был определен атрибут с именем номеркомнаты. Очень вероятно, что для объектов класса студент значениями этого атрибута будут номера комнат в студенческом общежитии, а для объектов класса Преподаватель — номера служебных кабинетов.

Как быть с обьектами класса СтудентПреподаватель, для 187 Основы баа данных Курс Рис. 10.6. Пример множественного наследования классов которых существенны оба одноименных атрибута (у студента-преподавателя могут иметься и комната в общежитии, и служебный кабинет)? На практике применяется одно из следующих решений: (1) запретить образование подкласса Отудентпреподаватель, пока в одном из суперклассов не будет произведено переименование атрибута номерКомнаты; (2) наследовать это свойство только от одного из суперклассов, так что, например, значением атрибута номеркомнаты у объектов класса студентпреподаватель всегда будут номера служебных кабинетов; (3) унаследовать в подклассе оба свойства, но автоматически переименовать оба атрибута, чтобы прояснить их смысл; назвать их, например, номеркомнатыСтудента и номерКомнатыПреподавателя. Ни одно из решений не является полностью удовлетворительным, Первое решение требует возврата к ранее определенному классу, имена атрибутов и операций которого, возможно, уже используются в приложениях.

Второе решение нарушает логику наследования, не давая возможности на уровне подкласса использовать все свойства суперклассов. Наконец, третье решение заставляет использовать длинные имена атрибутов и операций, которые могут стать недопустимо длинными, если процесс множественного наследования будет продолжаться от полученного подкласса.* ' Как кюкется, здесь можно провести некоторую аналогию с ситуацией, по причине наличия которой в реляционной алгебре (см. лекции 3 и 4) была введена операция КЕ)4АМЕ. 188 Лекция 10 Диаграммы классов языка цыц Но, конечно, сложность проблемы именования атрибутов и операций несопоставимо меньше сложности реализации множественного наследования в реляционных БД.

Поэтому при использовании ПМЕ для проектирования реляционных БД нужно очень осторожно использовать наследование классов вообще и стараться избегать множественного наследования.* Связи-ассоциации: роли, кратность, аграгация Ассоциацией называется структурная связь, показывающая, что объекты одного класса некоторым образом связаны с объектами другого или того же самого класса. Допускается, чтобы оба конца ассоциации относились к одному классу. В ассоциации могут связываться два класса, и тогда она называется бинарной.

Допускается создание ассоциаций, связывающих сразу л классов !они называются л-аззнылги ассоциациями).'* Графически ассоциация изображается в виде линии, соединяюшей класс сам с собой или с другими классами. С понятием ассоциации связаны четыре важных дополнительных понятия: имя, роль, крапгноспгь и аг!зегация, Во-первых, ассоциации может быть присвоено имя, характеризуюшее природу связи. Смысл имени уточняется с помощью черного треугольника, который располагается над линией связи справа или слева от имени ассоциации. Этот треугольник указывает направление чтения имя связи. Пример именованной ассоциации показан на рис.

10.7. Треугольник показывает, что именованная ассоциация должна читаться как «Студент учится в университете». Рвс. 10.7. Пример именованной ассоциации Другим способом именования ассоциации является указание роли каждого класса, участвуюшего в этой ассоциации. Роль класса, как и имя конца связи в ЕВ-модели, задается именем, поме!цаемым под линией ассоциации ближе к данному классу.

На рис. !0.8 показаны две ассоциации между классами человек и Университет, в которых эти классы играют разные роли. Как мы видим, объекты класса человек могут выступать в " Если под «реляционными» базами данных понимать БЯЬ-ориентированные БД. " Напомним, что в варианте Ей-модели, рассмотренном нами в предьшушей лекции, допускались только бинарные связи. В свое время компания Огас!е обосновывала это решение тем, что наличие бинарных ассоциаций всегда является достаточным. Здесь мы также ограничимся обсуждением бинарных ассоциаций.

199 Курс Основы ба» данных Рис. 10,8. Две ассоциации с разными ролями классов роли РАБОтникОВ при участии в ассоциации, в которой объекты класса Университет играют роль НАНИМАТЕЛЯ. В другой ассоциации объекты класса Человек играют роль СТУДЕНТА, а объекты класса унивеРСитет— роль ОБУЧАЮЩЕГО. В общем случае, для ассоциации могут задаваться и ее собственное имя, и имена ролей классов.

Это связано с тем, что класс может играть одну и ту же роль в разных ассоциациях, так что в общем случае пара имен ролей классов не идентифицирует ассоциацию. С другой стороны, в простых случаях, когда между двумя классами определяется только одна ассоциация, можно вообще не связывать с ней дополнительные имена. Кратностью (шпй1рйсйу) роли ассоциации называется характеристика, указывающая, сколько объектов класса с данной ролью может или должно участвовать в каждом экземпляре ассоциации (в ()М) экземпляр ассоциации называется соединением — 1пй, но мы не будем здесь использовать этот термин, чтобы не создавать путаницу — все-таки трудно одновременно говорить про связи, ассоциации и соединения, имея в виду разные понятия). Наиболее распространенным способом задания кратности роли ассоциации является указание конкретного числа или диапазона.

Например, указание «1» говорит о том, что каждый объект класса с данной ролью должен участвовать в некотором экземпляре данной ассоциации, причем в каждом экземпляре ассоциации может участвовать ровно один объект класса с данной ролью. Указание диапазона «О ..

Характеристики

Тип файла
PDF-файл
Размер
5,28 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее