Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЛАВА 1_1_1n.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
755.2 Кб
Скачать

Сетевые библиотеки

OLE DB-поставщик и ODBC-драйвер используют клиентскую сетевую библиотеку (Net-Library) для обмена данными с серверной сетевой библиотекой из состава SQL Server 2000. Обмен данными может выполняться как на одном компьютере, так и по сети. Сетевые библиотеки инкапсулируют запросы, которыми обмениваются клиентские компьютеры и серверы, для последующей передачи этих запросов в нижележащий сетевой протокол. Обмен данными может осуществляться с шифрованием по протоколу Secure Sockets Layer (SSL). Клиенты и сервер SQL Server 2000 можно сконфигурировать так, чтобы использо­валась любая из сетевых библиотек, перечисленных в табл. 1-5, или все эти библиотеки одновременно.

Табл. 1-5. Сетевые библиотеки (Net-Libraries), используемые SQL Server 2000

Сетевая библиотека (Net-Library)

Описание

Shared memory

Применяется для подключения к SQL Server 2000, установленному на том же компьютере, что и клиентское приложение, используя общий сегмент памяти. Это один из протоколов, используемых SQL Server 2000 по умолчанию

Named pipes

Используется для соединения с SQL Server 2000 по именованным каналам. Канал представляет собой механизм файловой системы, обеспечивающий взаимодействие процессов. Это один из стандартных протоколов, используемых по умолчанию для SQL Server 2000

TCP/IP Sockets

Используется для соединения с SQL Server 2000 по протоколу TCP/IP. Это один из стандартных протоколов, используемых по умолчанию для SQL Server 2000

NWLink IPX/SPX

.Используется в сетях, работающих под управлением Novell, главным образом в тех конфигурациях, которые не поддерживают протокол TCP/IP

VIA GigaNet SAN

Используется для поддержки новой высокопродуктивной технологии SAN, обеспечивающей высокую скорость обмена данными, а также в локальных беспроводных сетях под управлением групп серверов, использующих технологию GigaNet

Multiprotocol

Поддерживает все возможные методы обмена данными между серверами с использованием удаленного вызова процедур Windows NT (Windows NT RPC) через любой из поддерживае­мых сетевых протоколов. В предыдущих версиях SQL Server использование этой сетевой библиотеки обеспечивало поддержку шифрования данных и применение средств проверки подлинности Windows. В SQL Server 2000 эта сетевая библиотека в основном обеспечивает обратную совместимость версий

AppleTalk ADSP

Используется в вычислительных сетях, где установлены компьютеры Macintosh и Apple. ADSP позволяет клиентам Apple Macintosh подключаться к SQL Server 2000, используя стандартный протокол AppleTalk

Banyan VINES

Используется для систем Banyan VINES. Этот протокол работает на уровне функциональности SQL Server 7.0 для клиентских рабочих станций и серверов, работающих под управлением Windows NT 4.0, и в следующих версиях развиваться и усовершенствоваться не будет

Open Data Services

Серверные библиотеки Net-Libraries взаимодействуют с уровнем реляционной БД, назы­ваемым Open Data Services. Open Data Services — это интерфейс между ядром БД и сервер­ными сетевыми библиотеками Net-Libraries. На уровне Open Data Services выполняется преобразование пакетов, полученных от серверных библиотек Net-Libraries, в события, которые затем отправляются ядру БД. Ядро БД использует Open Data Services для отправ­ки клиентам ответов SQL Server 2000 через серверные библиотеки Net-Libraries.

Обмен данными между клиентом и сервером

На рис 1-3 показана структура клиентских компонентов обмена данными для случая, ког­да клиентское приложение и SQL Server установлены на одном компьютере.

Рис. 1-3. SQL Server и клиентское приложение установлены на одном компьютере

Рис. 1-4. SQL Server и клиентское приложение установлены на разных компьютерах

Интернет-приложения

Интернет-приложения осуществляют доступ к SQL Server 2000 посредством виртуального корневого каталога (virtual root), определенного на сервере IIS. Он указывает на экземпляр SQL Server 2000, с которым устанавливается соединение. Для этого в SQL Server 2000 пре­дусмотрена специальная динамически подключаемая библиотека ISAPI DLL (sqlisapi.dll). Интернет-приложения могут выполнять запросы XPath и операторы Transact-SQL, исполь­зуя универсальный указатель ресурса (Uniform Resource Locator, URL), а также API-интер­фейс ADO или OLE DB.

Получив запрос XPath или оператор Transact-SQL, IIS-сервер загружает DLL-библио­теку ISAPI. Эта библиотека использует поставщик OLE DB Provider for SQL Server (SQLOLEDB) для подключения к SQL Server 2000, указанному в виртуальном корневом каталоге, и передачи запроса Xpath или оператора Transact-SQL на SQL Server.

SQL Server Books Online

SQL Server Books Online — это интерактивная справочная система в формате HTML, по­ставляемая с SQL Server 2000. В SQL Server Books Online предусмотрено множество разно­образных механизмов поиска информации. Для перехода к нужному разделу SQL Server Books Online можно:

  • обратиться к вкладке Contents диалогового окна интерактивной справочной системы;

  • ввести в окне предметного указателя ключевое слово для поиска нужной информации;

  • ввести слово или сочетание слов, обозначающих термин, в средстве поиска интерактивной справочной системы;

  • щелкнуть кнопку Help одной из графических утилит, чтобы получить нужную информацию об этой утилите;

  • нажать клавишу F1 при работе с диалоговыми окнами и элементами графического пользовательского интерфейса, чтобы получить относящуюся к ним информацию;

  • выделить оператор Transact-SQL, функцию, хранимую процедуру или любой другой элемент языка Transact-SQL в окне SQL Query Analyzer и нажать сочетание клавиш Shift+Fl для получения справки, относящейся к выделенному фрагменту текста.

Примечание Пользователям разрешается самостоятельно структурировать SQL Server Books Online, чтобы облегчить поиск необходимой информации. Кроме стандартных разделов спра­вочной системы SQL Server Books Online, поставляемой с SQL Server 2000, вы можете объеди­нить те разделы электронной документации, в которых будет выполняться поиск, в отдельные пользовательские разделы. Для создания пользовательского раздела в электронной документа­ции в меню View выберите Define Subset.

Резюме

В SQL Server 2000 имеются компоненты, реализованные как службы Windows NT 4.0/2000. Множество специальных клиентских графических утилит и программ, запускаемых из командной строки, облегчают администрирование SQL Server 2000. Эти администра­тивные средства и утилиты, также как и ряд других клиентских приложений, используют специальные компоненты, позволяющие клиентскому приложению установить соедине­ние с SQL Server 2000 — как через сеть, так и локально.

Занятие 3. Основные сведения об архитектуре реляционной СУБД

SQL Server 2000 хранит информацию в базах данных. На физическом уровне БД состоит из двух или более файлов, размещенных на одном или нескольких дисках. Такая структура БД видна только администраторам БД, пользователи видят БД как единое целое. Как пра­вило, выбор оптимального способа физической организации БД, в частности размещения на дисках файлов, из которых состоит БД, входит в обязанности администратора БД. Под­робнее об этом — в главе 6.

На логическом уровне БД состоит из видимых для пользователя компонентов — таб­лиц, представлений (views) и хранимых процедур (stored procedures). Логической оптимиза­цией БД, например определением структуры таблиц и индексов, занимаются разработчи­ки БД. Вопросы логической оптимизации БД выходят за рамки этой книги; они подробно рассмотрены в книге Ребекки М. Райордан (Rebecca M. Raiordan) «Основы реляционных СУБД» («Русская Редакция», М., 2001 г.).

Изучив материал этого занятия, вы сможете:

  • перечислить системные БД SQL Server 2000;

  • рассказать о физической и логической архитектуре БД SQL Server 2000.

Системные и пользовательские базы данных

При установке одного экземпляра SQL Server 2000 на компьютер создаются четыре сис­темные БД. Они и их функции перечислены в табл. 1-6.

Табл. 1-6.Системные базы данных SQL Server 2000

Системная БД

Описание

master

Содержит системную информацию SQL Server 2000, в том числе сведения обо всех других БД, об учетных записях и конфигурационных параметрах

tempdb

Содержит все временные таблицы и хранимые процедуры, создаваемые пользователями, а также рабочие таблицы, использующиеся ядром СУБД

model

Служит шаблоном для создания новых БД

msdb

Здесь служба SQL Server Agent хранит сведения об оповещениях и операторах, а также расписания выполнения заданий

Кроме того, у каждого установленного экземпляра SQL Server 2000 имеется одна или несколько пользовательских БД. Вместе с SQL Server 2000 поставляются пользователь­ские БД pubs и Northwind, предназначенные для обучения работе с SQL Server 2000. При достаточных системных ресурсах каждый установленный экземпляр SQL Server 2000 поддерживает одновременную работу нескольких тысяч пользователей со многими БД (рис. 1-5).

Рис. 1-5.SQL Server работает со множеством пользовательских БД

Физическая структура базы данных

Каждая БД включает в себя по крайней мере один файл данных (data file) и один файл журнала транзакций (transaction log file). Несколько БД не могут одновременно использовать эти файлы. Для оптимизации производительности и повышения отказоустойчивости файлы данных и файлы журнала, как правило, размещают на разных дисках (используется несколько дисков). Для размещения файлов данных и файлов журнала часто применяется RAID-массив.

Экстенты и страницы

Для физического размещения данных и индексов SQL Server 2000 резервирует дисковое пространство, занятое файлом данных, отдельными блоками размером 64 кб. Такие блоки называются экстентами (extents). Каждый экстент состоит из восьми последовательно рас­положенных страниц объемом по 8 кб каждая. Экстенты бывают двух типов: однородные (uniform extents), принадлежащие одному объекту, и смешанные (mixed extents), которые могут принадлежать не более чем восьми различным объектам.

Страница — это минимальный объем дискового пространства, выделяемого SQL Server 2000 для хранения данных. Одна страница занимает 8 кб. Как правило, данные хранятся в виде строк, размещаемых по несколько штук на одной странице. Каждая строка может содержать данные объемом не более 8 060 байт. Порядок размещения данных зависит от того, определен ли на таблице кластерный индекс. Данные могут размещаться упорядоченно, на основании значений ключа кластерного индекса (таким ключом, например, мо­жет служить почтовый индекс), или неупорядоченно, если кластерный индекс отсутствует. В начале каждой страницы размещается заголовок, занимающий 96 байт. В нем хранится системная информация, например объем свободного пространства на данной странице.

Файлы журнала транзакций

Журнал транзакций размещается в одном или нескольких физических файлах — файлах данных. Журнал транзакций содержит серии записей о транзакциях. Для повышения про­изводительности и обеспечения избыточности данных журнал транзакций и файлы дан­ных, как правило, размещаются на разных дисках. Для дисков, на которых размещаются файлы журнала, используется зеркалирование (mirroring) RAID.

Логическая структура базы данных

Данные, хранимые на SQL Server 2000, структурируются таким образом, что они принадле­жат одному или нескольким объектам БД. Объекты БД отображаются пользователям, под­ключившимся к БД. В табл. 1-7 перечислены объекты БД и кратко описаны их функции.

Табл. 1-7.Объекты БД SQL Server 2000

Объект БД

Описание

Таблица

Как правило, таблица состоит из строк и столбцов данных в формате, схожем с электронной таблицей. Каждая строка таблицы представляет уникальную запись, каждый столбец — отдельное поле этой записи. Тип данных указывает, данные какого типа могут храниться в столбце

Представление

Представление содержит только некоторые из записей или столбцов, имеющихся в таблице, либо объединяет данные из разных таблиц, представляя их пользователю как одну таблицу. В представлении могут также объединяться несколько столбцов таблицы

Индекс

Индекс — это структура, связанная с таблицей или представлением и повышающая скорость выборки записей из таблицы. Индексы в таблице могут быть кластерными или некластерными. При наличии кластерного индекса данные таблицы физически упорядочиваются на основании значений ключа индекса

Ключ

Ключ — это столбец или несколько столбцов, позволяющих уникально идентифицировать запись (первичный ключ), определяющих связь между двумя таблицами (внешний ключ) или используемых для построения индекса

Пользовательские данные

Задаются пользователями. Этот тип данных определен на одном из встроенных типов данных SQL Server 2000. Пользовательский тип данных позволяет сделать структуру таблиц более ясной для програм­мистов; кроме того, он гарантирует, что столбцы, которые содержат схожие классы данных, имеют один и тот же базовый тип

Хранимые процедуры

Хранимая процедура представляет собой набор операторов Transact-SQL, скомпилированных в один план выполнения. Процедуры используются для оптимизации производительности и регулирования прав доступа

Ограничения

Ограничения определяют правила, задающие допустимые значения для величин, хранящихся в полях таблиц. Ограничения являются стандартным механизмом поддержки целостности данных

Значения по умолчанию

Значения по умолчанию определяют, какие значения будут подставлены в поле текущей записи в данном столбце, если при вводе данных значение в этом поле будет пропущено

Триггеры

Триггеры — это особый вид хранимых процедур, автоматически выполняемых при исполнении оператора UPDATE, INSERT или DELETE над данными таблицы или представления

Пользовательские Функции

Пользовательские функции — это программы, состоящие из одной или нескольких функций, включающих в себя операторы Transact-SQL. Функции применяются для инкапсуляции кода с целью повторного его использования. Функция не может иметь более 1 024 входных параметров. Пользовательские функции можно использовать вместо представлений и хранимых процедур