Чтение онлайн

на главную - закладки

Жанры

Обработка баз данных на Visual Basic®.NET

Прайс Кевин Т.

Шрифт:

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

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

с именем Smith, и пробуем вставить в нее запись о клиенте Smythe с помощью следующей команды INSERT:

INSERT INTO tblCustomer (FirstName, LastName)

VALUES ('Abigail', 'Smythe')

Теперь работу созданного триггера можно проверить с помощью следующего запроса:

SELECT LastNameSoundex, LastName

FROM tblCustomer

WHERE LastName = 'Smythe'
 

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

CREATE PROC LastNameLookup

@name varchar(40) AS

SELECT * FROM tblCustomer

WHERE soundex(@name) = LastNameSoundex

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

После выполнения этой процедуры программа Query Analyzer возвращает набор записей, состоящий из клиентов с фамилией, созвучной smith, включая клиента с фамилией Smythes (рис. 3.21).

РИС. 3.21. Набор записей, возвращенный хранимой процедурой LastNameLookup

Управление пользователями и средства безопасности с помощью программы SQL Server Enterprise Manager

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

Параметры безопасности SQL Server позволяют добиться большой гибкости в определении доступа к данным. Каждая база данных обладает своим набором пользователей, которые обладают своими наборами разрешений. Набор разрешений дает пользователю возможность доступа к данным и их изменения, а также (в случае необходимости) потенциального создания и удаления самой базы данных.

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

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

Создание и сопровождение учетных записей пользователей

Для надежной и гибкой системы безопасности требуется создать систему идентификации каждого пользователя. В SQL Server система идентификации пользователей основана на учетных записях пользователей. Учетной записью (login) называется объект (как правило, человек), который обладает доступом к SQL Server. Учетные записи используются для регистрации в системе пользователей. Пользователь может обладать специальными разрешениями учетной записи для доступа к отдельной базе данных. Широкий набор разрешений пользователей определяется с помощью ролей.

Для регистрации пользователя нужно сначала создать его учетную запись, выполнив приведенные ниже действия.

1. В программе SQL Server Enterprise Manager откройте папку Security для используемого сервера SQL Server.

2. Щелкните правой кнопкой мыши на объекте Logins и выберите команду Action→New Login (Действие→Новая учетная запись).

3. Появится диалоговое окно SQL Server Login Properties — New Login (рис. 3.22).

4. Для создания новой учетной записи установите переключатель SQL Server Authentication (Аутентификация на сервере SQL Server) и введите имя пользователя в поле Name. По желанию введите пароль в поле Password.

НА ЗАМЕТКУ

При использовании аутентификации Windows нужно предусмотреть процедуру в клиентском приложении, с помощью которой пользователь мог бы изменить свой пароль. Эту процедуру можно реализовать с помощью sp_password. Учтите, что при использовании интегрированной системы безопасности это необязательно, потому что в таком случае используются механизмы аутентификации и изменения паролей системы Windows NT/2000. 

РИС. 3.22. Диалоговое окно SQL Server Login Properties, предназначенное для создания новой учетной записи

5. При отображении учетной записи Windows NT/2000 на учетную запись SQL Server установите переключатель Windows Authentication (Аутентификация Windows), а затем щелкните на кнопке с многоточием для выбора существующей учетной записи Windows NT/2000.

6. Укажите используемую по умолчанию базу данных, выбрав Novelty в списке баз данных Database.

7. Укажите базы данных, к которым осуществляется доступ с помощью этой учетной записи, воспользовавшись вкладкой Database Access (Доступ к базе данных) в диалоговом окне SQL Server Login Properties (рис. 3.23).

8. Щелкните на кнопке по окончании присвоения учетной записи. После создания такой учетной записи связанный с ней пользователь может осуществлять доступ к указанной базе данных. Новая учетная запись сразу же отображается в консольном окне Microsoft SQL Servers программы SQL Server Enterprise Manager (рис. 3.24). 

РИС. 3.23. Создание новой учетной записи для доступа к базе данных

Управление ролями с помощью программы SQL Server Enterprise Manager

Поделиться:
Популярные книги

Пенсия для морского дьявола

Чиркунов Игорь
1. Первый в касте бездны
Фантастика:
попаданцы
5.29
рейтинг книги
Пенсия для морского дьявола

Вечный. Книга II

Рокотов Алексей
2. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга II

Сумеречный Стрелок 4

Карелин Сергей Витальевич
4. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 4

Все не так, как кажется

Юнина Наталья
Любовные романы:
современные любовные романы
7.70
рейтинг книги
Все не так, как кажется

Архил...?

Кожевников Павел
1. Архил...?
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Архил...?

Газлайтер. Том 16

Володин Григорий Григорьевич
16. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 16

Идущий в тени 4

Амврелий Марк
4. Идущий в тени
Фантастика:
боевая фантастика
6.58
рейтинг книги
Идущий в тени 4

Кодекс Охотника. Книга VII

Винокуров Юрий
7. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
4.75
рейтинг книги
Кодекс Охотника. Книга VII

Дворянская кровь

Седой Василий
1. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
7.00
рейтинг книги
Дворянская кровь

Мимик нового Мира 4

Северный Лис
3. Мимик!
Фантастика:
юмористическая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Мимик нового Мира 4

Сумеречный Стрелок 3

Карелин Сергей Витальевич
3. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 3

Начальник милиции

Дамиров Рафаэль
1. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции

Без шансов

Семенов Павел
2. Пробуждение Системы
Фантастика:
боевая фантастика
рпг
постапокалипсис
5.00
рейтинг книги
Без шансов

Сумеречный Стрелок 5

Карелин Сергей Витальевич
5. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 5