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

Если базу данных можно определить как упорядоченный, логически структурированный набор дан­ных, который обрабатывается по определенным правилам, то в 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. Размещение базы данных и ее журнала транзакций в файлах операционной системы

  1. Создание базы данных на сервере

Запустите 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» с помощью второго.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]