Метод указания AIS
.pdf
|
Оглавление |
|
Предисловие |
2 |
|
Введение |
3 |
|
1 |
Окружение SQL Server 2000 |
4 |
2 |
Копирование и перемещение данных |
15 |
3 |
Администрирование SQL Server |
25 |
4 |
Безопасность в SQL Server 2000 |
32 |
5 |
Создание таблиц |
43 |
6 |
Создание индексов |
52 |
7 |
Отношения |
56 |
8 |
Создание диаграмм баз данных |
59 |
9 |
Создание объектов таблиц |
64 |
10 Извлечение строк |
69 |
КАТУ ИМ.С.СЕЙФУЛЛИНА |
||
11 |
Оператор SELECT |
73 |
12 |
Сортировка и выборка строк |
79 |
13 |
Связывание таблиц |
83 |
14 |
Избирательная выборка данных |
92 |
К16.Т.Н. ОМАРБЕКОВА А.С. |
||
15 |
Работа с данными |
100 |
|
Анализатор запросов Query Analyzer |
110 |
17 |
Язык определения данных |
116 |
18 |
Использование Object Browser для определения данных |
122 |
19 |
Программные объекты |
127 |
20 |
Управление ходом выполнения |
138 |
21 |
Хранимые процедуры СУБД |
148 |
22 |
Курсоры в Transact-SQL |
163 |
23 |
Триггеры |
174 |
1
Предисловие
Учебное пособие «Администрирование баз данных» познакомит Вас с Microsoft SQL Server 2000 - одним из перспективных инструментов для создания и управления реляционными базами данных.
Предназначено для студентов вузов, обучающихся по специальностям, связанным с разработкой, эксплуатацией и сопровождением баз данных. Может быть полезным всем изучающим SQL самостоятельно.
Возможно, Вы только начинаете работать с базами данных, возможно, Вы давно работате с Microsoft Access, Oracle, другими реляционными базами данных - данное практическое руководство окажется незаменимым при освоении версий SQL Server 2000 Personal, Standard или Enterprise. Учебное пособие снабжено многочисленными примерами и упражнениями, которые помогут Вам быстро освоиться с интерактивными инструментами для создания баз данных и управления ими и с программированием на языке Transact+SQL.
Вы научитесь пользоваться средством Enterprise Manager SQL Server 2000 для создания и администрирования баз данных и объектов баз данных. Освоите работу с анализатором запросов Query Analyzer, познакомитесь с возможностями автоматизации за счет использования сценариев, триггеров, функций и хранимых процедур.
КАТУ ИМ.С.СЕЙФУЛЛИНА
К.Т.Н. ОМАРБЕКОВА А.С.
СУБД
2
Введение
Microsoft SQL Server 2000 – это реляционная система управления базой данных (СУБД). В реляционных базах данных данные хранятся в таблицах. Взаимосвязанные данные могут группироваться в таблицы, кроме того, могут быть установлены также и взаимоотношения между таблицами. Отсюда и произошло название реляционные – от английского слова relational (родственный, связанный отношениями, взаимозависимый). Пользователи получают доступ к данным на сервере через приложения, а администраторы, выполняя задачи конфигурирования, администрирования и поддержки базы данных, производят непосредственный доступ к серверу.
СУБД SQL Server появилась в 1989 году и с тех пор значительно изменилась. Огромные изменения претерпели масштабируемость продукта, его целостность, удобство администрирования, производительность и функциональные возможности. Система SQL Server может быть реализована либо как клиент-серверная система, либо как автономная "настольная" система. Тип проектируемой вами системы зависит от количества пользователей, которые должны одновременно осуществлять доступ к базе данных, и от характера работ, которые должны выполняться.
Microsoft SQL Server 2000 является сложным программным инструментом для обслуживания реляционных баз данных. Чтобы курс имел разумный объем, были приняты некоторые допущения и ограничения. Так, предполагается наличие у читателя некоторых представлений о реляционных базах данных и о том, как их создавать. В то же время, вам не обязательно обладать каким-либо опытом в применении баз данных, чтобы выполнять упражнения из этого курса. Microsoft SQL Server 2000 – это
КАТУсистема управленияИМреляционными.базамиС.данныхСЕЙФУЛЛИНА(RDBMS) в топологии клиент/сервер, разработанная для обработки высокопроизводительных сетевых транзакций (OLTP), хранения данных и
использования в приложениях электронной коммерции. Учебное пособие "Администрирование баз данных" поможет вам быстро освоить принципы создания и манипулирования базами данных с использованием интерактивных средств, входящих в состав SQL Server 2000.
Рассматривается весь состав программных средств, лежащих в основе этой СУБД и показано, как Кработают.Т.иНвзаимодействуют. ОМАРБЕКОВАее многочисленные компоненты. В учебном пособии принят комплексныйА.С.
подход к изложению сведений по архитектуре, внутренней организации и настройке SQL Server, дополняющих существующие справочные руководства и официальную документацию. Учебное пособие предназначено для широкого круга читателей, позволяет достичь глубокого понимания принципов работы SQL ServerСУБД.
3
1 Окружение SQL Server 2000
Microsoft SQL Server 2000 был разработан для поддержки крупных баз данных в различных областях, в том числе связанных с онлайновой обработкой трансакций, хранением данных и электронной коммерцией. Для поддержки этих функций SQL Server предоставляет набор инструментальных средств, включающих утилиты командной строки – например bcp.exe, которая копирует данные между SQL Server файлами операционной системы, и Enterprise Manager, достаточно сложное графическое средство для администрирования множества баз данных и самого SQL Server.
Знакомство с Enterprise Manager
Утилита SQL Server Enterprise Manager является основным инструментом для администрирования SQL Server 2000. Используя графический интерфейс Enterprise Manager, вы можете:
1)задавать группы экземпляра SQL Server и регистрировать отдельные серверы в пределах группы;
2)конфигурировать все опции SQL Server для каждого зарегистрированного сервера;
3)создавать и администрировать все базы данных SQL Server, объекты, учетные записи, пользователей и разрешения для каждого зарегистрированного сервера;
4)определять и выполнять все административные задачи SQL Server для каждого зарегистрированного сервера;
5)просматривать содержимое таблиц и представлять их с помощью конструктора Query Designer;
6)интерактивно разрабатывать и тестировать SQL операторы, пакеты и сценарии с помощью
КАТУсредства SQL ServerИМQuery Analyzer;.С.СЕЙФУЛЛИНА
7) использовать различные мастера SQL Server.
Microsoft Management Console
Microsoft Windows включает в себя утилиту Microsoft Management Console (MMC), которая предоставляет стандартную оболочку для управления приложениями сервера. Набор инструментов
MMC, используемых для управления определенным сервером, носит название "консоль" (console). КЧаще.Твсего.Нконсоли.серверовОМАРБЕКОВАпредставляют собой присоединяемые модули (snap-in), иАSQL .ServerС. Enterprise Manager, который вы используете для администрирования SQL Server 2000, не является
исключением. За дополнительной информацией по MMC вы можете обратиться к справочной системе Windows Help, для этого нажмите кнопку Start (Пуск), выберите Help (Справка) и затем во вкладке
Search (Поиск) наберите "MicrosoftСУБДManagement Console".
Запуск Enterprise Manager
Перед тем, как вы начнете выполнять задачи администрирования, вы должны запустить SQL Server Enterprise Manager. Управление Enterprise Manager будет осуществляться так же, как в любых других программах под Windows.
Запустите Enterprise Manager.
Нажмите кнопку Start (Пуск) в панели задач Microsoft Windows.
Выберите Programs (Программы) и затем папку Microsoft SQL Server. В открывшейся папке Microsoft SQL Server появится список значков.
Нажмите на значке программы Enterprise Manager. Появится окно Enterprise Manager представленное на рисунке 1.
4
КАТУ ИМ СЕЙФУЛЛИНА
Рисунок 1
Enterprise Manager предоставляет инструменты, которые необходимы для администрирования SQL
КServer.Ти.дляНсоздания. иОМАРБЕКОВАсопровождения баз данных. Окно Enterprise Manager разделено наАдве панели.С: . Console Tree (Дерево консоли) слева и Details Panel (Панель деталей) справа. Элементы в панели
Console Tree расположены иерархически, как список папок в Microsoft Windows Explorer. Вы можете развернуть подчиненные элементы в иерархическом порядке, щелкнув мышью на значке развертывания
или убрать их, нажав на значке свертывания . |
|
Регистрация сервера |
СУБД |
|
При первом запуске Enterprise Manager он будет автоматически регистрировать все экземпляры SQL Server, выполняющиеся локально. Если же вы устанавливаете новый экземпляр SQL Server или соединяетесь с экземпляром SQL Server через локальную сеть, вы должны зарегистрировать его.
Запуск и остановка сервера
Перед тем, как вы сможете соединиться с экземпляром SQL Server, должна быть запущена служба. Вы сможете узнать запущена служба или нет, взглянув на значок сервера в дереве консоли в Enterprise Manager. Каждый из значков его смысл приведены в таблице 1.
Таблица 1 - Вид значка экземпляра SQL Server
Значок |
Значение |
|
Сервер запущен |
|
Сервер приостановлен |
|
Сервер остановлен |
Дерево консоли Console Tree в Enterprise Manager
Дерево консоли Console Tree в Enterprise Manager показывает список всех объектов SQL Server,
известных Enterprise Manager.
Примечание. Объекты, отображаемые в дереве консоли в Enterprise Manager вашей системы, могут не соответствовать объектам в примерах из этого курса. Не беспокойтесь насчет этого, это просто означает, что ваш системный администратор сконфигурировал SQL Server как-то иначе.
5
При изучении дальнейших уроков вам потребуется работать с большинством элементов из дерева консоли Console Tree. Таблица 2 содержит краткое описание каждой папки, содержащей основные объекты дерева.
Таблица 2 - Основные объекты в дереве консоли Enterprise Manager
|
Значок |
Папка |
Описание |
||
|
|
Server Group |
Для удобства администрирования один или более серверов |
|
|
|
|
|
|
сгруппированы вместе. |
|
|
|
Server |
|
Экземпляр SQL Server зарегистрированный в Enterprise Manager. |
|
|
|
Database |
|
Коллекция таблиц и других элементов, которые хранят определенный |
|
|
|
|
|
набор структурированных данных. |
|
|
|
Data |
|
Набор графических инструментов и программных объектов, |
|
|
|
Transformatio |
позволяющих извлекать, изменять и объединять данные. |
||
|
|
n Services |
|
|
|
|
|
Management |
Набор графических инструментов и программных объектов для |
|
|
|
|
|
|
управления SQL Server. |
|
|
|
Replication |
Набор графических инструментов и программных объектов, |
|
|
|
|
|
|
позволяющих копировать данные и объекты базы данных и передавать их |
|
|
|
|
|
из одной базы данных в другую. |
|
|
|
Security |
|
Набор графических инструментов и программируемых объектов для |
|
КАТУ ИМ.С.СЕЙФУЛЛИНА |
|||||
|
|
|
|
управления доступом в SQL Server. |
|
|
|
Support |
|
Разнообразные утилиты для управления SQL Server. |
|
|
|
Services |
|
|
|
|
|
Meta |
Data |
Утилиты для сопровождения метаданных (данных о данных) для баз |
|
|
|
Services |
|
данных. |
К.ТСистемные.Нбазы.данныхОМАРБЕКОВА А.С.
Дерево консоли Console Tree в Enterprise Manager всегда содержит четыре базы данных, которые использует собственно SQL Server. Эти базы данных называются системными базами данных. Их роли в SQL Server описаны в таблице 3.
Таблица 3 - Системные базы данных SQL Server
Системная |
|
база |
Назначение |
данных |
|
Master |
База данных master записывает всю информацию, необходимую для управления |
|
пользователя. База данных определена |
|
системы SQLСУБДServer, включая учетную запись |
|
в пределах процессов системы и сервера. Таблицы, хранящиеся в базе данных master, |
|
называются системным каталогом. |
Model |
База данных model используется как шаблон при создании пользователем новой базы |
|
данных. По умолчанию, база данных model содержит таблицы, составляющие |
|
каталог базы данных, таблицы которые используются SQL Server для определения |
|
других объектов в пределах базы данных пользователя. |
Msdb |
База данных msdb используется SQL Server Agent для составления расписания |
|
сопровождения задач, таких как оповещения и задания, и регистрации событий. |
|
Оповещения являются определяемыми пользователем событиями SQL Server. |
|
Задания являются рядом действий, выполняемых SQL Server Agent. |
Tempdb |
Tempdb используется для временного сохранения данных. Ее содержимое |
|
автоматически очищается при выключении SQL Server. В действительности, все |
|
временные объекты, созданные пользователем, уничтожаются при выходе этого |
|
пользователя из системы. |
|
6 |
Внимание! Поскольку целостность системы базы данных имеет важное значение для успешной работы SQL Server, вы должны всегда использовать инструменты администрирования, предоставляемые Enterprise Manager или программным интерфейсом (SQL-DMO) для изменения содержимого баз данных master или msdb.
Руководствуйтесь принципом: смотрите, но не трогайте!
Совет. Любые объекты, добавленные вами в базу данных model, будут автоматически добавляться в любые создаваемые вами новые базы данных. Это может быть удобно, если вы, например, захотите, чтобы некоторые пользователи или конфигурационные опции базы данных появлялись во всех новых базах данных.
Помните, однако, что любые объекты, добавленные вами в базу данных model, будут автоматически добавляться только в новые базы данных, но не в уже существующие.
Соединение с базой данных и выход из нее
После того, как вы зарегистрировали сервер с помощью Enterprise Manager и запустили его, вы можете создать новую базу данных или соединиться с существующей.
Объекты базы данных
Базы данных SQL Server существуют как часть дерева консоли Console Tree в SQL Server. Эти базы данных содержат различные объекты, определяющие данные, которые хранятся в базе данных, и маршруты для доступа к этим данным.
В дальнейшем мы подробно рассмотрим большинство из этих объектов, а пока они будут кратко
КАТУописаны в таблице 4ИМ. .С.СЕЙФУЛЛИНА
Таблица 4 - Объекты, содержащиеся в базах данных SQL Server
Значок |
Объект |
Описание |
|
Diagram |
Графическое представление таблиц в базе данных. |
К.Т.Н. ОМАРБЕКОВА А.С. |
||||
|
Table |
|
Информация, сгруппированная в строки и столбцы. |
|
|
View |
|
Виртуальная таблица, предоставляющая альтернативный метод просмотра |
|
|
|
|
информации в базе данных. |
|
|
Stored |
|
Набор команд Transact SQL, выполняющихся в пакетном режиме. |
|
|
Procedure |
|
|
|
|
User |
|
ЗначениеСУБД, |
|
|
|
Пользователь, идентифицируемый в системе для целей обеспечения |
||
|
|
|
безопасности. |
|
|
Role |
|
Группа разрешений, используемых для целей обеспечения безопасности. |
|
|
Rule |
|
Объект базы данных, связанный со столбцом, или пользовательский тип |
|
|
|
|
данных, определяющий, какие данные могут быть введены в этот столбец. |
|
|
Default |
автоматически присваемое самой системой, если пользователь |
|
|
|
|
|
не предоставил его. |
|
|
User |
Defined |
Тип данных, определенный пользователем для хранения данных |
|
|
Data Type |
специального типа. |
||
|
User |
defined |
Набор команд Transact SQL, принимающих параметры и возвращающих |
|
|
Function |
результат. |
Создание базы данных
В окружении Microsoft SQL Server вы храните таблицы, представления и другие объекты, относящиеся к определенному набору информации, в базе данных, поэтому первым шагом при реализации приложения, работающего с базой данных, является, создание базы данных.
Для каждой логической базы данных SQL Server создает два физических файла: один для объектов, а другой для журнала транзакций (операций).
Совет. По умолчанию SQL Server подразумевает одинаковое местонахождение для файла базы данных и журнала транзакций, в рабочих системах вам следует всегда хранить журнал транзакций в
7
другом месте, желательно, на другой машине. Это позволит восстановить базу данных в случае отказа аппаратных средств, в результате которого чтение диска станет невозможным.
Создание новой базы данных
Хотя можно создать новую базу данных с помощью команды New Database (Новая база данных) из контекстного меню папки Databases (Базы данных), проще это сделать, воспользовавшись мастером создания базы данных Create Database Wizard.
Установка свойств базы данных
Когда вы создаете базу данных с помощью мастера Create Database Wizard, вы указываете определенные характеристики, или свойства, базы данных, такие как имя базы данных и место размещения. После создания базы данных вы можете поменять эти свойства, изменив соответствующие параметры в диалоговом окне Properties (Свойства).
Например, увеличение размера физического файла – это довольно серьезная операция, выполнение которой может привести к увеличению времени отклика сервера. Если вы обнаружите, что SQL Server приходится слишком часто увеличивать размер файла. Вам следует учитывать возможность изменения процента увеличения размера файла в диалоговом окне Properties (Свойства), чтобы сервер смог увеличивать размер файла более, чем на 10% (установка по умолчанию).
Управление базами данных
С помощью Enterprise Manager вы можете изменять свойства базы данных, а также удалять их. Примечание. Другой задачей по обслуживанию, которая может вам потребоваться, является
переименование базы данных. Эта задача не может быть выполнена с помощью Enterprise Manager. Как
КАТУэто сделать, вы узнаетеИМпозже. .С.СЕЙФУЛЛИНА
Удаление базы данных
Если база данных, которую вы создали, вам больше не нужна, вы можете удалить ее с сервера. При удалении базы данных удаляются все физические файлы, связанные с базой данных, и все ссылки на базу данных в системных таблицах.
Совет. Рекомендуется делать резервные копии системных баз данных после удаления базы данных.
К.ТЗадания.Н: . ОМАРБЕКОВА А.С.
1)запустите Enterprise Manager;
2)зарегистрируйте сервер;
3)запустите сервер; СУБД
4)приостановите сервер;
5)остановите сервер;
6)создайте новую базу данных;
7)измените процент увеличения размера файла;
8)удалите базу данных.
Методические указания
1)Запустите Enterprise Manager.
Нажмите кнопку Start (Пуск) в панели задач Microsoft Windows.
Выберите Programs (Программы) и затем папку Microsoft SQL Server. В открывшейся папке Microsoft SQL Server появится список значков.
Нажмите на значке программы Enterprise Manager. Появится окно Enterprise Manager представленное на рисунке 1.
2)Зарегистрируйте сервер.
Щелкните правой кнопкой мыши на группе сервера в дереве консоли Console Tree. Появится контекстное меню, представленное на рисунке 2.
8
Рисунок 2 КАТУВ контекстномИМменю нажмите.Сна New.SQLСЕЙФУЛЛИНАServer Registration (Новая регистрация SQL Server).
Нажмите Next (Далее). Появиться первая страница мастера регистрации Register SQL Server Wizard со списком имен серверов, известных системе (рисунок 3).
К.Т.Н. А.С.
Рисунок 3
Если сервер, который вы хотите зарегистрировать, присутствует в списке, то выберите его в поле списка имен и нажмите Add (Добавить). Если имя сервера там отсутствует, то введите его имя в текстовом поле, а затем нажмите на кнопке Add (Добавить). Мастер отобразит сервер в поле Added Servers (Добавленные серверы) (рисунок 4).
9
Рисунок 4
Нажмите Next (Далее). Мастер отобразит окно, запрашивающее, какой метод идентификации вы выбираете.
Если ваш системный администратор сказал вам использовать аутентификацию SQL Server Authentication, щелкните на кнопке выбора The SQL Server Login Information That Was Assigned To Me By The System Administrator (SQL Server Authentication). При этом для входа будет использоваться
информация, назначенная вам системным администратором.
КАТУНажмите NextИМ(Далее). .С.СЕЙФУЛЛИНА
Если вы выбрали аутентификацию SQL Server Authentication, то вам нужно будет ввести ваш идентификатор учетной записи и пароль. Введите эту информацию и нажмите Next (Далее). Мастер отобразит экран, спрашивающий вас о том, какую вы выберите группу, в которую новый сервер должен
быть добавлен.
К.ТНажмите.НNext.(ДалееОМАРБЕКОВА) для добавления сервера в группу по умолчанию. Мастер отобразитА.окноС, . сообщающее о том, что сервер добавлен.
Нажмите Finish (Готово). Мастер завершит задачи, необходимые для регистрации сервера, и отобразит окно подтверждения.
Нажмите Close (ЗакрытьСУБД).
Мастер Register SQL Server Wizard будет закрыт, а в дереве консоли Console Tree появиться новый сервер.
Совет. Вам нужно зарегистрировать экземпляр SQL Server только один раз. Enterprise Manager запоминает зарегистрированные серверы при следующем запуске программы.
3)Запустите сервер
Щелкните правой кнопкой мыши на сервере. Нажмите Start (Запуск) в появившемся контекстном
меню.
4)Приостановите сервер
Щелкните правой кнопкой мыши на сервере. Нажмите Pause (Приостановить) в появившемся контекстном меню.
5)Остановите сервер
Щелкните правой кнопкой мыши на сервере. Нажмите Stop (Остановить) в появившемся контекстном меню.
Внимание! Перед тем, как продолжить работу над уроком, убедитесь, что используемый вами сервер запущен.
6)Создайте новую базу данных
Найдите папку Databases на сервере, который вы используете для выполнения упражнений и уроков из этого курса. SQL server отобразит список баз данных в рабочей панели Details Pane.
Щелкните на кнопке Wizard (Мастер) в панели инструментов Enterprise Manager. SQL server отобразит диалоговое окно Select Wizard (Выбор мастера) (рисунок 5).
10