Главная » Просмотр файлов » Введение в системы БД

Введение в системы БД (542480), страница 256

Файл №542480 Введение в системы БД (Введение в системы БД) 256 страницаВведение в системы БД (542480) страница 2562015-08-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

010 ОР ЯЕТ ОГ АЬЬ ЕМРЯ ЕЕИОЧБ : Б001 Но как в такой ситуации реализовать правило каскадного удаления ОЕЬЕТЕ СЛЕСАРЕ? Например, как при удалении некоторого сотрудника одновременно удалить и сведения обо всех потоках, в которых он проходит обучение? Для этого, естественно, придется создать соответствующую процедуру. Можно прийти к заключению, что механизм реализации удаления с помощью процесса сборки мусора является всего лишь некоторой разновидностью реализации правила ограничения удаления ОМ ОЕЬЕТЕ ЕЕБТЕ1СТ, поскольку объект не удаляется до тех пор, пока на него существует хотя бы одна ссылка.

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

В следующем разделе этот вопрос будет рассмотрен при обсуждении обратных переменных.) В заключение заметим, что операция удаления ЕЕМОЧЕ может быть использована для эмуляции реляционной операции ОЕОР, например для удаления всего класса ЕМЕОЬЬИЕИТ. Подробности оставляем читателю в качестве упражнения. 972 Часть й7.

Объектные и объектно-реляиионные базы данных 24.5. Дополнительные аспекты В этом разделе обсуждаются некоторые традиционные аспекты управления базами данных, но в объектном контексте. ° Произвольные запросы ° Целостность базы данных ° Реализация связей ° Языки программирования баз данных ° Повышение производительности ° Является ли объектная СУБД действительно СУБД Произвольные запросы До сих пор мы преднамеренно не подчеркивали, что если для манипулирования объектами заданы только заранее определенные методы, то произвольные запросы (не предусмотренные этими методами) просто невозможны, если только классы и методы не разработаны в соответствии со специальными правилами. Например, если для объекта класса йЕРТ определены только методы Н1ЕЕ ЕМР (нанять сотрудника), Р1ЕЕ ЕМР (уволить сотрудника) и СОТ Ейй6ЕТ (урезать бюджет), то даже такой простой запрос, как "Кто является менеджером (начальником) отдела программирования", выполнить будет невозможно.

По существу, по той же причине невозможно определить представления и декларативные ограничения целостности для объектов, опять же, если не следовать некоторым конкретным правилам. По нашему мнению, решение этих проблем ("специальные правила") может быть следующим. 1. Определить множество операторов ("операторов ТНЕ "), с помощью которых можно было бы получить некоторые возможные представления рассматриваемых объектов, как в главе 5. 2.

Надлежащим образом внедрить объекты в реляционную структуру. Эта часть решения подробно обсуждается в следующей главе. Однако разработчики объектных систем обычно не придерживаются данных рекомендаций. Вместо этого они поступают следующим образом'о. 1. Обычно определяются операторы, которые предоставляют не некоторые возможные представления, а реальные представления (см.

обсуждение открытых переменных экземпляра в разделе 24.2). "В настоящее время для всех продуктов объектных СУБД требуется, чтобы [переменные экземпляра], которые упоминаются в... запросах, были открытыми" [24.38). Ю Здесь подразумевается, что рассматриваемая объектная система действительно поддерлсивает произвольные запросы, как и болыиинспзво современныз обьектныз систем. Однако более ранние объектные системы иногда не поддерлсивали такие запросы, частично в силу причин, которые будут рассмотрены в этом разделе.

973 Глава 24. Объектные базы данньп 2. Обычно поддерживается ие реляционная структура, а множество других структур, которые основываются иа пакетах, массивах и т.д. В связи с этим напомним наше утверждение, что классы, т.е. типы, плюс отношения необходимы и достаточны иа логическом уровне (см. главу 3). А поскольку речь идет об основной модели, мы считаем, что массивы и все остальное является ненужным и нежелательным. На иаш взгляд, причиной того, что в объектных системах отдано предпочтение коллекциям, а ие отношениям (фактически отношения почти полностью отвергнуты), является, опять же, путаница между понятиями модели и реализации. В связи с выполнением произвольных запросов возникает еше один важный вопрос, а именно: какой класс является результатом.

Предположим, например, что необходимо выполнить запрос "Получить имена и размер заработной платы всех служащих в отделе программирования" по базе данных отделов и служащих из раздела 24.3. Предположительно результат будет содержать открытые переменные экземпляра ЕМВИЕ и ЯВЬВВУ. Однако в базе данных иет класса, который имеет такую структуру. Должны ли мы предварительио определить такой класс, прежде чем выполнять запрос? (Обратите внимание иа последствия: если бы было необходимо определить такой класс, для класса с л перемеииыми экземпляра потребовалось бы по крайней мере 2 " предварительно определениых класса только для поддержки операций выборки!) А если есть какой-либо класс результатов, то какие методы применимы к нему? Аналогичные вопросы возникают в связи с операциями соединения.

Если соединить объекты отдела и служащего, то какой класс получится в результате? Какие методы нужно использовать? Возможно, из-за того, что иа такие вопросы нелегко ответить, опираясь иа чисто объектиую структуру, в некоторых объектных системах поддерживаются операции "прохождения пути" (см. ~24.25), [24.47]) вместо самих операций соединения. Для базы даииых ОРАЬ из раздела 24.4, например, допустимо следующее выражение пути. ЕИВОЬЬИЕИТ . ОРРЕВХМЯ .

СОУВЯЕ Оио означает следующее. "Найти уникальный объект класса СОУВЯЕ, иа который ссылается уникальный объект класса ОРРЕВТИЯ, иа который ссылается данный объект класса ЕИВОЬЬИЕИТ'*". Реляционный аналог этого выражения обычно включает две операции соединения и одну операцию проекции. Иными словами, в результате прохождения пути предоставляется доступ только по предварительно определенным путям (как в дореляциоииых системах) и только к объектам предварительно определенных классов (опять же, как в дореляциоииых системах). Целостность базы данных В главе 8 утверждалось, что целостность данных в базе имеет фундаментальное зиачеиие.

Тем ие менее даже те объектные системы, которые поддерживают произвольные запросы, декларативные ограничения целостности обычно ие поддерживают. Выполиеиие подобных ограничений достигается с помощью процедурного кода, т.е, методов или ЗЗ На самом деле зто выраъсение ие является допустимым путел~ для базы данныл, как.иы ее определили, поскольку указатели определяют неверное направление. Например, объекты класса ОРРЕВРЕО не ссылаются на объекты класса СООВЯЕ: наоборопс объекты к~асса СООВЯЕ ссылаются на нил. 974 Часть уХ Объектные и объектно-реляционные базы Данных прикладных программ.

Рассмотрим, например, сведующее ограничение (или "бизнесправило") из раздела 8.5: "Поставщики со статусом меньше 20 не должны поставлять более 500 деталей". Ддя того чтобы обеспечить выполнение этого ограничения, в процедуре ее реализации должны содержаться по крайне мере следующие методы. ° Метод дяя создания объекта поставки ° Метод ддя изменения количества поставляемых деталей ° Метод для изменения статуса поставщика ° Метод для переназначения некоторой поставки другому поставщику При внимательном изучении этого примера можно отметить важные особенности.

1. При такой организации, очевидно, утрачивается возможность проверки соблюдения ограничений целостности с помощью системы. 2. Как убедиться в том, что все эти методы содержат весь необходимый для поддержки целостности базы данных код? 3. Как, например, при создании объектного класса для поставок предостеречь пользователя от случайного пренебрежения методом "создания поставки" и ошибочного непосредственного использования метода аЕИ (т.е. без проверки целостности)? 4.

Как при изменении ограничений целостности найти и внести соответствующие изменения во все методы, в которых они были определены? 5. Как убелиться в корректности кода, с помощью которого приводятся в действие ограничения целостности? б. Как выполнить проверку целостности для отложенных (во время выполнения) операций? 7. Как поступить с транзитными ограничениями? 8.

Как узнать обо всех ограничениях, которые заданы для данного объекта иди комбинации объектов? 9. Будут ли ограничения целостности приводиться в действие во время загрузки системы или во время выполнения каких-либо других действий? 1О. Можно ди осуществить семантическую оптимизацию (т.е. упростить запросы с помощью ограничений целостности так, как описано в главе 17)? Кроме того, как повлияют перечисленные выше особенности на производительность работы во время создания приложения и при последующем его использовании? Реализация связей Термин "связи" используется в объектно-ориентированных продуктах и в соответствующей литературе в основном для связей, представленных в реляционной базе данных внешничи кдючами.

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

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

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

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