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

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

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

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

Переменные экземпляра Рассмотрим более подробно концепцию переменных экземпляра, в отношении которой у специалистов все еше нет единства мнений. Как утверждалось ранее, в истинно объектной системе переменные экземпляра должны быть полностью скрыты от пользователя, однако большинство систем не являются действительно объектными. Поэтому на практике необходимо различать открытые и закрытые переменные экземпляра, последние из которых действительно скрыты для внешнего мира, тогда как первые — нет. 4 Выделение одного аргул~ента в качестве особого может упростить выполнение скоте.чой процесса связывания ао время выполнения, который был описан в главе )9 Однако такой подход имеет и недостатки; по крайней мере, это может усложнить запись выполняемого «ода для соответствуюи!его метода. При традиционном подходе бконечно, если есть из чего выбирать, т.е. если есть несколько аргулчентов) целевой аргумент выбирается произвольно.

951 Глава 24. Объектные базы данных Предположим, что имеется объектный класс отрезков линии Р1МЕЯЕС. Будем считать, что каждый отрезок имеет начало (точка ЯТАНТ) и конец (точка ЕМР). Чтобы "получить'* значения координат этих точек для заданного сегмента 1в, обычно используются выражения наподобие 1в. ЕТАЯ и 1в. ЕМР. Таким образом, ЯТАНТ и ЕЮ вЂ” открытые переменные экземпляра. Заметим, что по определению доступ к таким переменным должен осуществляться с помощью специального синтаксиса (обычно используется точка после имени объекта, как в нашем примере). Если физическое представление отрезков линии заменить, например, комбинацией координат средней точки (М1РР01МТ), длины отрезка (ЬЕМСТН) и его наклона (Я)ЛРЕ), в любой программе, которая содержит такие выражения, как 1я.ЯТАНТ и 1я.

ЕЮ, возникнет ошибка. Другими словами, будет утрачена независимость данных. Обратите внимание, что открытые переменные экземпляра не являются логически необходимыми. Предположим, что для получения значений переменных экземпляра отрезка линии определены методы 6ЕТ ЯТАНТ, СЕТ ЕМР, СЕТ И1РР01МТ, СЕТ ЬЕМСТН и СЕТ ЯЬОРЕ. Тогда пользователь сможет "получить" значения координат начала, конца, средней точки отрезка 1в, его длины и наклона, вызвав методы СЕТ ЯТАНТ(1в), СЕТ ЕМР(1в), СЕТ И1РР01МТ(1я), СЕТ ЬЕМСТН(1в) и СЕТ ЯЬОРЕ(1в) соответственно. Однако в этом случае уже не имеет значения, каково действительное физическое представление отрезка — вполне достаточно, чтобы при каждом его изменении соответствующим образом были изменены и СЕТ-методы.

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

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

Однако отсюда вовсе не следует, что подобные "переменные экземпляра" могут применяться для любых целей. Пусть, например, для создания объекта отрезка линии необходимы значения координат точек ЯТАНТ и ЕЮ. Однако отсюда не слелует, что всегда можно будет составить запрос, например, лля получения сведений обо всех отрезках линий, которые имеют одни и те же заданные координаты точки ЯТАНТ. Возможность выполнения такого запроса зависит от того, был ли определен подходящий дпя этого случая метод.

Наконец следует отметить, что некоторые системы полдерживают особый вид переменных экземпляра, называемых защищенными. Если объекты класса С имеют защищенную переменную экземпляра Р, то эта переменная лоступна только для методов, определенных лля класса С, и для методов, определенных для любого подкласса (на любом уровне) класса С. Подклассы кратко описаны в подразделе 24.3. З Рассматриваемые объекты доежны быть, между прочим, изменяемыми (почему?!. 952 Часть Ь'1. Объектные и объектно-реляз(ионные базы данньп Идентификатор объекта Каждый объект обладает уникальным идентификатором объекта (оЬ)ес1 !!3 — О!О). Такие примитивные ("неизменяемые") объекты, как целое число 3, являются саиоидентифипирующииися, т.е, они сами являются собственными идентификаторами объекта. Изменяемые объекты, напротив, имеют в качестве идентификаторов адреса (концептуальные), Эти алреса можно использовать повсюду в базе данных как указатели (концептуальные) на данные объекты.

Адреса объектов пользователю непосредственно не предоставляются, но они могут быть присвоены, например, программной переменной и переменным экземпляра в других объектах. Обсуждение этого вопроса будет продолжено в разделах 24.3 и 24.4. Кстати, отметим, что иногда можно встретить утверждения о том, что, с точки зрения пользователя, преимущество объектных систем заключается в абсолютной идентичности двух разных объектов, т.е. они могут быть дубликатами по отношению друг к другу, но отличаться своими идентификаторами. Однако, с точки зрения автора этой книги, подобное утвержление обманчиво. Ибо каким же образом пользователь действительно сможет внешне различить оба объекта? (Более подробно этот вопрос описан в (5.3), (5.6) и особенно — в (24.19].) 24.3. Еще раз об объектах и объектных классах СЬАЯЯ ОЕРТ РОВЫС ( ОЕРТ() ОМАНЕ ВОООЕТ МОК ЕМРБ МЕТНООБ ( Н1КЕ ЕМР Р1КЕ ЕМР СНАМ, СМАК, МОННУ, КЕР ( ЕМР ), КЕР ( ЯЕТ ( КЕР ( ЕМР ) ) ) ) ( КЕР ( ЕМР ) ) ...

ход ... ( КЕР ( ЕМР ) ) ... код ... , ... ) СБАВЯ ЕМР РОВ11С ( ЕМР() СНАК, ЕМАМЕ СМАК, БАЕ АКТ МОНЕТ, РОБ1Т1ОМ КЕР ( ЗОВ ) ) МЕТНООБ ( " ° ) Необходимо отметить несколько важных особенностей. 1. В этом примере описание отделов и сотрудников построено на основе иерархии вложения, в которой объекты ЕМР концептуально содержатся внутри объектов ОЕРТ. Таким образом, объект класса ОЕРТ содержит открытую переменную экземпляра МОК, 953 Глава 24. Объектные базы данных Рассмотрим более сложный пример с двумя объектными классами: ОЕРТ (Отдел) и ЕМР (Сотрудник).

Предположим, что в системе уже были описаны определяемые пользователем классы МОННУ (Деньги) и ЛОВ (Работа), а класс СНАК (Символьная переменная) является встроенным. Тогда операции, необходимые для создания классов ОЕРТ и ЕМР,могут выглядеть следующим образом (с использованием некоторого гипотетического синтаксиса). прелставляюшую менеджера отдела, а также переменную ЕМРЯ, представляющую сотрудников отдела. Точнее, объекты класса ОЕРТ содержат открытую переменную экземпляра ИОЕ, значение которой является ссылкой (ЕЕГ) на объект, описывающий некоторого сотрудника, и переменную ЕИРЯ, значение которой является совокупностью ссылок на объекты лругнх сотрудников.

(Под ссылкой здесь подразумевается идентил)зикапзор объекта, который подробнее описан ниже.) Понятие иерархии вложения в более широкой форме будет представлено несколько ниже. 2. В данном примере в объекты класса ЕИР не была включена некоторая переменная экземпляра, содержащая идентификатор объекта отдела ОЕРТ нли же значение номера отдела ОЕРТ0 (переменная экземпляра для "внешнего ключа"). Это решение согласуется с выбранным нами методом представления связи между отделами и сотрудниками с помощью иерархии вложения. Однако это также означает, что не существует возможности прямого перехода от заданного объекта класса ЕИР к соответствующему ему объекту класса ОЕРТ. Подробнее данный вопрос обсуждается в разделе 24.5.

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

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

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

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