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

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

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

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

Возможность применять один и тот же метод для объектов класса Х и класса Х называется полиморфизмом. Обычно объектные системы поставляются с определенной встроенной иерархией классов. Например, в системе ОРАЬ (см. раздел 24.4) каждый класс рассматривается как подкласс некоторого уровня встроенного класса ОБЪЕСТ (поскольку "все является объектами"). Встроенные подклассы класса ОБЪЕСТ включают классы ВООЬЕАН, СНАН, 1НТЕОЕЕ, СОЬЬЕСПОН и др. Класс СОЬЬЕСПОН, в свою очередь, включает подкласс ВАО, а класс ВАО содержит класс ЯЕТ и т.д.

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

В рассматриваемом примере используются объектная СУБД ОешБгопе (разработка корпорации Оешбгопе Буз1ешз) и ее язык запросов ОРАЬ [24.14]. Язык ОРАЬ, в свою очередь, основывается на языке Бгпа111а!М [24.26], одном из наиболее истинно объектных языков (поэтому он здесь и используется). Зачечание Необходимо добавить, что язык БшаПга1М появился на рынке раньше, чем язык С++, и гораздо раньше, чем язык)ака. Однако несмотря на это два последних языка являются менее "чистыми" объектными языками, чем Бша])гаИс. В качестве примера воспользуемся упрощенной версией базы данных профессиональной подготовки из упр. 8.10 главы 8. В этой базе данных содержится информация о схеме подготовки и обучения специалистов внутри некоторой компании.

Для каждого курса обучения (СООНБЕ) в базе данных содержится описание отдельных потоков, организованных для его изучения (ОГГЕЕ1НО). Для каждого потока хранятся данные обо всех его слушателях (ЕННОЬЬИЕНТ) и преподавателях (ТЕАСНЕЕ). Кроме того, в базе содержатся сведения о сотрудниках компании.

Реляционную версию базы данных можно описать следующим образом. СООНБЕ ( СООЕБЕз, ПТЬЕ ОГГЕН1НО ( СООЕБЕФ, ОГРА, ОГГОАТЕ, ЬОСАПОН ) ТЕАСНЕЕ ( СООЕБЕ$, ОГГГ, ЕИРФ ЕННОЬЬМЕНТ ( СООЕБЕЗ, ОГГ(], ЕМРГ, ОНАОЕ ) ЕМР ( ЕМРМ, ЕНАИЕ, ЯАЬАЕГ, РОБ1ПОН ) На рис. 24.6 показана диаграмма связей для рассматриваемой базы данных. Более подробно она описана в главе 8, в упражнениях и ответах к упражнениям.

Часть $7. Объектные и объектно-реляционные базы данных Рис. 24.б. Диаграмма связей для образовательной базы данных Определение данных Теперь перейдем к определению данных на языке ОРА[. для образовательной базы данных. Ниже приводится первое определение объектного класса ЕМР, описывающего сотрудников (для удобства строки этого определения пронумерованы). 1 ОВЮЕСТ ЯОВСЬАЯЯ : 'ЕМР' 2 1НЯТЧАННАМЕЯ ! 4[ 'ЕМР4', 'ЕНАМЕ', 'РОЯ1ТХОН' ] 3 СОНЯТРА1НТЯ : 4[ 4[ ФЕИРФ, ЯТК1НЯ ] 4 [ 4ЕНАМЕ, ЯТК1НО 5 [ 4РОЯ1ТТОН, ЯТК1НО ] ] Пояснения. В строке 1 определен объектный класс ЕИР, производный от встроенного класса ОВЮЕСТ. (Согласно терминологии языка ОРА[.

в строке 1 отсылается сооби!ение объекту ОВаЕСТ с запросом выполнить метод ЯОВСВАЯЯ, причем с помошью предложений 1НЯТУАКНАМЕЯ и СОНЯТАА1НТЯ указываются параметры вызова этого метода. Для определения нового класса (как и всего прочего) необходимо отослать сообшение объекту.) В строке 2 указывается, что объекты класса ЕМР имеют три закрытые переменные экземпляра — ЕМР4, ЕНАМЕ и РОЯ1Т1ОН, а в строках 3-5 на эти переменные экземпляра накладываются ограничения, указываюшие, что они должны содержать объекты класса ЯТЕ1НО. Замечание. В настоящей главе опускаются чисто синтаксические подробности, несушественные для преследуемых нами целей (например, вездесушие знаки "$", присутствующие в приведенном выше примере).

Подчеркнем, что переменные экземпляра ЕМР$, ЕНАМЕ и РОЯ1Т1ОН вЂ” закрытые переменные для класса ЕМР, поэтому доступ к ним по именам допустим только в методах этого класса. В качестве примера ниже даны определения методов "получить и установить", т.е. методов, позволяющих выбрать и обновить номера служащих (здесь символ """ можно читать как "возвратить"). ИЕТНОО : ЕМР ОЕТ ЕМР4 тЕМР4 963 Глава 24. Объектные базы данных МЕТН00 : ЕИР ЯЕТ ЕМР№ г ЕМР№ РАЕМ ЕМР№ := ЕМР$ РАЕМ Ф В следующем подразделе о методах определения мы поговорим подробнее. А сейчас рассмотрим определение класса описания курса СООКБЕ. 1 ОВЮЕСТ БОВСЬАББ : 'СООВЯЕ' 2 1НЯТЧАВНАМЕЯ : $[ 'СООКБЕ$', 'Т1ТЬЕ', 'ОРРЕВ1НОБ' ] 3 СОНЯТВА1НТЯ г $[ $[ №СООКБЕ№, ЯТК1НО ] 4 №Т1ТЬЕ, ЯТК1НБ ] 5 [ №ОРРЕК1НОЯ, ОБЕТ ] ] Пояснения.

В строке 5 определена переменная ОРРЕВ1НОБ, которая содержит объект класса ОЯЕТ, или, точнее, идентификатор объекта класса ОЯЕТ. Выражаясь неформально, переменная ОРРЕКХНОЯ обозначает множество всех потоков для данного курса. Иначе говоря, связь "курс — поток" моделируется с помощью иерархии вложения, в которой потоки концептуально содержатся внутри соответствующего курса. Определение класса ОБЕТ будет дано ниже, а определение класса потока ОРРЕВ1НБ может быть записано так. 1 ОБЪЕСТ ЯОВСЬАЯБ : 'ОРРЕК1НБ' 2 1НЯТЧАКНАМЕБ г 4[ 'ОРР4', 'ООАТЕ', 'ЬОСАТ10Н', 3 'ЕНК01ЬМЕНТЯ', 'ТЕАСНЕВБ' 4 СОНЯТВА1НТЯ : $[ $[ $0РР$, БТК1НО ] 5 [ $00АТЕ, ОАТЕТ1МЕ ], б [ №ЬОСАТ10Н, БТВХНЯ 7 [ $ЕНВОЬЬМЕНТБ, НЯЕТ ], 8 [ №ТЕАСНЕКЯ, ТЯЕТ ] ] Пояснения.

В строке 7 определяется закрытая переменная экземпляра ЕНКОЬЬМЕНТЯ, содержащая идентификатор объекта класса НЯЕТ, Говоря неформально, переменная ЕНВ01ЛМЕНТЯ описывает множество всех слушателей в данном потоке. Аналогично пере- менная ТЕАСНЕКБ описывает множество всех преподавателей потока, Следовательно, здесь вновь используется представление иерархии вложения, Определения классов НЯЕТ и ТБЕТ будут даны ниже. Определение класса слушателей ЕНКОЬЬМЕНТ может быть запи- сано следующим образом.

1 ОБЪЕСТ ЯОВСЬАЯБ : 'ЕНВОЬЬМЕНТ' 2 1НЯТЧАВНАИЕБ : 4[ 'ЕМР', 'ОКАОЕ' ] 3 СОНЯТВА1НТЯ : 4[ 4[ №ЕМР, ЕМР ] 4 [ №ОВАОЕ, ЯТК1НЯ ] ], Пояснения. В строке 3 определяется закрытая переменная экземпляра ЕМР, содержащая идентификатор объекта класса ЕМР, представляющий отдельного сотрудника, который является слушателем курса.

Зииечиние. Чтобы продолжить иерархию вложения, объект ЕИР помещается в объект ЕНКОЬЬМЕНТ. Однако здесь можно заметить асимметрию: зачисление сотрудника на обучение в разные потоки описывается как отношение типа "многие ко многим", однако члены этого отношения, сотрудники и потоки, обрабатываются совершенно по-разному. 964 Часть РХ Объекпгные и объектно-реляционные базы банных И наконец рассмотрим объекты, представляющие преподавателей. В нашем примере следует несколько отвлечься от исходной реляционной версии базы данных и рассмотреть преподавателей (ТЕАСНЕК) как подкласс класса сотрудников (ЕМР).

1 ЕМР ЯОВСВАББ : 'ТЕАСМЕК' 2 ХКЯТЧАККАМЕБ : $[ 'СООКЯЕБ' ) 3 СОКЯТКАХКТЯ : $[ [[[ [[СООКЯЕЯ, СВЕТ [ [ Пояснения. В строке! определен объектный класс ТЕАСНЕК, который является подклассом ранее определенного класса ЕМР (иначе говоря, ТЕАСНЕК и1ЯАн ЕМР). Таким образом, каждый отдельный объект ТЕАСМЕК имеет закрытые переменные экземпляра ЕМР[[, КВАМЕ и РОБ1Т1ОК (которые унаследованы от класса ЕМРа), а также переменную СООКЯЕЯ, которая содержит идентификатор объекта класса СВЕТ.

Объект СВЕТ определяетмножество всех курсов, которые ведет конкретный преподаватель. Каждый объект ТЕАСНЕК также наследует все методы класса ЕМР. Как уже отмечалось, в предыдущих определениях классов предполагалось существование нескольких классов коллекций (например, коллекций объектов потоков, учеников, преподавателей и т.д.), но они не были определены. Теперь следует дать точное определение коллекции каждого класса, а именно: ЕБЕТ, СВЕТ, ОЯЕТ, КБЕТ и ТБЕТ. Например, объект класса СВЕТ будет состоять из множества идентификаторов отдельных объектов класса СООКБЕ.

Ниже даются определения всех этих классов, начиная с класса ЕБЕТ. 1 ЯЕТ ЯОВС1АЯБ е 'ЕЯЕТ' 2 СОКЯТКАХКТЯ : ЕМР Пояснения. В строке ! лается определение класса ЕЯЕТ, который является подклассом встроенного класса БЕТ. В строке 2 на объекты класса ЕЯЕТ накладывается ограничение: они должны быть множествами идентификаторов объектов класса ЕМР. В общем случае может существовать произвольное число объектов класса ЕЯЕТ, но в данной ситуации будет создан только один объект (подробности приводятся в следующем подразделе), который будет содержать множество идентификаторов всех объектов класса ЕМР.

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

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

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

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