Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009
.pdf524 |
Часть 3. Современные |
СУБД и их |
применение |
28.Охарактеризуйте права доступа к объектам и опишите технологию их задания.
29.Охарактеризуйте способы организации взаимодействия клиент-сервер при подготовке запросов к базе данных на сервере.
30.Опишите создание источника данных при использовании технологии ODBC.
31.Как осуществляется подключение баз данных с помощью ODBC?
32.Выполнить разработку БД и приложения для работы по технологии клиент-сервер:
• создать БД в среде персональной СУБД Access или Visual FoxPro;
•выполнить перенос персональной БД на MS SQL Server с помощью Upsizing Wizard (Мастер «наращивания»);
•разработать запросы к данным сервера со стороны клиентской части (СУБД Access или Visual FoxPro), используя интерфейс ODBC.
Литература
1.Артемов Д., Погульский Г. Microsoft SQL Server 7.0: установка, управление, оптимизация. — М.: Издательский отдел «Русская редакция» ТОО @Channel
Trading Ltd. - 1998. - 488 с.
2.Винкоп С. Использование Microsoft SQL Server 7.0 Специальное издание / Пер. с англ. — К.; М.; СПб.: Издательский дом «Вильяме», 1999. — 816 с.
3.Гарсиа М. Ф., Pedum Дж., Уолен Э., ДеЛюк С. A. Microsoft SQL Server 2000. Справочник администратора. - М.: СП ЭКОМ, 2004.
4.Горев А., Макашарипов С., Владимиров Ю. Microsoft SQL Server 6.5 для профессионалов. — СПб.: Питер, 1998. — 446 с.
5.Дженнингс P. Microsoft Access 97 в подлиннике. Том II / Пер. с англ. — СПб.: БХВ-Санкт-Петербург, 1997. - 688 с.
6.Дибетта П. Знакомство с Microsoft SQL Server 2005. - М.: Русская Редакция, 2005.
7.Мамаев Е.В. Администрирование MS SQL Server 7.0. — СПб.: БХВ-Санкт-Пе- тербург, 2000. - 496 с.
8.Мамаев Е.В. Microsoft SQL Server 2000. - СПб.: БХВ-Санкт-Петербург, 2001. - 1280 с.
ПУБЛИКАЦИЯ БАЗ ДАННЫХ В ИНТЕРНЕТЕ
1 4 . В в е д е н и е в т е х н о л о г и и п у б л и к а ц и и
Дальнейшее развитие технологий Интернета и СУБД предоставляет дополнительные возможности по использованию информационных ресурсов сети Интернет. Одним из способов электронного представления данных во всемирной сети является публикация баз данных в Интернете, позволяющая размещать информацию из баз данных на Web-страницах сети.
Публикация баз данных в Интернете может потребоваться для решения перечисленных ниже задач, возникающих перед разработчиками программ-
ного обеспечения всемирной |
сети. |
• Организация взаимосвязи |
СУБД, работающих на различных платформах. |
Существует множество информационных систем работающих на различных платформах. Задачи организации их взаимодействия могут возникать при обеспечении различных видов информационного обмена между этими системами.
• Построение информационных систем в сети Интернет на основе многоуровневой архитектуры БД. Архитектура таких систем включает дополнительный уровень (Web-сервер с модулями расширения серверной части), реализующий возможность информационного обмена и публикации БД в глобальной сети.
• Построение локальных |
интранет-сетей на основе технологии публи- |
кации БД в Интернете. |
При этом локальные сети строятся на прин- |
ципах Интернета с наличием при необходимости выхода в глобальную сеть.
• Использование в Интернете информации из существующих локальных сетевых баз данных. Эти задачи возникают при необходимости опубликования в глобальной сети информации из локальных сетей Интранет.
•Применение БД для упорядочивания, каталогизирования информации. Огромный объем информации, представленной в Интернете, не обладает требуемой степенью структурированности, что делает весьма сложным
идолгим процесс поиска необходимой информации.
•Применение языка SQL для поиска необходимой информации в БД.
526 |
Часть 4. Публикация |
баз данных в Интернете |
•Использование средств СУБД для обеспечения безопасности данных, разграничения доступа и управления транзакциями при создании Ин- тернет-магазинов, защищенных информационных систем и т. д.
•Стандартизация пользовательского интерфейса на основе применения обозревателей Web с типовым внешним видом и типовой реакцией на действия пользователя.
•Использование обозревателя Web в качестве дешевой клиентской про-
граммы для доступа к БД.
Размещение информации из БД во всемирной сети стало возможным в связи с развитием технологий Интернета. В следующем разделе рассматриваются важнейшие элементы Интернет-технологий, являющиеся основой для разработки Web-приложений.
14.1. Основы Интернет-технологий
В Интернете вся информация размещается на Web-страницах, написанных на языке HTML (в этом случае имеем HTML-страницы) или его расширениях, таких как D H T M L (Dynamic H T M L — динамический HTML) и XML (extensible Markup Language — расширяемый язык разметки). В содержимое Web-страницы может входить текстовая информация, ссылки на другие Web-страницы, графические изображения, аудио-, видеоинформация и другие данные. Эти страницы хранятся на Web-cepBepe.
Для доступа к Web-страницам используются специальные клиентские программы — обозреватели Web (программы просмотра, или броузеры — от англ. browser), находящиеся на компьютерах пользователей Интернета. Обозреватель формирует запрос на получение требуемой страницы или другого ресурса с помощью специального адреса URL (Universal Resource Locator — универсальный указатель ресурса). Этот адрес определяет тип протокола для передачи этого ресурса, имя домена, используемое для доступа к требуемому Web-узлу, номер порта (порт — логический канал связи, номера определяются стандартами Интернета), локальный путь к файлу и дополнительные аргументы.
В функции Web-обозревателя входит отображение Web-страниц, которые формирует Web-cepeep. При этом Web-обозреватель устанавливает соединение с требуемым Web-узлом, используя протокол передачи данных HTTP.
Для расширения возможностей клиентской части (обозревателя) и серверной части создаются программы расширения обозревателя и сервера. Схема взаимодействия обозревателя и сервера с использованием программ расширения приведена на рис. 14.1.
528 Часть 4. Публикация баз данных в Интернете
Заданная часть сценария может исполняться во время загрузки Web-доку- мента, а часть сценария, реализованная, как правило, в виде функции, может выполняться в ответ на действия пользователя. Использование того или иного языка сценариев определяется типом применяемого обозревателя.
JavaScript представляет собой объектно-ориентированный язык с С-по- добным синтаксисом. Сценарии на языке JavaScript используются в обозревателе Netscape Navigator, а сценарии на языке JScript используются в обозревателе Internet Explorer. Лексика и синтаксис этих языков практически идентичны, отличия заключаются в используемых объектных моделях обозревателей (совокупностях элементов, их атрибутов и событий Wcb-документа). В обозревателе Internet Explorer дополнительно поддерживается язык сценариев VBScript, по возможностям функционально эквивалентный языку JScript, но более простой в освоении. Этот язык наиболее часто используется программистами, имеющими опыт работы с Microsoft Visual Basic.
Сценарии могут применяться как расширение обозревателя (клиентское расширение) или как расширение сервера. В случае клиентского расширения сценарии находятся в Web-документе и применяются для создания динамических эффектов при просмотре Web-страницы. На стороне сервера сценарии используются при динамическом создании Web-документов в ответ на запрос пользователя. Для уменьшения нагрузки на Web-cepeep часть функций, связанных с предварительной обработкой запросов и введенных данных, целесообразно выполнять на стороне клиента (в Web-обозревателе). В этом случае выделяют активность на стороне клиента. Клиентская активность может быть осуществлена и другими средствами (апплеты Java, элементы управления ActiveX).
Элементы управления ActiveX
Элементы управления ActiveX представляют вид модулей расширения, который может использоваться на стороне клиента или на стороне сервера. Они реализуются с помощью динамических библиотек DLL и могут быть встроены в Web-документ как дополнительные интерфейсные элементы. Механизм работы элементов управления ActiveX позволяет из программного кода этих объектов получать неограниченный доступ к локальным ресурсам компьютера пользователя. Из элемента управления ActiveX имеется возможность передавать на сервер любую информацию с компьютера пользователя. Поэтому использование этих элементов на стороне клиента не всегда оправдано в сети Интернет с точки зрения обеспечения безопасности данных.
В коде объектов ActiveX имеется потенциальная возможность наличия вируса. Если загрузить такой объект, то компьютеру клиента в принципе может быть причинен вред. Для частичного устранения этого недостатка ком-
14. Введение |
в технологии |
публикации |
529 |
пания Microsoft добавляет в свои коды цифровую подпись (signing), которая обозначает, что данный объект создан надежной компанией. При этом обозреватель Internet Explorer, используя такой объект, выдает предупреждающее сообщение с предоставлением возможности пользователю отменить выполнение кода этого объекта. Этот механизм предназначен для идентификации модулей ActiveX и не устраняет возможность заражения вирусом компьютеров пользователей, использующих объекты ActiveX.
Кроме того, при загрузке текущей Web-страницы, если на ней используются новые элементы управления ActiveX, для их активизации требуется сначала их скачать и установить. А это нарушает принцип универсальности обозревателя. По этим причинам более предпочтительно использовать элементы управления ActiveX на стороне сервера для наращивания его возможностей.
Апплеты и сервлеты Java
Апплеты Java применяются для создания динамически формируемого интерфейса пользователя. Язык Java является объектно-ориентированным языком с синтаксисом, похожим на синтаксис языка С++. Однако возможности языка Java по доступу к локальным ресурсам пользователей сильно урезаны, что делает его безопасным для использования в сети. Апплеты предназначены для выполнения на любых платформах. Их код интерпретируется виртуальной Java-машиной, входящей в состав обозревателя. Использование такого механизма гарантирует целостность локальных данных пользователей. Для использования апплета на Web-странице применяется специальный тег, позволяющий вставлять объект-апплет в любое место Wcb-документа. Сервлеты, в отличие от апплетов, выполняются на стороне сервера и служат для обработки запросов от обозревателя.
Интерфейсы CGI и WinCGI
Для создания модулей расширения Web-cepeepa могут использоваться интерфейсы CGI (Common Gateway Interface — общий шлюзовой интерфейс) или интерфейсы программирования API (Application Program Interface — интерфейс прикладного программирования).
Интерфейс CGI является стандартным протоколом взаимодействия между Web-сервером и модулями расширения, которые могут применяться для выполнения дополнительных функций, не поддерживаемых сервером. Например, такие модули используются для обработки получаемой от пользователя информации, для динамического формирования Web-документа, публикации БД на Web-странице и т. д.
Интерфейсу CGI соответствуют обычные консольные приложения операционной системы DOS. Обмен информацией между сервером и модулем расширения осуществляется с помощью стандартного потокового
530 |
Часть 4. Публикация |
баз данных в Интернете |
ввода/вывода, передача управляющих параметров организуется через переменные окружения операционной системы или через параметры URLадреса модуля расширения. В качестве стандартных устройств ввода и вывода в среде DOS по умолчанию используются клавиатура и терминал (монитор) соответственно. В этом случае вывод на стандартное устройство перенаправляют в буфер, из которого данные с помощью протокола HTTP отправляются Web-обозревателю.
Для запуска модуля расширения достаточно задать его URL-адрес в строке адреса обозревателя и начать загрузку документа. При получении запроса обозревателя к CGI-приложению сервер запускает это приложение и передает ему данные из командной строки запроса. CGI-приложение формирует ответ и помещает его в выходной поток (на стандартном устройстве вывода), затем сервер посылает этот ответ с использованием протокола HTTP обратно обозревателю. В случае параллельной обработки нескольких запросов сервер запускает отдельный процесс для обработки каждого запроса. Причем для каждого процесса создается копия модуля расширения в памяти компьютера, на котором находится Web-сервер. Поэтому недостатками этого протокола является невысокая скорость обработки запросов и повышенная загрузка Web-cepBepa.
Существует адаптированный вариант общего интерфейса для среды Windows 3.1 — WinCGI. Этот интерфейс отличается от интерфейса CGI тем, что управляющие параметры передаются через INI-файл, а входной и выходной потоки данных перенаправлены в специальные файлы. В остальном механизм взаимодействия с сервером аналогичен механизму, используемому интерфейсом CGI.
Замечание.
Используется также интерфейс FastCGI, который близок к интерфейсу CGI, но в то же время обладает преимуществами интерфейсов ISAPI/NSAPI (рассмотрены ниже). Приложения, написанные в соответствии с ним, запускаются как отдельные изолированные процессы, но являются постоянно активными и не завершаются после обращения к данным, как CGI-сценарии.
Интерфейсы ISAPI/NSAPI
Более перспективными являются интерфейсы ISAPI/NSAPI (Internet Server API/Netscape Server API), разработанные фирмами Microsoft и Netscape соответственно. Они также предназначены для разработки дополнительных модулей расширения Web-сервера. В случае их использования модули расширения реализуются в виде библиотек DLL. Запуск модуля расширения выполняется сервером в ответ на запрос обозревателя на загрузку URL-адре- са этого модуля. Взаимодействие между сервером и модулем расширения осуществляется с помощью специальных объектов (Request, Response). Сервер передает параметры запроса модулю расширения и получает сформирован-
14. Введение |
в технологии |
публикации |
531 |
ный Web-документ, который передается с помощью протокола HTTP обозревателю.
При многопользовательском режиме работы сервера загрузка IS API-мо- дуля расширения (библиотеки DLL) происходит один раз при первом обращении. При обработке сервером последующих запросов к модулю расширения сервер использует уже загруженный экземпляр динамической библиотеки. Такой механизм взаимодействия сервера и модуля расширения обеспечивает экономию ресурсов сервера и увеличение скорости обработки запросов. Однако при возникновении ошибок в коде модуля расширения сам Web-cepeep аварийно завершит работу (в отличие от интерфейса CGI, при использовании которого в случае возникновения ошибки в модуле расширения сервер может продолжать нормально функционировать). Поэтому для отладки модулей расширения, реализуемых с помощью интерфейса ISAPI, создают аналог модуля на основе интерфейса CGI. При успешной его отладке создают и отлаживают вариант модуля расширения на основе ISAPI.
ASP, РНР и ЮС/НТХ-страницы
ASP, PHP u IDC/HTX-страницы — это специальный тип страниц, используемых для динамического формирования на сервере Web-страниц, содержащих информацию из БД.
IDC-страница содержит алиас (псевдоним) БД, или системную запись, используемую операционной системой для связи с базой данных) БД, SQLзапрос к базе данных, идентификатор пользователя и пароль для доступа к БД. НТХ-страница содержит HTML-шаблон, определяющий какую информацию и в каком формате будет иметь результирующий файл. Этот файл поддерживает все теги языка HTML и дополнительные теги для размещения информации из БД.
Активная серверная страница ASP (Active Server Page) содержит одновременно HTML-шаблон и SQL-запрос к БД. В ASP-странице используются средства языка JScript и объектная модель ASP, с помощью которых организуется доступ к БД и формируется внешний вид создаваемой Web-страницы. В ASP-страницах, также как в IDC-страницах, поддерживаются все теги языка HTML и используются дополнительные теги для размещения кода на языке JScript.
PHP-страницы разрабатываются с помощью одноименного языка обработки сценариев PHP (Personal Ноше Page tools — средства персональных домашних страниц). Синтаксис языка РНР напоминает смесь синтаксиса языков программирования С, JAVA и Perl.
ASP, РНР и IDC/HTX-страницы обрабатываются Web-сервером, в результате сервер генерирует Web-страницу, содержащую информацию из БД, которая отсылается обозревателю. Рассмотрим процесс формирования Webстраниц, содержащих информацию из БД.
532 |
Часть 4. Публикация |
баз данных в Интернете |
Формирование Web-страниц
В Интернете информация находится на Web-узлах, на которых для организации взаимодействия с пользователями сети устанавливается специальное программное обеспечение, в том числе Web-cepeep. В функции Web-cep- вера входит обработка запросов Web-обозревателей пользователей сети. В результате обработки запроса сервер формирует Web-документ, который отсылается Web-обозревателю в формате протокола HTTP.
Самостоятельно Web-cepeep может отсылать готовые Web-страницы и формировать динамически Web-страницы различными способами. Для формирования динамической Web-страницы, содержащей информацию из БД, дополнительно используются модули расширения серверной части (рис. 14.1).
Всвязи с этим различают пассивное и активное состояния Web-cepBepa. Так, Web-cepeep находится в пассивном состоянии, если формируемый им документ содержит статическую текстовую, графическую, мультимедийную информацию и гиперссылки. В таком документе отсутствуют средства ввода
иобработки запросов к серверу.
Вслучае, когда на Web-странице находятся интерфейсные элементы, которые могут в ответ на реакцию пользователя обращаться с запросами к серверу, то сервер переходит в активное состояние. Для публикации БД основной интерес представляет активный Web-сервер, который реализуется с помощью программных расширений. Для создания программных расширений Web-cepeepa, формирующих на Web-страницс содержимое БД, используются следующие средства:
• консольные ехе-программы, использующие интерфейс CGI;
• ехе-программы, использующие интерфейс WinCGI;
• динамические библиотеки, использующие интерфейс ISAPI ;
• динамические страницы IDC/HTX;
• активные серверные страницы ASP.
Кроме того, для организации связи программных расширений Web-cepee- ра с БД используются современные интерфейсы доступа к данным OLE DB, ADO и ODBC. Эти интерфейсы являются промежуточным уровнем между источником данных и приложением, в качестве которого выступают программные расширения Web-cepeepa.
Интерфейсы OLE DB, ADO, ODBC
Современные интерфейсы доступа к источникам данным OLE DB, ADO, ODBC, внедряемые фирмой Microsoft, существенно отличаются от предшествующих интерфейсов, подобных ODBC.
Интерфейс ODBC (Open Database Connectivity — совместимость открытых баз данных) применяется операционной системой для доступа к источникам данных, как правило, к реляционным БД, использующим структурированный язык запросов SQL для организации управления данными.