Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вся метода 3 (2).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.15 Mб
Скачать

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

«Санкт-Петербургский государственный

инженерно-экономический университет»

ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ В СРЕДЕ SQL SERVER 2000

Учебное пособие

Специальности 080801 – Прикладная информатика в экономике

230201 – Информационные системы и технологии

Санкт-Петербург

2006

Допущено

редакционно-издательским советом СПбГИЭУ

в качестве методического издания

Составитель

канд. экон. наук, доц. С.П. Кузьмина

Рецензенты

доктор техн. наук, проф. В.А. Дятлов

кан. экон. наук, проф. кафедры информатики СПбГФЭУ О.П. Ильина

Подготовлено на кафедре

информационных систем в экономике

Одобрено научно-методическим советом

факультета информационных систем в экономике и управлении

Отпечатано в авторской редакции с оригинал-макета,

представленного составителем

 СПбГИЭУ, 2006

Стр.

Ведение 4

Часть I. Общие сведения о субд Microsoft sql Server 2000 5

    1. Возможность SQL Server 2000 5

    2. Компоненты SQL Server 2000 15

    3. Архитектура БД в среде SQL Server 2000 34

    4. Инструменты программирования SQL Server 2000 69

    5. Язык Transact SQL 79

Часть II. Администрирование sql Server 2000 116

    1. Создание и управление базой данных 116

    2. Импорт и экспорт данных 126

    3. Копирование в среде SQL Server 2000 144

    4. Восстановление SQL Server 2000 156

    5. Репликация 158

    6. Проверка подлинности SQL Server 2000 179

    7. Разрешение уровня сервера и БД 189

    8. Оптимизация работы сервера 198

      1. Конфигурация сети 200

      2. Индексы 201

      3. Триггеры 212

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

      5. Представления 229

      6. Мониторинг 237

    9. Система безопасности 263

Список литературы 280

Введение

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

Такой системой является рассматриваемая в пособии СУБД SQL Server 2000.

Пособие состоит из двух частей.

В первой части представлены общие сведения о СУБД SQL Server 2000. Рассматриваются возможности, компоненты СУБД, использование языка Transact SQL, управление и манипулирование данными, вопросы оптимизации работы СУБД.

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

Часть I. Общие сведения о субд Microsoft sql server 2000

1.1. Возможности sql server 2000

Microsoft SQL Server 2000 — это законченное решение для управления и анализа данных, позволяющее оперативно развертывать масштабируемые Web-приложения нового поколения. SQL Server 2000 — ключевой компонент поддержки электронной коммерции, ин­терактивных деловых приложений и хранилищ данных, обеспечивающий масштабируемость, необходимую для поддержки растущих, динамических сред. В SQL Server 2000 предусмотрена широчайшая поддержка XML (Extensible Markup Language) и других форматов, используемых в Интернете, функций производительности и доступности, гарантирующих своевременное решение поставленных задач, а также развитой функциональности управления и настройки, позволяющей автоматизировать выполнение рутинных задач и снизить совокупную стоимость владения. Кроме того, SQL Server 2000 в полном объеме использует преимущества Windows 2000, обеспечивая интеграцию с Active Directory Services и поддерживая до 32 процессоров и до 64 Гигабайт (Гб) оперативной памяти.

SQL Server 2000 — это реляционная СУБД, которая использует язык Transact-SQL для пересылки сообщений между компьютером клиента и компьютером, на котором работает SQL Server 2000. Реляционная СУБД состоит из механизма баз данных, собственно баз данных и приложений, необходимых для управления данными и компонентами реляци­онной СУБД. Реляционная СУБД организует данные в виде связанных строк и столбцов, составляющих базу данных. Реляционная СУБД отвечает за поддержку структуры базы данных и решает следующие задачи:

  • поддерживает связи между данными в базе;

  • гарантирует корректное хранение данных и выполнение правил, регламентирующих связи между ними;

  • восстанавливает данные после аварии системы, переводя их в согласованное состояние, зафиксированное до сбоя.

База данных (БД) SQL Server 2000 представляет собой реляционную базу данных, совместимую с SQL (Structured Query Language) с интегрированной поддержкой XML для Интернет-приложений. SQL Server 2000 создан на основе современного расширяемого сервера SQL Server 7.0

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

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

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

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

Таблица описывает некоторый класс объектов, важных для организации. Например, в базе данных какой-либо компании одна таблица может быть предназначена для сведений о работниках, другая — для сведений о покупателях и еще одна — для сведений о магази­нах. Любая таблица состоит из столбцов и строк (в теории реляционных баз данных это атрибуты и кортежи соответственно). Каждый столбец определяет атрибут класса объектов, представленных таблицей. Например, в таблице для сведений о работниках могут быть столбцы, определяющие такие атрибуты, как имя, фамилия, идентификационный номер, отдел, тарифный разряд и название должности работника. А каждая строка описывает отдельный экземпляр объекта, представленного таблицей.

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

Для работы с информацией из базы данных необходим набор команд и операторов (язык), который поддерживается СУБД. С реляционными базами данных можно использовать различные языки, но наиболее распространен язык SQL. Стандарты на ПО, в том числе стандарты SQL, определяются организациями ANSI (American National Standards Institute) и ISO (International Organization for Standardization). SQL Server 2000 поддерживает Entry Level SQL-92 — стандарт SQL, опубликованный ANSI и ISO в 1992 году. Диалект SQL, который поддерживает SQL Server, называется Transact-SQL.

XML (Extensible Markup Language) — это стандарт форматирования данных, принятый в Интернете. Он представляет набор тэгов, которые включают в документ, чтобы опреде­лить его структуру.

Хотя большинство операторов SQL возвращают результаты в виде реляционного набо­ра данных (в табличном виде), SQL Server 2000 поддерживает оператор FOR XML, кото­рый задает возврат результатов в виде документа XML. SQL Server 2000 также поддержи­вает запросы XPath из приложений для Интернета и интрасетей. В базы данных SQL Server можно добавлять информацию из документов XML, а оператор OPENXML позволяет выводить данные из документа в виде реляционного результирующего набора.

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

В состав SQL Server 2000 входит множество инструментов и функций, упрощающих про­цесс установки, развертывания, управления и использования баз данных. SQL Server 2000 предоставляет администраторам баз данных полный набор инструментов, необходимых для тонкой настройки SQL Server 2000 в составе промышленных онлайновых систем. SQL Server 2000 также эффективно работает в небольших однопользовательских системах, при этом издержки на администрирование минимальны.

Установка или обновление SQL Server 2000 происходит под управлением приложения с графическим интерфейсом (GUI-приложения), которое направляет действия пользова­теля при вводе сведений, необходимых программе установки. Программа установки авто­матически определяет наличие ранней версии SQL Server. После завершения установки SQL Server 2000 она спрашивает пользователя, не желает ли он запустить мастер обновления SQL Server 2000 (SQL Server 2000 Upgrade wizard), под руководством которого будет быстро выполнен процесс обновления. Таким образом, весь процесс установки или об­новления завершается быстро, причем пользователю приходится вводить минимум информации.

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

SQL Server 2000 предлагает администраторам баз данных такие инструменты управле­ния системами, как Enterprise Manager и SQL Profiler.

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

Некоторые функции SQL Server 2000 увеличивают масштабируемость системы. Напри­мер, SQL Server 2000 динамически регулирует степень дробления блокировок для каждой таблицы, на которую ссылается запрос, в него также входит оптимизированная поддерж­ка высокоскоростных операций в средах VLDB (Very Large Database). Кроме того, SQL Server 2000 способен планировать параллельное исполнение, при котором обработка опе­ратора SQL разделяется на несколько частей. Каждая часть может быть выполнена на от­дельном процессоре, в этом случае формирование полного результирующего набора осуществляется быстрее, чем в том случае, когда отдельные части операторов выполняются последовательно.

Хранилище данных — это база данных с особой структурой, оптимизированной для вы­полнения сложных запросов, результаты которых могут использоваться для анализа и при­нятия решений. Хранилище данных обычно содержит данные, описывающие историю ведения бизнеса организации. Киоск данных — это подмножество содержимого хранили­ща данных. Киоск данных обычно содержит информацию, относящуюся преимуществен­но к какому-либо отделу организации или области бизнеса. В SQL Server 2000 имеется ряд компонентов, которые делают его более приспособленным для создания хранилищ дан­ных, эффективно поддерживающих принятие решений.

  • Data Warehousing FVamework. Набор компонентов и интерфейсов прикладного программирования (API), реализующих функции хранилищ данных SQL Server 2000.

  • Data Transformation Services (DTS). Набор служб для создания хранилищ данных и киосков данных.

  • Meta Data Services. Набор интерфейсов ActiveX и информационных моделей, определяющих схему базы данных и преобразований данных, которые реализует Data Ware housing Framework. Схема, или метаданные, — это метод определения и организации данных.

  • Analysis Services. Набор служб, обеспечивающих возможности OLAP-обработки данных из гетерогенных источников OLE DB.

  • English Query. Продукт для разработки приложений, который дает пользователям возможность вместо использования компьютерного языка запросов (например SQL) за давать вопросы по-английски.

SQL Server 2000 работает с другими программными продуктами, образуя стабильное и безопасное хранилище информации для Интернета и интрасетей:

• SQL Server 2000 работает с механизмами безопасности и шифрования Windows 2000 Server и Windows NT Server, реализуя безопасное хранилище информации;

  • SQL Server 2000 является высокопроизводительной службой хранения данных для Web приложений, работающих по управлением Microsoft Internet Information Services;

  • SQL Server 2000 можно использовать вместе с Site Server для обслуживания больших и сложных Web-сайтов электронной коммерции;

  • поддержка TCP/IP Sockets позволяет интегрировать SQL Server 2000 с Microsoft Proxy Server для реализации безопасной связи через Интернет и в интрасетях.

Производительность SQL Server 2000 можно довести до уровня, необходимого для ра­боты огромных Интернет – узлов. Кроме того, в механизме баз данных SQL Server 2000 есть встроенная поддержка XML, а мастер Web Assistant помогает генерировать страницы HTML (Hypertext Markup Language) на основе данных SQL Server 2000 и публиковать эти данные для доступа по протоколам HTTP (Hypertext Transport Protocol) и FTP (File Transfer Protocol).

SQL Server поддерживает аутентификацию Windows, что позволяет применять в каче­стве учетных записей SQL Server 2000 пользовательские и доменные учетные записи Windows NT и Windows 2000. Аутентификацию пользователей при подключении к сети осуществляет Windows 2000. При соединении с SQL Server, клиентское ПО запрашивает доверенное соединение, которое может быть предоставлено, только если пользователи прошли аутентификацию Windows NT или Windows 2000. Таким образом, SQL Server сам не выполняет проверку пользователей, а пользователям не требуются отдельные имена и пароли для подключения к каждой системе SQL Server.

SQL Server 2000 может посылать и получать электронную почту и пейджинговые сооб­щения от Microsoft Exchange или других почтовых серверов, совместимых с MAPI (Message Application Programming Interface). Эта функция обеспечивает отсылку почты с помощью пакетов, хранимых процедур и триггеров SQL Server 2000. События и уведомления SQL Server 2000 можно настроить так, чтобы в случае возникновения серьезных проблем или даже при риске их возникновения администратор сервера автоматически получал уведом­ления по электронной почте или на пейджер.

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

  • Enterprise Edition. Эта редакция — полный вариант SQL Server, наиболее часто предлагаемый организациям. Enterprise Edition отличается развитыми возможностями масштабируемости и надежности, необходимыми для решения важных задач интерактивного ведения бизнеса и Интернет - приложений, в том числе распределенными секционированными представлениями, портированием журнала и улучшенными возможностями кластеризации. Эта редакция также в полном объеме использует преимущества наиболее совершенного аппаратного обеспечения, поддерживая до 32 процессоров и 64 Гб ОЗУ. Кроме того, SQL Server 2000 Enterprise Edition включает дополнительные функции анализа.

  • Standard Edition. Этот вариант могут позволить себе средние и небольшие организации, которым не требуются сложные возможности масштабируемости и доступности, а также полный набор функций анализа, которые имеются в SQL Server 2000 Enterprise Edition. Standard Edition применяют в симметричных многопроцессорных системах, в которых установлено до 4 процессоров и до 2 Гб ОЗУ.

  • Personal Edition. В эту редакцию входит полный набор инструментов управления и большая часть функциональности Standard Edition, но она оптимизирована для персонального использования. Personal Edition работает не только под управлением сервера.