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

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

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

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

Эта версия Оепега(ТаЫе обрабатывает базу данных Жг!ечч В!с(яе для 5О) Яегчег, Имена суррогатных ключей в ЯЯ) Зегчег представлены в виде Агс!а110, а не АВТ15Т10. Поскольку сравнения строк в ч!ВБсг1рг чувствительны к регистру букв, нам нужно убедиться, что переменная чагКеуйаве содержит имя суррогатного ключа в требуемом формате. Пользователь мог ввести АЙТ15Т, аг(1ай Аг(!а( или, скажем, ай11эТ, поэтому мы не можем просто присоединить буквы 10 к введенному имсни таблицы.

Три оператора, начннаюшиеся с чагКеуйавеЕ1гас, используют функции ОСаае и ЕСаае для придания правильного формата значению чагКеуйаве. Оставшаяся часть этой страницы имеет тот же вид, что и на странице Сл1огпег. аар, показанной в листинге 15.2. Снова обратите внимание, что в переменную чагКеуйаве будет записано имя суррогатного ключа Аг(!аб10, значения которого мы не хотим выводить. Пример 4 — обновление таблицы Во всех трех предыдущих примерах рассматривается чтение данных. Следующий пример демонстрирует обновление данных в таблице средствами А1)О путем вставки новой строки. На рис.

15,12, а показана форма, в которую вводится имя и национальность художника. Эта страница аналогична Ч(е»чй!ОйеТаЫеюаар, только в ней имеется два поля ввода вместо одного. Когда пользователь нажимает кнопку 5аче йе»ч Аг(111 (Зарегистрировать нового художника), запись о художнике добавляется в базу данных, и если результат является успешным, выводится страница, представленная на рис.

15.12, 6, Ссылка 5ее Че»ч Е(эб (Просмотр обновленного списка) вызывает страницу Аг()з(.аар, которая выводит содержимое таблицы АМТ15Т с новой строкой, как показано на рис. 15.13. Примеры использования АОО 593 Рио. 5.13. Вид таблицы АЯТГВТ ГОИМ МЕТНОО-"роз!" АСТ!ОИ-"АООАгс Ь.А5Р- лродолх<ониеФ 592 Глава 15. ООВС, ОЕЕ ОВ, АОО и АЯР б Рис.

15.12. Добавление данных в таблицу АИТ18Т: в — форма для ввода данных; б — страница сообщения об успешной вставке Тексты соответствующих АЯР-страниц приведены в листингах 15.5 и 15.6. Первая страница представляет собой форму для ввода данных с двумя полями, в одно из которых вводится имя художника (поле Иап1е), а в другое — его национальность (поле ИаВоп). Когда пользователь нажимает кнопку 5цЬщ!Ь (Подтвердить), эти данные посылаются обратно ПЯ, которая, в свою очередь, передает их вместе со страницей АбдАг(!1(.азр А5Р-обработчику. Листинг 15.5.

Вставка данных с помощью МешЯ/11щ.азр <НТМЕ> <НЕАО> <МЕТА НТТР-ЕОО1Ч-"Соптепе-Туре" СОИТЕИТе "Ьех(/ЬТв1;сйагзее~<1пбона-1252"> <Т!ТСЕ>Иев АИТ15Т Ептгу Гога</Т!ТЕЕ> </НЕАО> <ВОВУ> <Р 5ТВОИВ ГОНТ со)о =р р)е Тасе="" в! е=5>АпЬзр;КпЬзр; Иен Агт1зт Оаеа Гога</ГОИ1></5ТИОИБ> <Р></Р> <Р>$позр;</Р> ГОНТ тсу)е-"ВАСКВИООИО-СОСОИ. 1)ТТГГТГ" ГОНТ со)о =Гогез1дгееп Тасе="" 11у1е="ВАСКБИООИО-СОСОИ: (/ГТГТГГ>Аг11зс Иаве:</ГОИТ>ЕпЬзр:Апозр:$пЬзр;5позр:АпЬзр.

<!ИРОТ !с=бек! 1 паве=иаае 11у1е="НЕ!СНТ 22рх; И1ОТН: 164рх"></ГОНТ></Р> <Р><ГОИТ со!ог=гогезтдгееп Гасе="" 51у1е="ВАСКОИООИО-СОСОК: ФТГТТГТ ">Иа11опа111у Гптазр, Ъпоар: КпЬзр: КпЬзр, ВпЬзр; КпЬзр; Впозр, !ИРОТ 1с-Ьех(2 паве=Мат!оп агу)е=-НЕ1ВНТ: 22рх; и!ОТН: 15/рх- /ГОНТ /Р 594 Глава 15.

ОВВС, ОСЕ РВ, АОО и АВР Примеры использования АОО 595 Листинг 1 В.В (продолжение) Р Впь р;./Р <Р><ГОНТ зту1е "ВАСКВВООИО-СОСОй; ()ТГ(ТГГ'> <1ИРОТ зб=звЬвз11 паве=звЬи(С1 Суре звбвзС ча1ве="5аче Иен Агетз(">аноар;Йпбзр:Впозр; <1ИРОТ зб=гезеС1 паве=гевет) туре-гезеС ча1ве="йезет уа1вез"></ГОИТ>«/Р> </ГОВМ> </ВООУ> </НТМ!> Листинг 16.6. Вставка данных с помощью Аббдгйьч,аэр <НТМС> <НЕАО> МЕТЯ НТТР-ЕОО)Ч=-Соптепт-туре" СОИТЕИТ--Сехе/Птв);сбагзеб=итпбоив-1252" <Т1ТСЕ>Ябб АВТ15Т Ехая)р1е</Т1ТСЕ> </НЕАО> <ВООК> <!--()1пс1вбе ч1гтва1="Ч1еий160еЕхавр1е/абочбз.тпс"--> <$ О!в оЬОСопп.

оЬбйесогб5ет. оЬОГ1е16 01в чагнвя)Со)з. чаг1, чаг5о! 5ет оЬОСопп = 5егчег,СгеатеОЬбесС ("АОООВ.саппесС(оп") оЬОСопп.орел Гузеийзбде55", "за" ' открнваеи как пользователь за оЬОСопп,1зо)а11опСече1 = абХастйеабСоия1ССеб ' избегаем «грязного» чтения чаг5О1 = "5ЕСЕСТ * РВОМ (Яйт15Т]" 5еь оЬбйесагб5ет - 5егчег.СгеаьеОЬ)есь ("ЯОООВ.йесогбзеь" ) ' В спедующек операторе обратите внинание на использование типов курсора и бпокировок оЬ)йесогб5еС.Орел чаг5о1. оЬОСопп, аббрепОупав1с, абСосХОртти1зьзс оЬбйесогб5еС,АббИеи оЬЗйесагб5еС ("Агт(зтйаязе") - йеавезС.Гоги ("Иаве") аЬ)йесогб5ет ("Иа(топа11ту") = йее(везС.Гогяз ("Иат(оп") обзйесогб5ее.Орбате Оп Еггог йезвязе Мехе чагЕггогСовпь - аЬЗСопп.Еггогз.СоопС 1Т чагЕггогСовпе > О ТПеп Гог чаг1 = О Со чагЕггогСовпе — 1 йевропзе.Иг1Се "<Вй><1>" $ оЬ)Сопп.Еггогз (чаг1).0езсг1рт(оп В "</!><Вй>" Иехт Епб 1Г оЬбйесогб5еС.С1оз оЬОСопп,С1озе йезропзе.Иг1те "<Вй>0аеа Паз Ьееп аббеб.

Тпапк уов!<Вй>" йевропзе. Иг)Се "<А НВЕГ="$ """" $"агь1з( -азр" $ """"В ">5ее Иеи Стет</А>" х> «Вй><ВВ> </ВООУ> </НТМС> Страница А66Агс(зе.авр (показана в листинге 15.6) создает объекты Соппесбоп и йесогбзе(. При этом не делается попыток сохранить указатели на эти объекты в сеансовых переменных.

(Предполагается, что за один сеанс будет добавлен только один художник, поэтому сохранение не потребуется.) Если указатели все-таки нужно сохранить, это можно сделать по аналогии с предыдущими примерами. Основная отличительная особенность данной страницы заключается в следующих операторах: оЬЗйесогб5ет. Аббйеи оозйесогб5ет("Иаве")=йеаиезС.Гопв("Иаязе") обзйесагб5еС("Иаетопа11ту")=йецвезС.Гог)я("Иаь1оп") обзйесогб5еС.Врбате Первый оператор создает новую строку в объекте оЬ) йесог65еб Затеы в нее записываются значения полей Маше и Иае(опайу, считанные из формы. Обратите внимание, что имена столбцов не обязаны совпадать с именалти полей формы.

Здесь второй столбец называется Иае(опайу, а значение поля формы — Иаеоп. Вызов функции оЬ)йесог65ес.Орбасе производит обновление базы данных. Обратите внимание на код обработки ошибок, который выводит сообщения об ошибках с помотцью оператора йевропве ))/пее (этот метод принадлежит встроенному АЗР-объекту йезропзе). Завершается страница двумя вызовами этого же метода, первый из которых отправляет пользователю подтверждающее сообщение, а второй создает ссылку на страницу Агс(зцавр, перейдя по которой, пользователь может увидеть таблицу с новыми данными. Пример 5 — вызов хранимой процедуры Мы создали две версии хранимой процедуры Святоше( 1пзепз одну для Огас!е, другую для 5Д(.

Зегчет (в главах 12 и 13 соответственно). В обоих случаях хранимая процедура принимает в качестве параметров имя нового клиента, код региона, местный номер телефона и национальность художников, рабатами которых интересуется данный клиент. Процедура создает новую запись в таблице С05ТОМЕй и добавляет соответствующие строки в таблицу пересечений.

Чтобы вызвать хранимую процедуру из А5Р-страницы, мы создадим тче!» форму (рис. 15.16), в которую будут вводиться данные клиента. Когда пользователь нажмет кнопку Абб Сввсошег (Добавить клиента), будет вызвана АЗР-страница, которая, в свою очередь, вызовет хранимую процедуру, передав ей данные из формы. Чтобы пользователь мог убедиться, что данные были добавлены корректно, АЗР-страница затем запросит представление, соединяющее имена клиентов с именами и национальностями художников. Результат представлен на рис. 15.15. Примеры использования АОО 597 596 Глава 15.

ООВС, ОСЕ ОВ, АОО и АВР Рис. 15.14. Форма для ввода данных о хпиенте Рис. 15.16. Вид соединения таблиц СПЗТОМЕЯ и АЯТ1ВТ В листинге 15.7 показан код формы для ввода данных. Полям ввода даны имена 1ех11-Тех!4. Когда пользователь нажимает кнопку Абб Сиаьогпег, данные из формы передаются указанной в операторе ЕОйМ МЕТНОО АВР-странице Сиатогпег1пзегтОгас!е (листинг 15.8). Листинг 15.7.

Вызов хранимой процедуры с помощью НеттСив1оптегОгас!е,азр <НТМС> <НЕАО> сМЕТА НТТР-Е001Ч "СоптепС-Туре" СОМТЕМТ-"техт/Ьтв1 ;соагзет м)пбонз- 1252"> <Т!ТЕЕ>Таь)е Отзр1ау Рога</Т1ТЕЕ> </НЕАО> <ВООЧ> <РООМ МЕТНОО-"Роет" АСТ!ОИ="Сиатовег1пзегтОгас1е.А5Р"> <Р><51хОМО><ЕОНТ со1ог=ригр1е Тасе="" з1ге-5>бпьар;бпьзр: Ч1ен й1бде Оа11егу</ЕОМТ></5ТРОМО> <Р>бпазр, бзпьзр; бпьзр,<зтгопд <Топь со1ог="ригр1е" Гасе в~ ее="5"> Мен Сизтовег Рогат</Топс /асгогд><Р /опт зту1е-"ЬасКдгоипб-со1ог: //ТХТТТЕ" со1ог="Тогеасдгееп" Тасе>бпьар.

Кпьар; бпьзр; Мане: бпозр; бобер: .//опт .РОЮТ асу)е="ВАСКОЕООМО-СОСОРс //ТТТТТТ">Епьар, бпьар: бпьар; бпьар; бпьзр, бпьзр, бпьар; бпьзр, бпьар; бльзр; бпьзр: бпьз р; бпьзр; бпьзр: бпьзр; бпьар; бпьзр: бпьар; бпьар; бпьар: бпьзр: апЬ р: бпазр; </ЕОМТ><1МРОТ 1бесехт! паае=техт1></Р> <Р>$пьзр;<Топь зту1е="Ьасхдгоипб-со1ог //1ттТТГ' со1ог="/огезтдгееп" Тасе>бпьар; бпьзр; бпьар;Агеасобе<топт зту1е="ЬасКдгоипб-со1ог: //ТТТТТ/-..бпЬ р; бпЬзр; бпозр ,</Топт бпЬар; бпоар; бпозр; апЬар: апЬ р; бпозр; бпьзр ,$пбзр; бпьар; бпьзр: бпьар; бпьзр; ьпьар: бпьзр; бпьзр: бпьзр: бпьзр: <//опт><1МРОТ 1б=сехг2 паве=тех12 атее="б" /Р> <Р><ТопС асу1е="Ьасхдгаипб-со1ог //ТТТТТТ" со1ог-"Тогеатдгееп" Тасе>бпьар: бпьзр; бпбзр.

Рлопе: бпьар; бпьар, бпьзр; аноар; бпьар, бпьзр: бпьзр; бпЬар: бпьзр; бпьзр: Впьзр: бпазр;бпьар; бпьар; бпьар: бпьар: бпьар: бпьар. 5пьзр: бпьар: бпьзр; бпьзр; бпьзр; бпьар; бобер;бпьзр; <//опт><!МРОТ тб-ТехЬЗ паве=тех13 зтге-"20">ьпьар; бпЬзр, ьпьар; бпьзр; $пьар; бпьар; апозр бпьзр; </Р> <Р>бпьзр: бпьзр; бпьар; <Топь зсу1е="ЬасКдгоипб-со)ог: //Т!ТТТГ' са1аг="!огез1дгееп" Тасе>иа1топа111у оТ Агт зтз: бпЬар; бпЬзр: </Топс бобер; апЬар; .!МРОТ тбееехьа ентехта зтге="1/"></р> продолжевяеФ 598 Глава 15.

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

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

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

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