Теория и практика построения баз данных (1088289), страница 130
Текст из файла (страница 130)
Объясните, чем автор оправдывает уделение столь большого внимания стандартам Мкгозо1С Согласны ли вы с ним? 4. Перечислите компоненты стандарта ОРВС. 5. Какую роль играет диспетчер драйвера? Кто его предоставляет? 6. Какую роль играет драйвер СУБД? Кто его предоставляет? 7. Что такое одноуровневый драйвер? 8. Что такое многоуровневый драйвер? 9.
Есть ли что-нибудь общее в том, как термин уровень используется по отношению к архитектуре компьютерных систем (трехуровневая архитектура) в ОРВС? 10. Какова роль уровней соответствия? 11. Дайте краткую характеристику трех уровней соответствия интерфейса прикладных программ ОВВС.
12. Дайте краткую характеристику трех уровней соответствия грамматики 501.. 13. Объясните разницу между тремя типами источников данных. 14. Какой тип источника данных рекомендуется для шеЬ-серверов? 15. Какие два действия необходимо выполнить при настройке имени источника данных ОРВС? 16. Каково назначение 01.Е РВ? !7.
Какой недостаток ОРВС преодолевается в 01.Е РВ? 18. Определите термин абстракция и объясните, как он относится к ОСЕ РВ. 19. Приведите пример абстракции с набором строк. 20. Что такое свойства и методьг объекта? 21. В чем разница между объектным классом и объектом? 22. Какую роль играют потребители и поставщики данных? 23. г1то такое интерфейс? 24, В чем разница между интерфейсом и реализацией? 25. Объясните, почему реализация может меняться, а интерфейс не должен меняться никогда 26. Перечислите цели 01.Е РВ. 27.
Что такое МТ5 и каковы его функции? 28. Чем отличается поставщик табличных данных от поставщика услуг? Какой из них занимается преобразованием данных ОСЕ РВ в ХМ(.-документы? 29. В чем разница между набором строк и курсором в контексте 01.Е РВ? 30. Какие языки можно использовать с АРО? 31. Перечислите объекты, составляющие объектную модель ЛРО, и укажите их взаимосвязи. 32. Какова функция объекта Соппес(зол? 33. Напишите фрагмент кода на У!зца! Ваяс, создающий объект Солпесбоп, 34.
Какова функция объекта йесоЫ5е1? 35. Напишите фрагмент кода на У!зца! Васк, создающий объект йесог45е1. 36. Что содержится в коллекции ВеЫз? Приведите пример ситуации, в которой вы использовали бы зту коллекцию. 37. Напишите фрагмент кода на У!зца! Ваяс, обрабатывающий коллекцию ВеЫя 604 Вопросы к проекту Р!гег?Ор 605 Глава 15. ОВВС, ОСЕ СгВ, АОО и АВР чаг?аЫейапе = Йеоцез1.Еогп( тех11") 48. Какой цели служит оператор Йезропзе.У!!псе? Вопросы П группы 49 50 51. Объясните, как следует изменить АЗР-страницу в листинге 15.1, чтобы 52. Если вы установили Огас!е, запустите с помощью браузера АЗР-страницу 38.
39. 40. 42. 43. 44, 45. 46. Что содержится в коллекции Епогз? Приведите пример ситуации, в кото- рой вы использовали бы эту коллекцию. Напишите фрагмент кода на гГ!зца! Ваз!с, обрабатывающий коллекцию Еггогз. Каково назначение объекта Согпгпзпг?? Напишите фрагмент кода на 1г'!зца! Ваз!с, который запускал бы параметри- зованный хранимый запрос с двумя параметрами, А и В. Объясните назначение тегов «% и %» в А5Р-страницах.
Объясните назначение переменной сопл в листинге 15.1. Для чего нужен код, создающий переменную чагКеуйагпе в листинге 15А? Объясните назначение параметра АСТ?ОЙ тега ГОЙМ в листинге 153. Объясните, что произойдет, если будет выполнен следующий оператор в АЗР-странице в листинге 15«Е Напишите фрагмент кода на чг!зца! Ваз?с, добавляющий новую запись в на- бор записей оЦМуйесогд5еп Пусть имеется два поля, А и В, со значениями «АУа?це» и «ВЧа?це» соответственно. Корпорация М!сгозо?1 прилагает много усилий для продвижения стандартов О?.Е ??В и АЕ?О. Однако она не получает непосредственной прибыли от этих стандартов, П5 поставляется бесплатно в составе Чч'!пг?овгз ХТ и чгг!пг?ож 2000.
На сайте М?сгозой имеется множество статей в помощь разработчикам, и все это находится в свободном доступе. Как вы думаете, почему Мгсгозой это делает? Какая цель преследуется? В тексте А5Р-страницы в листинге 15.6 устанавливается динамический тип курсора. Какое воздействие зто окажет на обработку этой страницы и стра- ниц Сцз1огпег.азр и Агт!з1.азр? Как, по вашему мнению, должны быть заданы уровень изоляции, тип курсора и тип блокировки в приложении, вклю- чающем все эти страницы? она работала с источником данных Ч1ечгЙ!49еОгас1е.
Объясните, как следует изменить АЗР-страницу в листинге 15.2, чтобы она работала с источником данных Ч1ечгЙ!09е55. Хотя простота таких изменений представляет интерес с технологической точки зрения, является ли эта возможность сколько- нибудь важной в мире коммерции? в листинге 15.2. Теперь откройте 5Я?. Р1цз и удалите две строки из таблицы С05ТОМЕЙ с помощью 5О?.-оператора ОЕСЕТЕ. Снова запустите А5Р-страни- цу в браузере. Объясните полученные результаты.
53. Если вы установили 5Я?. 5егчег, запустите с похгоцгью браузера АЗР-страшсцу в листинге 15.1. Теперь откройте 5О?. Оцегу Апа!узег и удалите две строки из таблицы С05ТОМЕЙ с помощью 5Я?.-оператора ОЕСЕТЕ. Снова запустите А5Р-страницу в браузере. Объясните полученные результаты. Если вы ответили на вопрос 52, объясните различия в результатах, если таковые были.
Вопросы к проекту йгебцр Создайте базу данных УоцгР!ге4 с помощью Огас!е или 5О?. 5егчег, если вы еше не сделали этого. Следуйте указаниям в копне главы 12 или 13 соответственно. 1. Создайте АЗР-страницу, отображающую таблицу ГОРЕЛКА. 2. Создайте А5р-страницу, отображающую любую таблицу в базе данных Р!тех???р. За образец возьмите листинги 15.3 и 15А. 3. Создайте АЗР-страницу, позволяющую ввести данггые новой горелки. Обоснуйте ваш выбор уровня изоляции курсора. 4. Создайте А5Р-страницу, позволяющую клиенту зарегистрировать свою горелку. Обоснуйте ваш выбор уровня изоляции курсора.
5. Создайте хранимую процедуру, позволяющую ввести данные о ремонте горелки. 6. Создайте АЗР-страницу, вызывающую хранимую процедуру, которая была создана в предыдущем вопросе. За образец возьмите листинги 15.7 и 15.8. 40ВС 607 Глава 16 30ВС, дача Зегчег Раяев и МуЗОЕ, В этой главе обсуждаются альтернативы технологиям и продуктам М1сгозо?с— О?.Е РВ, АРО и ПБ. В частности, мы будем рассматривать !РВС, ?ача Бегчег Радев ()3Р) с использованием АрасЬе/Тошсас и СУБД под названием М БЯ1., В а б р зработке этих продуктов большую роль сыграло движение ореп эопгсе, и все у И они имеют открытые исходные тексты.
Фактически, для разработки всех примеров этой главы использовалось только программное обеспечение с открытыми текстами. Но наличие открытых исходных текстов не является обязательным для использования ?РВС: эту технологию можно применять также в Ъ'!пс!ож 2000 и других операционных системах для работы с 5Я?. Яегчег, Огас!е и другими распространенными СУБД. ?ЯР-страггицы и АрасйегТошсас тоже могут работать под ~Х?пг?оччз 2000.
Однако все примеры этой главы были разработаны и проверены с использованием ?4пих. Как вы можете догадаться, единственное требование при использовании ?РВС состоит в том, что программы должны быть написаны иа ?ача. Данная книга не предполагает знакомства читателя с программированием на ?ача, и нет необходимости понимать каждую строчку кода: целью должно быть понимание сути и возможностей представленных здесь технолопгй.
Если вы уже программируете на?ача, приведенные примеры должны побудить вас к созданию примеров более сложных и реалистичных. В любом случае, по прочтении этой главы вы будете способны сравнить возможности ОРВС, АРО и АБР с )РВС и ?ЯР. 40ВС Для начала заметим, что, несмотря на утверждения многих источников, ?РВС не означает ?ача РасаЬаэе Соппесбч!су. По утверждению компании Бцп, изобретателя !ача, ?РВС вЂ” это вообще не аббревиатура, а просто !РВС. Остается только догадываться, какие правовые или личностные конфликты стоят за этим утверждением.
Драйверы ?РВС существуют почти для всех мыслимых СУБД. Корпорация лип поддерживает каталог этих драйверов на своем сайте по адрес ЬСС:/ у р: )ача.зип.сонг/ргодисСэ/)4йс. Некоторые драйверы являются бесплатными, и почти у всех есть ознакомительные версии, которые можно свободно использовать в течение ограниченного периода времени. Драйверы ?РВС, взятые при подготовке этой главы, — это драйверы МузЯ?. с открытыми исходными текстами, разработанные Марком Мэтьюсом (Маг?с Масйеччз). Их можно загрузить по адресу ЬССр://чгог?йегчег.сояг/пгяг.гвузд1. Чтобы вы не приобрели вредные привычки, прежде чем продолжить, исправим одну потенциальную ошибку, Название СУБД Му5О?.
произносится «май зс-кью-эл», а не «май сиквел». Вряд ли это важно, но если вы хотите произвесттг впечатление, всегла говорите «май эс-кью-элю Типы драйверов Япп определяет четыре типа драйверов. Драйверы первого типа представляют собой мост от? Р ВС к ОРВС. Они обеспечивают интерфейс между )ача и обычными драйвераьги ОРВС. Большинство драйверов ОРВС написано на С или С+«. По причинам, которые не важны для нас здесь, между ~ача и С/С++ существует определенная несовместимость.
Драйверы ?РВС-ОРВС устраняют эту несовместимость и позволяют обращаться к источникам данных ОРВС избача, Поскольку использование ОРВС было описано нами в предыдущей главе, первый тип драйверов мы далее рассматривать ие будем. Драйверы типов 2-4 написаны полностью на ?ача и отличаются только способом соединения с СУБД. Драйверы типа 2 соединяются с СУБД через «родные» интерфейсы — например, обращаются к Огас1е с использованием станлартного (не ОРВС) программного интерфейса Огас!е. Драйверы типов 3 и 4 предназначены для использования в сетях связи. Драйвер типа 3 транслирует вызовы ?РВС в независимый от СУБД сетевой протокол. Этот протокол затем преобразуется в сетевой протокол конкретной СУБД.