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

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

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

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

1» говорит о том, что не все объекты класса с данной ролью обязаны участвовать в каком- либо экземпляре данной ассоциации, но в каждом экземпляре ассоциации может участвовать только один объект. Аналогично, указание диапазона «1 .. *» говорит о том, что все объекты класса с данной ролью должны участвовать в некотором экземпляре данной ассоциации, и в каждом экземпляре ассоциации должен участвовать хотя бы один объект (верхняя граница не задана). Толкование диапазона «0 .. *» является очевидным расширением случая «б .. 1». В более сложных (но крайне редко встречающихся на практике) случаях определения кратности можно использовать списки диапазонов.

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

На диаграмме классов с рис. 10.9 показано, что произвольное (может быть, нулевое) число людей являются служащими произвольного числа университетов. Каждый университет обучает произвольное (может быть, нулевое) число студентов, но каждый студент может быть студентом только одного университета. Рис. 10.9. Ассоциации с указанными кратностями ролей Обычная ассоциация между двумя классами характеризует связь между равноправными сущностями: оба класса находятся на одном концептуальном уровне. Но иногда в диаграмме классов требуется отразить тот факт, что ассоциация между двумя классами имеет специальный вил «часть-целое».

В этом случае класс «целое» имеет более высокий концептуальный уровень, чем класс «часть». Ассоциация такого рода называется агрегатной. Графически агрегатные ассоциации изображаются в виде простой ассоциации с незакрашенным ромбом на стороне класса-«целого».

Простой пример агрегатной ассоциации показан на рис. 10.10. Рис. 10.10. Пример агрегатной ассоциации Объектами класса дудитория являются студенческие аудитории, в которых проходят занятия. В каждой аудитории должны быль установлены парты. Поэтому в некотором смысле класс парта является «частью» класса Аудитория. Мы умышленно сделали роль класса парта необязательной, поскольку могут существовать аудитории без парт (например, класс для занятий танцами) и некоторые парты могут находиться на складе.

Обратите внимание, что, хотя аудитории, не оснащенные партами, как правило, непригодны для занятий, объекты классов йудитория и парта суще- 19! Основы баэ данных Курс ствуют независимо. Если некоторая аудитория ликвидируется, то находящиеся в ней парты не уничтожаются, а переносятся на склад. Бывают случаи, когда связь «части» и «целого» настолько сильна, что уничтожение «целого» приводит к уничтожению всех его «частей». Агрегатные ассоциации, обладающие таким свойством, называются кампозиягиыми, илн просто композициями. При наличии композиции обьект-часть может быть частью только одного объекта-целого (композита). При обычной агрегатной ассоциации «часть» может одновременно принадлежать нескольким «целым». Графически композиция изображается в виде простой ассоциации, дополненной закрашенным ромбом со стороны «целого».

Пример композитной агрегатной ассоциации показан на рис. 10.11. Рис. 10.11. Пример композитной агрегатной ассоциации Любой факультет является частью одного университета, и ликвидация университета приводит к ликвидации всех существующих в нем факультетов (хотя во время существования университета отдельные факультеты могут ликвидироваться и создаваться). Заметим, что в контексте проектирования реляционных БД агрегатные и в особенности композитные ассоциации влияют только на способ поддержки ссылочной целостности.

В частности, композитная связь является явным указанием на то, что ссылочная целостность между «целым» и «частями» должна поддерживаться путем каскадного удаления частей при удалении целого. Подробнее способы поддержки ссылочной целостности в Б()(.-ориентированных БД рассматриваются в следующих лекциях. При наличии простой ассоциации между двумя классами (например, ассоциации между классами Отудеыт и университет с рис. 10.7) предполагается возможность навигации между объектами, входящими в один экземпляр ассоциации.

Если известен конкретный объект-студент, то должна обеспечиваться возможность узнать соответствующий обьектуниверситет. Если известен конкретный объект-университет, то должна обеспечиваться возможность узнать все соответствующие объекты-студенты. Другими словами, если не оговорено иное, то навигация по ассоциации может проводиться в обоих направлениях.' Однако бывают слу- * Поскольку сГМ ь — это высокоуровневый язык моделирования, в нем не уючняется, что такое навигация в реализационном смысле. Но очевидно, что само появление понятия навигации связано с объектно-ориентированной природой ЦМЬ. Термин «навигация* является почти ругательным в мире реляционных БД, иодля мира обьектно-ориентированных БД он вполне естественен, поскольку в этом мире на модельнолг уровне присутствует понятие ссылки, нли указателя.

192 Лекция 1О Диаграммы классов языка ()МЬ чаи, когда желательно ограничить направление навигации для некоторых ассоциаций. В этом случае на линии ассоциации ставится стрелка, указывающая направление навигации. Пример показан на рис. 1О.! 2. Рис. 10.12. Ассоциация с указанным направлением навигации В библиотеке должно содержаться некоторое количество книг, и каждая книга должна принадлежать некоторой библиотеке. С точки зрения библиотечного хозяйства разумно иметь возможность найти книгу в библиотеке, т.

е. произвести навигацию от объекта-библиотеки к связанным с ним объектам-книгам. Однако вряд ли потребуется по данному экземпляру книги узнать, в какой библиотеке она находится.' Ограничения целостности и язык ОСЕ Как уже отмечалось, в диаграммах классов могут указываться ограничения целостности, которые должны поддерживаться в проектируемой БД. В 1)М) допускаются два способа определения ограничений: на естественном языке и на языке ОСЕ. На рис. 10. 13 показана простая диаграмма классов студент и университет с ограничением, выраженным на естественном языке.

В данном случае накладывается ограничение на состояние объектов классов студент и университет, входя(них в один экземпляр ассоциации. Обьект класса студент может входить в экземпляр связи с объектом клас- (Студент. етипен)пгя должно находиться в дипаэоне между Университет. геахСтипендил и университет .

иаксСтипендия ) Рис. 10.13. Ограничение, выраженное на естественном языке ' С точки зрения реляционных БД ассоциации с одноналравленной навнгацией можно считать указанием на необходимость ограничения видимости объектов БД. Соотвстствуюшую (но существенно более обшую) возможность в о(21.-ориентированных БД обеслечивает механизм представлений (тдеи). Подробнее об этом см. в следующих лекциях. 193 Основы баз данных Курс са Университет только при условии, что размер стипендии данного сту- дента находится в диапазоне, допустимом в данном университете. Общая характеристика языка ОС!. Более точный и лаконичный способ формулировки ограничений обеспечивает язык ОС!. (ОЬ)ес! Сопл!та!пгз !лпяцаде).

Вот общая характеристика этого языка. Из языка ОМ!.» в ОС) заимствованы, в первую очередь, следующие концепции: ° класс, атрибут, операция; ° объект (экземпляр класса); ° ассоциация; ° тип данных (включая набор предопределенных типов Воо!сап, 1пгеаег, Веа! и В!пня); ° значение (экземпляр типа данных). Для понимания языка ОС!.

существенны определяемые в 0М!. традиционные для объектных моделей данных различия между обьектом некоторого класса и значением некоторого типа; ° объект обладает уникальным идентификатором и может сравниваться с другими объектами только по значению идентификатора; следствием этого является возможность определения операций над множествами объектов в терминах их идентификаторов"*; ° объект может быть ассоциирован через бинарную связь**' с другими объектами, что позволяет определить в ОС!. операцию перехода от данного обьекта к связанным с ним обьектам; ° в то же время значение является «чистым значением» в том смысле, что: ° при сравнении двух значений проверяются сами эти значения„ ° кроме того, значения не могут участвовать в связях, поскольку понятие связи определено только для обьектов классов.

В дополнение к скалярным типам данных, заимствованным из О М1, в ОС!. предопределены структурные типы, которые являются разновидностями типов коллекций (со!!есу!ол): ° математическое мнозгсество (зе!), неупорядоченная коллекция, не содержащая одинаковых элементов; ' Хотя язык ОСь формально считается частью НМЕ, он специфицирован в отдельном документе, в котором присутствуют ссылки на другие части спецификации НМЬ, а также вводятся собственные понятия и определения.

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

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

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

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