Главная » Просмотр файлов » Теория и практика построения баз данных

Теория и практика построения баз данных (1088289), страница 133

Файл №1088289 Теория и практика построения баз данных (Теория и практика построения баз данных) 133 страницаТеория и практика построения баз данных (1088289) страница 1332018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Изиенений не произведено."): гз, с)оде () ; зтвг. с1озе () : оопп. с1озе (): геьигп; // Можно добавлять новые данные чаг50 = "1И5ЕИТ 1ИТО С05ТОМЕй (Иаве. АгеаСобе, РлопеИивЬег)"; чаг501 = чаг50С + " ЧАСОЕ5 ('" ш чагнаве чаг50С = чаг5ОС + чагАгеаСобе + "', '"; чаг50С = чаг50Е + чагЕоса)Иивбег + "')"/' тп1 гези)т = з1вт.ехеситеОрбате (чаг50С): 1Т (геви)ь == 0) ( 5уятев сит ргтпт1п (" Ошибка при вставке"); гз.с1ояе () ; 51вт.с)озе () сопл.с1озе (): геьигп; // Обновление прошло успешно; теперь нужно добавить строки в таблицу // пересечений.

Для этого получаеи идентификатор нового клиента чаг50С = "5ЕЕЕСТ Сизтовег10" + чагшбеге; гз = в1вт.ехесисеОиегу(чаг50С) : 5тг1пд чагС(г1 ="": ыб11е (гя.пехт ()) чагС)б = гз.де151г)пд(1): 1Т (чагС)б == "0" ) 5узтев.оит.рг(п11п("Не удается найти идентификатор нового клиента") гз,с105е() // Теперь добавляеи строки в таблицу пересечений чаг50С = "5ЕЕЕСТ Аг11з110 ГНОМ АйТ15Т ЫНЕйЕ Иас)опа)1ьу = '" + чагна11опа)тьУ 5тг(пд чаг1пзег15ьаг1 = "1И5ЕИТ 1ИТО С05ТОНЕй АйТ15Т 1ИТ (Сизтовег10, Агттз110) ЧАСОЕ5 (" -++ чагС1б +". 51г1пд чаг1пяегтЕпб = ")"; гз - зтвт.ехеситеОиегу (чаг50С); 5увтев.сит.рг1п11п("Добавляются записи в таблицу пересечений для клиента" "+ чагСтб) . ыб()е (гз.пех1 () ) ( гези11 = зтвт.ехеситеОрбасе (чаг1пзегт5гаг1 + гв.дет51г1пд(1 ) + чаг(пзег(Епб) ; Как вы помните, зта процедура имеет четыре параметра: имя нового клиента, код региона, местный номер телефона и национальность всех художников, работами которых интересуется данный клиент.

Эти параметры принимаются процедурой гпа(п и передаются методу 1пвегЬОата. В принципе, метод 1пвегЬОа1а здесь не нужен: мы могли бы вместить все в один метод, как в предыдущем примере, Отдельный метод создается потому, что в следующем разделе мы будем преобразовывать его в класс (ача Ьезп. Это преобразование будет легче выполнить, если данный метод будет выделен. Сначала метод 1пзег(0ата загружает драйверы и создает строку соединения с базой данных чг1 для пользователя г))г1. Затем он производит проверку иа предмет присутствия записи о данном клиенте в базе данных, запрашивая из чг1 строки с заданным именем, кодом региона и номером телефона. Если такая строка находится, выводится сообщение, и набор строк, оператор и соединение закрыватотся.

В противном случае в таблицу С05ТОМЕй вставляется новая строка. Столбец Сия(ощег10, являющийся суррогатным ключом таблицы С05ТОМЕй, определен в базе данных ключевым словом АОТО 1ИСИЕМЕИТ. Таким образом, значение етого столбца задавать не требуется: СУБД МуЗЯТ задаст его сама. 618 Глава 16. ЮВС, зача Яеогег Радея и )ч)у80С дача Зешег Радея 619 Если вставка оказалась успешной, переменная гезий не должна равняться нулю; если это не так, значит, во время обновления произошла ошибка. В этом случае выводится предупреждающее сообщение и все объекты очищаются.

Если ошибок не произошло, значение Спягошег10 считывается из базы данных, а затем в таблицу С05ТОМВВ АВТ15Т 1НТ вставляются строки. Логика здесь весьма напоминает логику хранимой процедуры Сиятошег1пяегС в версии для Огас1е и 5Я1. 5егчег. На этом этапе переменная геяпсС не проверяется на нулевое значение; в более совершенной версии этой програмлгы такая проверка производилась бы. А если вы программируете на 1ача, то знаете, что все выводы сообнсений об ошибках и очистку объектов нужно выполнять с помощью исключений.

Здесь мы опустим обсуждение этих вопросов и сосредоточимся на том, что непосредственно связано с базами данных. Теперь, после краткого введения в 11)ВС, мы обсудим использование атой технологии в 1ача 5егчег Радея. дача Вегчег Раяев )ача дегчег Радея С.) 5Р) — это продукт, предоставляющий возможность создания динамических лчеЬ-страниц с помощью НТМ1., ХМ). и языка программирования 1ача. 1ача 5егчег Радея внешне очень походит на АсВче 5егчег Радея, но это сходство обманчиво, поскольку в основе этого продукта лежит совсем другая технология, 15Р и А5Р схожи в том, что в обоих случаях НТМ1. смешивается с программным кодом.

Но в АВР программирование ограничено сценарными языками, подобными л/Вдсг)рс нли 15сг)рс, а в )БР программирование осуществляется на 1ача и только на 1ача. Таким образолг, разработчик лчеЬ-страниц получает в свое распоряжение всю мощь полноценного объектно-ориентированного языка программирования. Поскольку Зача является машинно-независимым языком, 15Р-страницы также машинно-независимы. Используя З5Р, вы не ограничены рамками Ъл/спг)олчя 2000 и П5. Одну и ту же ЗВР-страницу можно запустить на сервере под управлением 1лпнх, Ъ%пг)озчя и других операционных систем. Официальную спецификацию 15Р можно найти по адресу Ьсср:/Дача.яцп.сов/ р го и н с С яД яр.

48Р-страницы и сервлеты 15Р-страницы преобразуются в стандартный язык 1ача и затем компилируются как обычные 1ача-программы. В частности, они преобразуются в сервлеты 1ача, то есть в подклассы класса НССр5егч!еС, Таким образом, код ЗВР-страницы имеет доступ к объектам, представляющим НТТР-запросы и их результаты, к их методам и другим функциям НТТР. Поскольку 15Р-страницьг преобразуются в подклассы сервлетов, в них не требуется создавать полноценные 1ача-классьг или методы. Вы можете просто вставлять фрагменты Зача-кода там, где пожелаете, а при синтаксическом анали- зе страницы они будут корректным образом помещены в подкласс сервлета.

Так, например, следующий фрагмент будет отлично работать в 15Р-странице без всякого дополнительного Тача-кода: <С 5Сг1пд рагСу/«аае="иариавал": рагСуйаае - раггуцаае.СодррегСаяе(); оиг.рг1пг!п ( Приходите иа иаш " + раггуца пе); 1> В рез льтате обработки этой части 15Р-страницы в окне браузера появится р у надпись «Приходите на наш КАРНАВАЛ». Кстати, обратите внимание, что )ача-код помещается между «<'/»» и «'/»», как и код на Т/Вдсгсрг или Здсгсрс в АВР-страницах. Чтобы использовать 15Р-страницы, лчеЬ-сервер должен поддерживать спецификации Зача яегч1ес 2.1+ и )ача Бегчег Радея 1.0«-.

Список серверов, поддерживающих эти спецификации, вы можете найти по адресу ьсср:/Дачалшп.сош/ргойисся/ яегч1еС/1п8цяСгу.ЬСшс Есть по крайней мере пять-шесть подходящих вариантов. В оставшейся части главы мы будем использовать для этих целей сервер р А ас1)е Топкас. Арас11е Тотса1 По состоянию на декабрь 2000 года лчеЬ-сервер АрасЬе не поддерживает сервлеты. Однако фонд Арас!ге и корпорация дцп выступили совместными спонсорами проекта 1акагса, в рамках которого был создан обработчик сервлетов под названием АрасЬе Тогпсас. Исходные тексты и двоичный вариант Тошсас можно найти на сайте проекта 1айагса по адресу Ьсгр://)айаца.арасйе.огд.

Тогпсас представляет собой обработчик сервлетов, который может работать в связке с АрасЬе или как автономный и еЬ-сервер. Возможности Тошсас как лчеЬ- сервера ограничены, поэтому в автономном режиме он обычно используется только для тестирования сервлетов и 15Р-странггц. В коммерческих приложениях Тошсас следует использовать совлгестно с АрасЬе. Если Тошсас и АрасЬе работают отдельно на одном лчеЬ-сервере, они должны использовать разные порты. По умолчанию для ччеЬ-сервера предназначен порт 80, и обычно АрасЬе использует именно этот порт.

Прп использовании Тошсас в автономном режиме для него обычно выделяется порт 8080, хотя номер порта, разумеется, можно изменить, В приведенных ниже примерах Топкас использует порт 8080. Этп примеры запускались в закрытой интрасети, где машине, на которой работал Тошсас, был присвоен 1Р-адрес 10.0.0.3.Таким образом, чтобы вызнать страницу яотераде)яр, в поле адреса браузера нужно ввести строку МСр://10.0.0.3:8080/яошераде,)яр. Настройка Тотса1 для обработки 48Р При установке Топкас для него будет создана структура каталогов, куда необходимо поместить библиотеки классов и лчеЬ-страницы. Для Тошсас версии 3.1 библиотеки классов следует помещать в каталог |пяеаймйг/ВЬ, а 1 5Р-страницы— 620 Глава 16..ЮВС, дача Яегчег Радев и МУЯОС Оача Яегчег Радев 621 в каталог !пз!а!1-6!г/ччеЬаррз/ВООТ/(ИЕВ-1И Р/с!аззез, где 1пзта!1-6!г — это каталог, в который устанавливается Топтсаг.

В Елппх утилита КРМ по укголчангно устанавливает Топтсаг в каталог /изг/!оса!/)аИаг!а-!овса!. Соответственно, библиотеки классов в этом случае нужно поместить в каталог /цзг/!оса!/)акагта-Гошсаг/ ВЬ, а ) ЯР-страницы — в каталог /изг/!оса(/)а!тат!а-!огпсас/чгеЬаррз/БООТ/ЗЕВ-1ИР/ с!аззек Если вы устанавливаете Топтсаг в другой операционной системе пли вообще устанавливаете другой обработчик сервлетов, стоит обратиться к документации.

Устанавливая файлы классов в подкаталог !1Ь, нужно иметь в виду маленькии нюанс: То~псас создает свой С(А55РАТН при запуске. Поэтому после того, как вы установите новый файл класса в каталог !1Ь, вы должны остановить и перезапустить Тошсац чтобы он смог увидеть этот файл. Если же вы просто скопируете новый файл в подкаталог ВЬ без перезапуска Тошсас, вы получите исключение С!азз по! Еоипд (класс не найден). (Поверьте мне, я знаю это...) Все приведенные ниже 15Р-страницы используют драйверы Му5(21. пт1плпуэч!.

Чтобы работа с этими драйверами стала возможной, необходимо поместить в подкаталог ВЬ библиотеку класса соответствующего драйвера. Для примеров этой главы использовалась библиотека ппп цпсогпр)аг. Па рис. 16.2 изображена схема процесса компиляции )ЯР-страниц. Полу щв запрос на обработку )ЯР-страницы, Тотсаг (или другой обработчик сервлетов) находит скомпилированную версию этой страницы и проверяет, является лц данная версия текущей. Для этого он ищет пекомпилированную версию страницы с более поздней датой и временем, чем скомпилированная страница. Если страница не является текущей (нашлась более поздняя некомпилированная страница), производится синтаксический анализ новой страницы, после чего она преобразуется в исходный )ача-файл, который затем компилируется.

Полученный сервлет загружается и выполняется. Если же скомпилированная !ЯР-страница оказывается текущей, то ова загружается в память и выполняется. Если ,!ЯР-страница уже находится в памяти, обработчик просто выполняет ее. (Между прочим, у такой автоматической компиляции есть один недостаток: если вы сделаете синтаксические ошибки и забудете протестировать свои страницы, то первый пользователь, обратившийся к этим страницам, получит сообщение об ошибках компиляции.) В отличие от С01-файлов и некоторых других ц еЬ-серверных программ, одновременно в памяти находится не более одной ) ЯР-страниггы.

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

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

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

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