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

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

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

12. СУБД Visual FoxPro 8.0

473

Выполним запрос, результат которого будет сохранен в файле с указанным ранее именем. Созданная таблица сохраняется и при выходе из Visual FoxPro. В этой таблице можно производить удаление, добавление и редактирование записей.

После создания таблицы можно приступить к формированию отчета на ее

основе. Для этого вызовем диалоговое окно Query Destination (назначение запроса), выполнив одноименную команду меню Query (запрос). В появившемся окне нажмем кнопку Report (отчет). В результате получим соответствующий вариант диалогового окна Query Destination (назначение запроса) (рис. 12.14). Чтобы вызвать Мастер отчетов, нажмем кнопку с «волшебной палочкой». На экране появится диалоговое окно Report Wizard (Мастер от-

четов).

Замечание.

Для обеспечения возможности вызова Мастера отчетов необходимо предусмотреть указание его местоположения (папки и имени приложения) в диалоговом окне Options (Параметры) на вкладке File Locations (Расположение файлов) в иоле Wizards (Мастера). Вызов окна выполняется с помощью команды Tools | Options (сервис | параметры).

Работа с Мастером отчетов заключается в выполнении пяти следующих шагов.

1.Выбор таблицы (одной), на основе которой будет формироваться отчет,

ивыбор полей таблицы, сведения из которых будут включены в отчет. Для решения этих задач в списке Databases and tables (базы данных и таблицы) выбирается одно из двух значений: DBU (таблица будет выбираться из БД) или Free Tables (таблица является свободной). В нашем

случае необходим второй вариант, так как выбирается таблица с результатами запроса. Далее формируем список Selected fields (выбранные поля). Переносим в него поля таблицы из списка Available fields (доступные поля) в том порядке, в каком хотим их видеть в отчете.

2.Выбор стиля оформления отчета.

3.Выбор ориентации листа (книжной или альбомной) и способа расположения сведений из полей таблицы (в строке или в колонке).

4.Задание способа сортировки сведений в отчете: имя поля, по которому осуществляется сортировка; способ сортировки — по возрастанию или по убыванию.

5.Выполнение следующих действий: формирование заголовка отчета; указание способа его дальнейшего использования (мы выбрали запись отчета в файл); при необходимости предварительный просмотр отчета (опция Preview); завершение подготовки отчета нажатием кнопки Finish

(финиш).

Результат предварительного просмотра отчета представлен на рис. 12.15.

474

Часть 3. Современные

СУБД и их применение

S J R e p o it Designei - R e p o i H

Page 1

 

 

H E E 3

 

Piint

Pieview

 

n

 

li\

i \

> j N

100£ •

ОТЧЕТ ПО РЕЗУЛЬТАТАМ ЗАПРОСА

01/30/98

Фамилия

Должность

Оклад

Д 3 а Стаж

Сумма

 

Иванов И.И.

преп

1,000

50

1,050

 

Петров П.П.

преп

1,000

50

1,050

 

Сидоров С.С.

доцент

2,000

100

2,100

 

Егоров Е Е.

проф ессор

2,500

150

2,650

,

Ч л\

Рис. 12.15. Предварительный просмотр отчета

После нажатия кнопки Finish на экране вновь появится диалоговое окно Query Destination с предложением подтвердить необходимость сохранения созданного отчета в файле.

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

1.Дайте общую характеристику СУБД Visual FoxPro.

2.Назовите требования, предъявляемые Visual FoxPro 8.0 к аппаратным ресурсам.

3.Перечислите состав панелей инструментов в главном окне СУБД.

4.Укажите назначение элементов проекта Visual FoxPro.

5.Какие средства автоматизации разработки проекта имеются в Visual FoxPro, в чем различие их возможностей?

6.Перечислите типы данных, используемые в Visual FoxPro.

7.Перечислите типы индексов.

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

9.Перечислите правила обеспечения ссылочной ценности, используемые

вVisual FoxPro.

12. СУБД Visual FoxPro 8.0

475

Литература

1.Агальцов В. Г1. Базы данных. - М.: Мир, 2002.

2.Горев A. Visual FoxPro 5.0. Книга для программистов. — М: Журнал "FoxTalk"

 

ТОО «Эдель», 1997. - 552 с.

3. МихаельД.

Антонович и dp. Visual FoxPro 3 для Windows. — М: БИНОМ, 19%.

 

- 668 с.

 

4.

Омелъченко

Л. Visual FoxPro 8. - СПб.: БХВ-Петербург, 2003. - 688 с.

5.

Омелъченко JI., Шевякова Д. Visual FoxPro 9.0. - СПб.: БХВ-Петербург, 2005.

476

Часть 3. Современные СУБД и их применение

13. Microsoft SQL Server 2000

Microsoft SQL Server представляет собой СУБД, обеспечивающую создание информационных систем с архитектурой «клиент-сервер», в которой он играет роль сервера баз данных. SQL Server удовлетворяет требованиям, предъявляемым к системам распределенной обработки информации. Эта СУБД поддерживает: тиражирование данных, параллельную обработку, создание и обработку больших баз данных на недорогих аппаратных платформах, отличается простотой управления и использования, а также обеспечивает тесную интеграцию баз данных SQL Server 2000 в Web.

Наиболее важным нововведением можно считать интеграцию баз данных в Web. Используя язык XML, пользователи могут легко опубликовать информацию из баз данных в Интернете, обеспечив при этом возможность доступа к данным с помощью обычного обозревателя (броузера). Кроме того, изменения в архитектуре сервера позволили полностью интегрировать SQL Server 2000 со службами Active Directory операционной системы Windows 2000. Дадим краткую характеристику рассматриваемому серверу и введем основные понятия.

1 3 . 1 . Х а р а к т е р и с т и к а S Q L S e r v e r

Основные новшества сервера

Нами рассматривается SQL Server версии 2000. Несмотря на то, что в сравнении с предыдущей версией ядро системы практически сохранилось, в ней имеется достаточно большое число существенных новшеств. Рассмотрим коротко эти изменения.

Поддержка множества инсталляций. Теперь на одном компьютере можно устанавливать несколько копий (инсталляций) серверов БД SQL Server 2000, каждая из которых является независимой от других с точки зрения управления. Инсталляции имеют свои имена (инсталляция по умолчанию может не иметь имени), могут запускаться и останавливаться отдельно от других. Независимость инсталляций достигается тем, что каждая из них имеет свой набор служб операционной системы (MSSQLServer и SQLServer Agent), а также собственный набор пользовательских и системных БД.

Сопоставления. Поведение сервера SQL Server 7.0 в операциях сравнения и сортировки задавалось параметрами кодовой страницы, порядка сортировки и сопоставления Unicode. Причем, делалось это только на уровне всего

13. Microsoft SQL Server 2000

477

сервера, то есть действовали они одинаково на все столбцы всех таблиц всех БД сервера.

В новой версии продукта пользователь выбирает сопоставление (collation), включающее в себя необходимые параметры и может это делать на различных уровнях: для сервера, базы данных, таблицы и даже отдельного столбца. Сопоставление, конфигурируемое на уровне сервера, является сопоставлением по умолчанию и действует в случаях, когда на определено другое сопоставление.

Определяемые пользователем функции. Ранее в MS SQL Server имелся фиксированный набор встроенных функций, используемых в выражениях. В сложных алгоритмах пользователю приходилось применять курсоры и другие механизмы для вызова хранимых процедур (где производилась основная обработка информации). Теперь имеется возможность создания своих функций, вызываемых из тела запроса.

Расширение возможностей триггеров. Триггеры, создаваемые ранее только для таблиц, теперь можно использовать и для представлений, что существенно расширяет функциональность сервера. В предыдущих версиях существовал только один тип триггера (тип AFTER), который запускался после соответствующей операции. При необходимости отмены произведенных действий приходилось использовать откат транзакций. Триггеры нового введенного типа (тип INSTEAD OF) работают вместо команды пользователя, приведшего к запуску триггера.

Улучшения в индексах. Наряду с обычным индексированием таблиц допускается индексирование представлений и индексирование вычисляемых столбцов (computed columns). Это позволяет повысить производительность работы сервера. Кроме того, оптимизировано использование сервером системных ресурсов при построении и обновлении индексов, а также появилась возможность указать явным образом порядок размещения (по убыванию или по возрастанию) индексируемых данных.

Каскадные изменения. В предыдущих версиях при работе с внешними ключами ответственность за корректность ссылок возлагалась на пользователя. Теперь все необходимые корректировки ключей выполняются автоматически.

Интеграция в Web. Существовавшие до этого средства публикации данных в сетях Интернет и интрапет, реализуемые мастером Web Assistant Wizard и набором хранимых процедур, позволяли генерировать статические HTMLстраницы. Теперь с помощью технологии XML пользователи сети могут непосредственно обращаться к хранимой на сервере информации. В окне обозревателя можно указать запрос, по которому будет получена информация из базы в формате XML. При этом можно указывать готовые запросы и применять различные шаблоны представления информации.

Для поддержки XML-технологии в SQL Server 2000 внесены некото-

478 Часть 3. Современные СУБД и их применение

рые изменения в синтаксисе оператора запроса SELECT и, в частности, в его конструкцию FOR. Задавая в операторе FOR слово XML, пользователь инициирует преобразование результатов запроса в формат документа XML. Поддерживаются три режима преобразования: в плоский текст (режим RAW), в простое дерево (режим AUTO) и в сложное многоуровневое дерево с явным указанием зависимостей между элементами (режим EXPLICIT).

Надежность. В предыдущей версии продукта в распоряжении администратора БД имелись две основные технологии повышения устойчивости системы к сбоям и отказам оборудования сервера: резервный сервер (standby server) и кластеризация (fail-over support).

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

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

В MS SQL Server 2000 появилась возможность создавать кластеры из четырех узлов вместо двух, а также расширились возможности управления кластером при упрощении его администрирования.

Репликация. Под репликацией понимается совокупность механизмов, обеспечивающих отображение изменений данных на одном сервере, на другие серверы. Термин «издатель» (publisher) обозначает сервер, предоставляющий информацию из своих БД другим серверам, термин «дистрибьютор» (distributor) обозначает промежуточный сервер, распространяющий информацию от издателя, а термин «подписчик» (subscriber) — принимающий информацию сервер.

13. Microsoft SQL Server 2000

479

ВMS SQL Server 7 реализована репликация сведением (merge replication),

атакже технология «подписчиков незамедлительного обновления» (immediately update subscriber). Обе они позволяют вносить изменения в опубликованные данные со стороны подписчиков. Первая технология позволяет

пользователям изменять данные даже при отсутствии соединеиия между ди-

стрибьютором (издателем) и подписчиком. Вторая технология требует наличия постоянного соединения между подписчиком и издателем.

MS SQL Server 2000 появилась технология отложенного обновления (Queue updating), которая позволяет выполнять изменения опубликованных данных на подписчике в случае отсутствия соединения его с дистрибьютором (издателем). Она основана на ведении так называемой очереди изменений, данные из которой считываются в момент появления соответствующего соединения. Кроме того, в распоряжении администраторов появилось более полутора десятка различных механизмов разрешения конфликтов изменения, возникающих при выполнении репликации сведения.

Новые типы данных. В распоряжении пользователей появилось три новых типа данных:

bigint, который позволяет задавать целые числа в более широком диапазоне, и использует для представления числа 8 байт в отличие от обычного int, который использует 4 байта;

sql_variant, позволяющий хранить значения большинства других типов MS SQL Server 2000 (числовые, символьные, денежные, даты и т. д.) и применяемый при работе с переменными, а также и со столбцами таблицы;

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

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

В качестве сетевого сервера (в зависимости от масштаба организации, количества пользователей и нагрузки) могут использоваться различные редакции SQL Server 2000 — от Personal Edition, рассчитанной на Windows 98 и небольшое количество пользователей (до пяти), до Enterprise Edition, позволяющей использовать системы с большим количеством процессоров (до 32) и объемом оперативной памяти до 64 Гбайт, а также поддерживающей кластеры.

480

Часть 3. Современные СУБД и их применение

Службы

SQL Server 2000

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

MSSQLServer;

SQLServerAgent;

Microsoft Search (MSSearch);

Microsoft Distributed Transaction Coordinator (MSDTC).

Поскольку Windows 98 не содержит служб, для работы SQL Server 2000 под ее управлением выполнена эмуляция работы служб. Перечислим функции каждой из служб.

Служба MSSQLServer является основной службой сервера, реализующей функции: регистрации пользователей и контроля их прав доступа; установления соединений; обслуживания обращений пользователей к БД; выполнения хранимых процедур; работы с файлами БД и журналом транзакций; контроля над использованием системных ресурсов и оперативной настройки сервера и многие другие. Все остальные службы можно рассматривать как расширение этой службы.

Основное назначение службы SQLServerAgent — автоматизация администрирования и использования SQL Server 2000. В ее задачи входит автоматический запуск заданий и извещение операторов о сбоях в работе сервера. Примером задания может быть автоматический запуск операций резервного копирования и проверки целостности базы данных во время наименьшей активности пользователей. Для запуска службы требуется предварительный запуск службы MSSQLServer. Большая часть функций службы реализована в виде хранимых процедур, выполняемых службой MSSQLServer. В работе службы используются объекты трех типов: задания (jobs), операторы (operators) и события (alerts). Для управления объектами можно использовать различные средства: утилиту SQL Server Enterprise Manager, операторы языка Transact SQL и программный интерфейс SQL-DMO.

Служба MSSearch, называемая также Full-Text Search (полнотекстовый поиск), используется для поиска символьной информации в таблицах баз данных сервера. Она существенно переработана по сравнению с предыдущей версией сервера. Пользуясь полнотекстовым поиском, можно не только находить слова и фразы, идентичные искомым, но и близкие к ним по смыслу и написанию. В результирующий набор включаются склоняемые формы глаголов и существительные. В работе службы используются специальные полнотекстовые каталоги (full-text catalog) и полнотекстовые индексы (full-text index), хранимые отдельно от основных данных, которые обновляюся в процессе работы сервера. Администратор БД должен планировать интервалы времени обновления файлов полнотекстового поиска, а также выполнять их резервное копирование и восстановление.

13. Microsoft SQL Server 2000

481

Служба MSDTC используется для управления выполнением так называемых распределенных транзакций (distributed transaction). Необходимость в их вызове возникает в случаях одновременной работы с несколькими источниками данных, поддерживающими технологию OLE DB. В качестве таких источников могут выступать реляционные СУБД, текстовые файлы, книги MS Excel и настольные приложения. Распределенная транзакция реализуется как совокупность транзакций, открываемых на каждом источнике данных. Служба MSDTC синхронизирует эти транзакции, пользуясь двухфазным протоколом 2РС (two-phase commit protocol).

Кроме того, существует возможность запуска сервера как отдельного приложения. Для этого достаточно запустить на выполнение программу

sqlservr.exe, находящуюся в

папке

\ P r o g r a m Files\Microsoft SQL

Server\MSSQL\Binn.

 

 

Режимы

работы

сервера

MS SQL Server 2000 имеет две основные области применения: системы оперативной аналитической обработки и системы оперативной обработки транзакций. В соответствии с этим продукт имеет два режима работы. К сожалению, в сервере отсутствуют встроенные средства переключения в тот или иной режим, поэтому настройка требуемых параметров сервера администратором выполняется вручную.

Системы оперативной аналитической обработки или системы поддержки принятия решений (DSS, Decision Support System) ориентированы на предоставление пользователю высокопроизводительных и удобных средств многостороннего анализа данных. Эти системы имеют следующие особенности.

Ориентированы на анализ данных, поэтому наиболее частой операцией является выборка данных, и практически не используются операции модификации данных. Сервер в таком режиме работы может выполнять запросы с большей скоростью, так как не нужны механизмы блокировок и транзакций. Кроме того, страницы данных могут заполняться на 100%, что позволит более эффективно использовать внешнюю память и увеличить объем извлекаемой из базы информации за одно обращение к ней.

Важнейшим показателем качества работы является скорость выполнения запросов, которая не должна превышать нескольких секунд. Для этого следует создавать необходимое количество индексов, а также использовать технологию материализованных представлений. Материализованное представление предназначено для предварительного выполнения конкретного запроса и изменения в него вносятся по мере изменений данных в базе. Поэтому при запуске запроса системе не требуется выполнять большое количество операций. Кроме того, для увеличения скорости выполнения запросов с использованием внешних источников дан-

16 Зак. 541

4 8 2

Часть 3. Современные СУБД и их применение

пых сервер должен иметь средства прямого доступа к этим данным без промежуточного их переноса.

Для быстрого выполнения анализа должны быть встроенные средства численного и статистического анализа информации.

Всесторонний и глубокий анализ данных требует специального их представления, например, в виде многомерной модели (см. подраздел 2.5).

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

Полноценной реализацией OLAP фирмой Microsoft предлагается система MS DSS (Microsoft Decision Support System). Функции серверной части этой системы реализуются компонентом OLAP Services, поставляемым в составе SQL Server 2000, но устанавливаемым отдельно. Клиентская часть системы представлена инструментом PivotTable Service.

Системы оперативной обработки транзакций (OLTP, Online Transaction Processing) характеризуются большим количеством изменений в данных баз и одновременной работой множества пользователей с одними и теми же данными. Работа сервера в таком режиме требует активного использования механизмов транзакций и блокировок. Для обеспечения высокой скорости вставки новых данных, а также изменения данных, используемых в кластерном индексе, поддерживается низкая степень заполнения страниц. Это требует большего объема внешней памяти для хранения данных по сравнению с предыдущим режимом работы.

Инструменты SQL Server 2000

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

OCHOBI 1ыми инструментами администрирования SQL Server 2000 являются следующие:

SQL Server Enterprise Manager;

SQL Server Service Manager;

SQL Server Profiler;

Query Analyzer;

Upgrade Wizard (Мастер обновления);

Import and Export Data (Мастер экспорта/импорта);

утилиты Client Network Utility и Server Network Utility;

утилиты командной строки;

специальные Мастера (Wizards).