Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к экзамену БД SQL.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
349.7 Кб
Скачать
  1. Встроенный sql. Однострочные и многострочные запросы.

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

Многострочные запросы. Для реализации запросов, в результа­те выполнения которых может быть получено произвольное коли­чество строк, язык SQL предоставляет программисту механизмы выборки данных, основанные на использовании курсоров.

  1. Управление транзакциями. Модель транзакции. Свойства транзакции. Журнализация. Проблемы многопользовательских систем. Блокировки.

  1. Триггеры. Основные сведения. Создание триггера. Триггер удаления.

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

USE pubs

GO

CREATE TRIGGER trAddAuthor

ON authors

FOR INSERT, UPDATE

AS raiserror (‘%d rows have been modifed’, 0, 1

@@rowcount)

RETURN

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

удаления

USE pubs

GO

INSERT authors

(au_id, au_name, au_fname, phone, address, city, state, zip, contract)

VALUES

(‘777-66-555’, ‘Vasiliy’, ‘Sidorov’, ‘+7000666666’, ‘666 hell-street’,

‘Magadan’, ‘Magad. Obl.’, ‘874763’,0)

1 rows have been modified

(1 row(s) affected)

Теперь создадим триггер DELETE, подсчитывающий количество удаленных строк:

CREATE TRIGGER trDelAuthors

ON authors

FOR DELETE AS reiserror

(‘%d rows are going to be deleted from this table’, 0, 1, @@rowcount)

Теперь при удалении всех строк со значением поля au_fname равным Sidorov:

  1. Хранимые процедуры. Назначение хранимых процедур. Создание и использование хранимых процедур.

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

Создание и использование хранимых процедур

Хранимые процедуры создаются при помощи оператора CREATE PROCEDURE. Процедура создается в текущей базе данных или, если это временная хранимая процедура, во временной базе tempdb. Для создания необходимо обладать правом вызова оператора CREATE PROCEDURE.

  1. Администрирование баз данных. Управление учетными записями и правами доступа в ms sql Server. Резервное копирование и восстановление баз данных.

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

Управление учетными записями и правами доступа в Microsoft SQL Server

При подключении к MS SQL Server проверка прав доступа пользователя возможна на трех уровнях. Первый уровень представляет служба защиты данных Windows NT/2000 (в случае использования Windows 9x эта проверка не осуществляется), второй — SQL Server (проверка учетной записи), а третий — отдельно взятая база данных (проверка имени пользователя и его прав). То есть подключение происходит поэтапно. В идеале, удаленный пользователь проходит следующие проверки:

Операционная система определяет, имеет ли данный пользователь права на установку соединения. При положительном результате устанавливается соединение с удаленной машиной.

СУБД проверяет наличие учетной записи пользователя. При положительном результате создается сеанс подключения к службе Microsoft SQL Server.

Вызываемая БД проверяет имя пользователя и определяет его права.

БД предоставляет доступ или отказывает в нем при каждом обращении к тому или иному компоненту в зависимости от прав, которыми обладает подключившийся пользователь.

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

Microsoft SQL Server 2000 может использовать один из трех способов аутентификации:

Смешанный режим (mixed mode), при котором выполняются все вышеописанные действия по аутентификации пользователя.

Режим аутентификации Windows (Integrated mode), при котором все обязанности по защите данных ложатся на операционную систему. Любой пользователь, зарегистрированный в Windows, получает доступ к SQL Server.

Режим аутентификации SQL Server. Используется для операционных систем, не имеющих средств аутентификации пользователей таких, как Windows 95/98/ME.

. Резервное копирование и восстановление баз данных

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