
- •Новосибирская государственeная академия экономики и управления
- •«Базы данных»
- •Новосибирск 2009
- •Обзор принципов работы систем клиент/сервер
- •Основные сведения об sql-сервере
- •Работа с базами данных
- •Создание базы данных на сервере
- •Объекты базы данных
- •Краткое описание ролей, используемых для доступа к базе данных
- •Типы данных, используемые в sql-сервере. Создание пользовательских типов данных.
- •Текстовые типы данных
- •Числовые типы данных
- •Определение таблиц в sql-сервере
Работа с базами данных
Если базу данных можно определить как упорядоченный, логически структурированный набор данных, который обрабатывается по определенным правилам, то в SQL-сервере понятие базы данных несколько расширено, поскольку в ней могут создаваться объекты, непосредственно не связанные с хранением данных, например такие, как хранимые процедуры, триггеры, виды и другие объекты, выполняющие обработку данных. Общая структура базы данных в SQL-сервере представлена на рис. 3.
Рис. 3. Структура базы данных в SQL-сервере
Кроме базы данных, SQL-сервер поддерживает журнал транзакций. В журнале транзакций фиксируются все изменения, внесенные в базу данных с момента ее полного сохранения на диске (рис. 4). При создании базы данных SQL Server автоматически создает для нее журнал транзакций. SQL Server использует содержимое журнала транзакций для проверки, что определенная транзакция завершена, а также для инкрементального восстановления базы данных.
Тот факт, что SQL Server в состоянии гарантировать стопроцентное завершение транзакций, выгодно отличает его от более ранних версий СУРБД. С точки зрения SQL Server любая операция по модификации данных должна иметь начало и конец, которые и фиксируются в журнале транзакций. Поэтому, если при анализе журнала транзакций выясняется, что для некоторой операции отсутствует запись о завершении операции модификации данных, SQL Server автоматически возвращает состояние данных на момент начала этой операции.
Рис. 4. Схема выполнения транзакции
SQL Server использует метод упреждающей записи в журнал транзакций. Это означает, что все изменения, вносимые в базу данных, вначале фиксируются в журнале транзакций, а затем - в базе данных. В журнале транзакций записываются изменения, выполняемые такими операторами, как UPDATE, INSERT и DELETE, а также факт создания объекта и изменения прав доступа.
При выполнении любой команды модификации данных SQL Server автоматически отмечает в журнале транзакций начало и окончание выполняемой операции. Кроме того, существуют специальные команды, с помощью которых можно явно указать SQL Server начало и конец блока выполняемых операторов, модифицирующих данные. Обычно их применяют в случае, если за одну логическую операцию необходимо модифицировать несколько данных.
Любая база данных размещается хотя бы в одном файле операционной системы. Для каждой базы данных создается журнал транзакций, который занимает один или несколько файлов на жестком диске сервера. В зависимости от назначения базы данных вы можете создать для нее один или несколько файлов, содержащих данные и журнал транзакций (рис. 5).
Рис. 5. Размещение базы данных и ее журнала транзакций в файлах операционной системы
Создание базы данных на сервере
Запустите SQL Server Management Studio из системного меню Пуск | Программы | Microsoft SQL Server 2005 (или с помощью команды sqlwb в командной строке).
Для создания базы данных в Management Studio есть несколько способов. Первый и самый простой - это выбор в Management Studio соответствующего пункта New Datadase в окне Object Explorer:
В появившемся окне мастера задаем на вкладке General имя базы данных (поле Database name):
Cобственно говоря, все. Можно нажимать на кнопку OK в нижней части окна - база данных будет создана. А можно задать еще дополнительные параметры, например, задать дополнительные файлы для данных и для журнала - для этого нажимаем на кнопку Add на этой же вкладке General.
Созданная база данных появится в окне Object Explorer.
Можно создать и SQL-скрипт для создания базы данных. Для этого в окне Object Explorer в контекстном меню базы данных выбираем Script Database as -> CREATE To -> New Query Editor Window:
и в новом окне SQL редактора появится скрипт для создания базы данных. Это скрипт можно сохранить и запустить потом на другом SQL сервере для создания базы данных с такой же структурой.
Команда Transact-SQL CREATE DATABASE:
Синтаксис команды:
CREATE DATABASE имя_ базы_ данных
[ON [PRIMARY]
[ <filespec> [,...n]]
[ <filegroup> [,...n]]
]
[LOG ON {<filespec>} [,...n]]
[FOR LOAD | FOR ATTACH | FOR RESTORE]
<filespec> ::=
([NAME = логическое имя файла,] FILENAME = 'физическое имя файла'
[, SIZE = размер]
[, MAXSIZE = {максимальный размер | UNLIMITED}]
[, FILEGROWTH = величина приращения})
Задание: создайте базу данных «Premer» с помощью первого способа и «Temp» с помощью второго.