Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009

.pdf
Скачиваний:
4972
Добавлен:
14.05.2016
Размер:
14.64 Mб
Скачать

13. Microsoft SQL Server 2000

523

Контрольные вопросы и задания

1.Перечислите основные нововведения в MS SQL Server 2000 и поясните в чем их суть.

2.Назовите службы MS SQL Server 2000 и опишите их функции.

3.Каковы режимы работы MS SQL Server 2000?

4.Какие имеются инструменты в составе MS SQL Server 2000 и для чего они предназначены?

5.Назовите варианты поставки MS SQL Server 2000 и требования, предъявляемые к аппаратному и программному обеспечению.

6.Охарактеризуйте понятия домена и рабочей группы.

7.Дайте общую характеристику языку запросов Transact-SQL.

8.Поясните способы задания операторов Transact-SQL.

9.Укажите назначение и дайте краткую характеристику системным базам данных MS SQL Server 2000.

10.Для чего предназначен каталог баз данных и системный каталог?

11.Каким образом может быть выполнено создание базы данных пользователем?

12.Назовите способы создания таблиц в MS SQL Server 2000.

13.В чем разница в создании и использовании локальной и глобальной временных таблиц?

14.Охарактеризуйте типы данных MS SQL Server 2000.

15.Поясните способы создания таблиц.

16.Назовите правила неявного присваивания значения полю.

17.Как осуществляются добавление данных в таблицы и выборка данных из таблиц?

18.Охарактеризуйте типы индексов таблиц MS SQL Server 2000.

19.Какие рекомендации нужно учитывать при выборе столбца для создания индекса?

20.Опишите создание индекса с помощью программы SQL Server Enterprise Manager.

21.Каким образом выполняется добавление и удаление ключей?

22.Охарактеризуйте хранимые процедуры; поясните, в чем состоит достоинство их применения.

23.Назовите и охарактеризуйте типы хранимых процедур, различаемые по области видимости.

24.Как осуществляется создание, использование и удаление хранимых процедур?

25.Что представляют собой триггеры, как они создаются?

26.Как соотносятся стандартный и интегрированный режимы защиты?

27.Дайте характеристику понятий учетной записи, записи пользователя и роли.

524

Часть 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.

14. Введение

в технологии

публикации

программа

программа

расширение обозревателя

расширение сервера

527

HTML

 

Ж

 

адрес UffT

\Л/еЬ-обозреватель

Web-cepeep

4 HTML-документ

 

Интернет или интрасеть

компьютер пользователя

сервер

Рис. 14.1. Схема взаимодействия обозревателя и сервера

При организации такого взаимодействия могут использоваться следующие средства:

• сценарии, подготавленные на различных языках сценариев (JavaScript, JScript и VBScript) и вставленные в обычный Web-докуменг;

апилсты и сервлеты Java;

элементы управления ActiveX;

консольные ехе-программы, реализованные с использованием интерфейса C G I ;

• ехе-программы, реализованные с использованием интерфейса WinCGI;

динамические библиотеки, реализованные с использованием интерфейса ISAPI;

динамические страницы IDC/HTX;

активные серверные страницы ASP;

персональные домашние страницы РНР.

Дадим краткую характеристику каждого из названных средств.

Сценарии JavaScript, JScript и VBScript

Сценарии, написанные на языках JavaScript, JScript или VBScript, используют для динамического управления интерфейсными объектами (компонентами) Web-докумснта. Эти языки являются языками интерпретируемого типа (код выполняется в процессе интерпретации). Интерпретация и выполнение сценариев осуществляется обозревателем или сервером. Сценарии являются расширением языка H T M L и могут включаться в тело Web-докумснта.

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 для организации управления данными.