Научная статья на тему 'Создание клиент-серверных приложений'

Создание клиент-серверных приложений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
8636
507
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛИЕНТ-СЕРВЕРНЫЕ ПРИЛОЖЕНИЯ / MICROSOFT SQL SERVER 2012 / БАЗА ДАННЫХ / ПРЕДСТАВЛЕНИЯ / ХРАНИМЫЕ ПРОЦЕДУРЫ / ПОЛЬЗОВАТЕЛЬСКИЕ ФУНКЦИИ / ЛОКАЛЬНАЯ ВЕРСИЯ СЕРВЕРА / УДАЛЕННЫЙ СЕТЕВОЙ SQL-СЕРВЕР / CLIENT-SERVER APPLICATIONS / DATABASE / VIEWS / STORED PROCEDURES / USER-DEFINED FUNCTIONS / A LOCAL VERSION OF THE SERVER / A REMOTE NETWORK SQL-SERVER

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гайнанова Р. Ш., Широкова О. А.

В статье рассматриваются способы разработки клиент-серверных приложений в среде Microsoft SQL Server 2012 на примере создания проекта «Отдел кадров», включающего базу данных «Кадры». Рассматриваются способы создания базы данных в среде SQL Server Management Studio. В проекте поддерживается работа с тремя основными типами запросов, сохраняемыми в базе данных на сервере: представления, хранимые процедуры, пользовательские функции. Созданное с использованием локальной версии сервера приложение перенесено на удаленный сетевой SQL-сервер.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Создание клиент-серверных приложений»

УДК 004.415.2.043

Р. Ш. Гайнанова, О. А. Широкова

СОЗДАНИЕ КЛИЕНТ-СЕРВЕРНЫХ ПРИЛОЖЕНИЙ

Ключевые слова: клиент-серверные приложения, Microsoft SQL Server 2012, база данных, представления, хранимые процедуры, пользовательские функции, локальная версия сервера, удаленный сетевой SQL-сервер.

В статье рассматриваются способы разработки клиент-серверных приложений в среде Microsoft SQL Server 2012 на примере создания проекта «Отдел кадров», включающего базу данных «Кадры». Рассматриваются способы создания базы данных в среде SQL Server Management Studio. В проекте поддерживается работа с тремя основными типами запросов, сохраняемыми в базе данных на сервере: представления, хранимые процедуры, пользовательские функции. Созданное с использованием локальной версии сервера приложение перенесено на удаленный сетевой SQL-сервер.

Keywords: client-server applications, Microsoft SQL Server 2012, database, views, stored procedures, user-defined functions, a local

version of the server, a remote network SQL-server.

This article discusses how to develop a client-server application in Microsoft SQL Server 2012 environment through the creation of "Human Resources" project, which includes the database "Personnel". The methods to create a database in SQL Server Management Studio environment are considered. The project uses the work of the three main types of queries, stored in a database on the server: views, stored procedures, user-defined functions.Created using a local version of the server application is moved to a remote network SQL-server.

Введение

В статье рассматриваются способы разработки клиент-серверных приложений в среде Microsoft SQL Server 2012 [1,2,3,4,5], причем рассматривается случай, когда Microsoft SQL Server 2012 установлен на локальном компьютере. Созданное с использованием локальной версии сервера приложение будет полностью пригодно для работы с базой данных на большом сетевом SQL-сервере. После завершения разработки, переместив базу с локального компьютера на сервер и модифицировав информацию о соединении, проект можно подключить к удаленному серверу. Кроме того, использование локального варианта SQL-сервера позволяет изучить средства управления базами клиент-серверной архитектуры при наличии одного компьютера.

Архитектура "клиент-сервер"

Программное обеспечение архитектуры "клиент-сервер" состоит из двух частей: программного обеспечения сервера и программного обеспечения пользователя — клиента. Программа-клиент выполняется на компьютере пользователя и посылает запросы к программе-серверу, которая работает на компьютере общего доступа. Основная обработка данных производится мощным сервером, а на компьютер пользователя возвращаются только результаты выполнения запроса. В такой архитектуре сервер называется сервером баз данных.

Широко известными СУБД, используемыми в архитектуре "клиент-сервер", являются Microsoft SQL Server, Oracle, Sybase SQL Server и др. Эти СУБД являются реляционными SQL-серверами баз данных. СУБД архитектуры "клиент-сервер" может включать собственную клиентскую программу. В то же время в качестве клиентов сервера баз данных могут использоваться другие СУБД. Access также может работать в качестве клиента SQL-сервера. Для взаимосвязи клиентов с сервером разработано

специальное программное обеспечение. Широко используемыми интерфейсами таких взаимосвязей являются ODBC и OLE DB. Access предоставляет несколько способов взаимодействия приложения с данными сервера на основе интерфейса ODBC.

ODBC - это стандартный интерфейс между базой данных и приложением, взаимодействующим с ней. Наличие подобного стандарта позволяет любому приложению на клиентском компьютере получать доступ к любой базе данных на сервере с помощью SQL. Приложение получает доступ к конкретной базе данных, используя специально разработанный под нее драйвер (драйвер ODBC). Интерфейс ODBC состоит из четырех функциональных компонентов, именуемых уровнями ODBC. Благодаря каждому из них достигается гибкость ODBC, позволяющая взаимодействовать любым ODBC-совместимым клиентам и серверам. Между пользователем и данными, которые он хочет получить, процесс проходит четыре уровня интерфейса ODBC: приложение, диспетчер драйверов, драйвер DLL, источник данных.

С версии 2000 Access включает средства создания клиентских приложений Microsoft SQL Server, которые позволяют не только использовать существующие на сервере базы данных, но и создавать новые и взаимодействовать с ними на основе интерфейса OLE DB. OLE DB — это архитектура компонентов базы данных, реализующая эффективный доступ по сети и через Интернет к источникам данных многих типов, в том числе реляционным источникам данных, почтовым файлам, неформатированным текстовым файлам и электронным таблицам. Набор OLE-интерфейсов обеспечивает универсальный доступ к данным различного формата. В архитектуре OLE DB приложения, получающие доступ к данным, называют потребителями данных, например Access или Visual Basic. Программы, обеспечивающие внутренний доступ к данным, называют средствами

доступа к базам данных - провайдерами, например, Microsoft OLE DB Provider for Microsoft SQL Server (рис. 1) или Microsoft Jet 4.0 OLE DB Provider для доступа к базе данных Microsoft Access внешнего потребителя. При установке Microsoft Office или Microsoft Access автоматически инсталлируются провайдеры OLE DB.

Каждый провайдер требует определения специфического набора параметров для связи с источником данных. Для того, чтобы из проекта Access подключиться к базе данных Microsoft SQL Server, нужно определить имя сервера, имя базы данных, задать способ регистрации на сервере, имя пользователя, пароль.

Требуемый тип провайдера Microsoft OLE DB Provider for SQL Server выбирается проектом по умолчанию. Эти параметры сохраняются как строка связи с базой данных сервера в проекте Access. Кроме того, они могут сохраняться в udl-файле. Файлы подключения можно использовать просто для организации и управления сведениями, необходимыми для подключения к источникам данных OLE DB. Открывается диалоговое окно Свойства связи с данными (Data Link Properties), причем выбор типа провайдера Microsoft OLE DB Provider для SQL-сервера выполняется по умолчанию.

Рис. 1 - Схема взаимодействия проекта Accessи SQL-сервера в сети

Компоненты системы SQL Server 2012

Система SQL Server 2012 играет роль платформы данных с возможностью динамической разработки, обширной бизнес-аналитикой, с выходом за пределы реляционной модели, закладывая прочный фундамент, на котором могут строить ИТ инфраструктуру малые, средние и крупные организации. В состав SQL Server 2012 входят следующие компоненты[1]:

• Служба ядра БД (Database Engine). Основные компоненты БД, уведомлений и репликации. Ядро БД является сердцем SQL Server. Репликация повышает доступность данных, распределяя их по нескольким БД и разделяя нагрузку чтения данных по нескольким выделенным серверам БД.

• Аналитические службы (Analysis Services). Обеспечивают функциональность OLAP (Online Analytical Processing) и анализа данных для приложений бизнес-аналитики. Аналитические службы позволяют организации собирать данные из разных источников, например, реляционных баз данных и обрабатывать их различными способами.

• Службы интеграции (Integration Services). Предназначены для слияния данных из разнородных источников, загрузки данных в хранилища, витрины данных и пр.

• Службы отчетов. Включают диспетчер отчетов и сервер отчетов. Представляют полномасштабную платформу для создания,

управления и распространения отчетов. Сервер отчетов построен на стандартных технологиях Microsoft Internet Information Services (IIS) и Microsoft .NET Framework и позволяет использовать для обработки и хранения отчетов сочетание возможностей SQL Server и IIS.

• Service Broker. Ключевая часть БД, обеспечивающая организацию очередей и обмена сообщениями. Очереди используются для упорядочения задач, например, запросов, чтобы они выполнялись по мере высвобождения ресурсов. Сообщения обеспечивают передачу информации от одного приложения БД другому.

Объекты базы данных SQL Server

Объектами базы данных SQL Server являются таблицы, индексы, представления, хранимые процедуры, триггеры, пользовательские функции.

Таблицы - являются основной формой для сбора информации, содержат все данные в базах данных SQL Server. Каждая таблица представляет собой тип объекта, который имеет смысл для пользователей.

Индекс - структура на диске, связанная с таблицей или представлением, которая ускоряет поиск строк таблицы или представления. Индекс содержит ключи, созданные для одного или нескольких столбцов таблицы или представления. Эти ключи хранятся в виде B-древовидной структуры, что позволяет SQL Server, быстро и эффективно находить строку или строки, связанные

с ключевыми индексами. Существуют кластерные и не кластерные индексы.

Представления являются запросами на выборку. Они выполняют извлечение данных из таблиц с помощью инструкции языка SQL SELECT и реализуют одно их основных назначений базы данных - предоставлять информацию пользователю. Результатом выполнения инструкции SELECT является таблица. Представления - это просто хранящиеся в базе данных SELECT-инструкции. С точки зрения пользователей представление - это таблица, которая не хранится постоянно в базе данных, а формируется в момент обращения к ней.

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

Триггеры представляют собой объекты базы данных, связанные с таблицей. Во многом они похожи на хранимые процедуры и часто упоминаются как "особый вид хранимых процедур". Основное различие между триггером и хранимой процедурой в том, что триггер связан с таблицей и работает только при работе выражения INSERT, UPDATE или DELETE.

Пользовательские функции,подобно функциям языков программирования, являются

подпрограммами Transact-SQL, которые принимают параметры, выполняют некоторое действие, например сложный расчет, и возвращают результат этого действия в виде значения. Функции подразделяются на скалярные, возвращающие единственное значение заданного типа данных, и табличные, возвращающие таблицы (значение типа table). Вызов функции сопровождается круглыми скобками, даже если она не имеет параметров. Пользовательские функции не могут выполнять действия, изменяющие состояние базы данных. Изменениям может подвергаться только возвращаемый набор данных. Пользовательские функции делают возможным модульное программирование, не требуют повторного синтаксического анализа и оптимизации при каждом вызове, что значительно ускоряет их выполнение.

Этапы разработки клиент-серверных приложений

В статье рассматриваются этапы разработки клиент-серверных приложений [5] на примересоздания проекта «Отдел кадров», включающего базу данных «Кадры». Персонал любой организации представлен его кадрами. Состав и структура кадров постоянно меняется в соответствии и с изменением техники, технологии, организации производства и управления. Состав

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

Основным инструментом для управления БД и серверами является среда SQL Server Management Studio. Графический интерфейс этой среды упрощает управление серверами, БД и ресурсами [1]. В этой среде можно создавать базы данных. В выбранной базе данных можно создавать таблицы, представления, хранимые процедуры, функции разных типов. В окне этой среды все объекты представлены в виде дерева. Базы данных сервера, с которыми может работать пользователь, представлены в поддереве объектов SQL Server в папке «Базы данных». Папка «Безопасность» содержит список пользователей, имеющих доступ к серверу.

Разработка проекта начинается с создания на сервере БД «Кадры». В окне обозревателя объектов выполним команду «Создать базу данных». Создается таблица «Подразделения». Структура таблицы: номер подразделения (ключевое поле), название подразделения, руководитель

подразделения, телефон. Далее создается таблица «Сотрудники». Структура таблицы: ФИО, табельный номер (ключевое поле), номер подразделения (внешний ключ), должность, оклад. Кроме этого создаются множество других таблиц, например, таблица «Анкета», содержащая анкетные данные сотрудника; таблица «Табель» для ведения учета рабочего времени; «График отпусков», «Повышение квалификации» и т.д.

Новые таблицы создаются и изменяются в среде SQL Server Management Studio при помощи инструкций CREATE TABLE и ALTER TABLE. Для создания таблицы в окне БД выполним команду «Создать таблицу».

Имя столбца Тип данных Разрешить,.,

►! яятгшдщ int

Назв_подразд nchar[30) \J\

Руксжод_подр nchar[30) [7\

Телефон ncharQ.0) 0

Рис. 2 - Вид окна «Создание таблицы»

Для создания таблицы «Сотрудники» введем следующую инструкцию: CREATE TABLE [dbo].[Сотрудники]( [ФИО] [nchar](30) NULL, [Таб_ном] [int] NOT NULL PRIMARY KEY, [Ном_подразд] [int] NOT NULL FOREIGN KEY REFERENCES Подразделения(Ном_подразд) ON DELETE CASCADE,

[Должность] [nchar](30) NULL, [Оклад] [money] NULL,

)

Ограничение FOREIGN KEY устанавливает связи между таблицами и обеспечивает ссылочную целостность. Внешний ключ одной таблицы указывает на потенциальный ключ другой. В таблицу с внешним ключом нельзя добавить строку при отсутствии соответствующего потенциального ключа. Предложение ON DELETE задает действия, производимые при попытке удаления строки, на которую ссылается внешний ключ. CASCADE- все строки с внешним ключом, ссылающимся на удаляемую строку, также удаляются.Ключевое слово REFERENCES указывает, что любое значение в столбце Ном_подразд должно находится в столбце Ном_подразд таблицы «Подразделение».

В нашем примере столбец Ном_подразд таблицы «Сотрудники» внешний ключ. Внешний ключ - это столбец одной таблицы, значения которого совпадают со значениями столбца, являющегося первичным ключом другой таблицы.

Проект Access является клиентским приложением, которое подключается к Microsoft SQL Server, расположенному в сети или на локальном компьютере. Проект Access, реализуя архитектуру "клиент-сервер", функционирует в среде Access и работает только с данными базы на SQL-сервере. Из проекта можно не только получить доступ к базе данных сервера, но и создать новую базу и ее объекты. Проект Access оснащен мощными графическими средствами, как для разработки клиентского приложения, так и базы данных на сервере. Проект Access хранится в файле типа adp (Access Data Project — проект доступа к данным). Он содержит только те объекты, которые составляют приложение: формы, отчеты, макросы и модули. В отличие от базы данных Microsoft Access проект не содержит данных или описаний структур объектов базы данных: таблицы, схемы базы данных, представления, хранимые процедуры и скалярные и табличные функции — объекты базы данных SQL-сервера — только отображаются в проекте Access.

При создании проекта «Отдел кадров» в MS Access выбирается вариант подключения к существующей на сервере базе данных[4]. Таблицы заполняются данными.

Для создания проекта Access, работающего с базой данных, размещенной на Microsoft SQL-сервере, необходимо на открывшемся после запуска Access окне в области «Новая база данных» щелкнуть на значке открытой папки, размещенном справа от поля «Имя файла»: откроется окно «Файл новой базы», в котором нужно выбрать тип файла «Проекты Microsoft Office Access (*.adp)», задать имя и папку для сохранения файла создаваемого проекта. Для завершения работы в этом окне нужно нажать кнопку OK, а в области «Новая база данных» нажать кнопку «Создать». Открывается окно, в котором выбирается один из двух вариантов: подключение к существующей на сервере базе данных или создание новой базы данных на сервере наряду с созданием проекта. Щелчком на кнопке «Да» начинается подключение к существующей на сервере базе данных. При этом открывается окно

подключения к серверу «Свойства канала передачи данных» (рис. 3), в котором, прежде всего, указывается имя сервера и способ регистрации пользователя на нем.

Далее создаются запросы для работы с БД. В проекте поддерживается работа с тремя основными типами запросов [2], сохраняемыми в базе данных на сервере: представления, хранимые процедуры, пользовательские функции. После создания они появляются в области навигации проекта. Из проекта их можно открывать, выполнять, но вносить изменения можно только на сервере.

Опишем создание встроенной функции, возвращающей табличное значение. Создадим запрос, позволяющий получить сведения о стаже работы сотрудника данного предприятия. В запрос включим поля: ФИО, Таб_номер, Дата_поступ, Стаж, где Стаж - вычисляемое поле. Стаж работы вычисляется по формуле: iif((MONTH(GetDate())-

MONTH(Анкета.Дата_поступ))>=0,Year(GetDateO)-Year(Анкета.Дата_поступ),Year(GetDateO)-Year(Анкета. Дата_поступ) -1)

Функция GetDate() возвращает текущую дату, функция MONTH - номер месяца, Year - год.

[j Свойст&а канала передачи данных

Соединение | Дополнительно | Все |

Для подключения к данным SQL Server укажите следующие сведения:

1. Выберите или введите имя сервера: B3Q2C N-8\TE5T_SQ L ^ | Обновить ] 2. Для входа в сервер использовать: (§) встроенную безопасность Windows NT О следующие имя и пароль пользователя:

Пользователь:

Пароль:

^ С Пустой пароль О Разрешить сохранение пароля (§) Выберите базу данных на сервере:

© Присоединить файл базы данных с именем:

|Кадры

И спользуя имя файла:

1 II... 1

| Проверить соединение |

QK [ Отмена | Справка |

Рис. 3 - Окно выбора параметров подключения к базе данных сервера

Для создания встроенной функции, возвращающей табличное значение, в среде SQL Server Management Stud^ окне обозревателя объектов выберем базу данных «Кадры»,откроем узел «Программирование», затем «Функции», щелкнем правой кнопкой узел «Функции, возвращающие табличное значение». В контекстном меню выберем команду «Создать встроенную функцию, возвращающую табличное значение». Указывается имя создаваемой функции (СтажРаботы), параметры не передаются. В предложении RETURNS задается ключевое слово TABLE, указывающее тип возвращаемого значения. Столбцы таблицы, возвращаемые такой функцией, определяются инструкцией SELECT. Тело функции представлено единственной командой RETURN,

после выполнения которой работа функции завершается.

CREATE FUNCTION Стаж Работы() RETURNS TABLE AS

RETURN (

SELECT Анкета.ФИО,Анкета.Таб_ном, Анкета.Дата_поступ, iif((MONTH(GetDate())-

MONTH(AHKeTa^aTa_noCTyn))>=0,Year(GetDate())-Year(Анкета.Дата_поступ),Year(GetDate())-Year(Анкета.Дата_поступ)-1) ASСтаж FROMdbo.Анкета )

Сохраним и выполним этот запрос. Если выполнение пройдет успешно, название функции появится в области навигации проекта. Откроем функцию в режиме таблицы. После сохранения инструкция создания встроенной функции CREATE FUNCTION меняется на инструкцию ALTER FUNCTION- инструкцию изменения встроенной функции.

Как пример опишем создание встроенной функции «Отпуск_за_данный_месяц». В функцию передается параметр - номер месяца и возвращается список сотрудников, уходящих в отпуск в данном месяце.

CREATE FUNCTION Отпуск_за_данный_месяц ( @Месяцт^ RETURNS TABLE AS

RETURN (

SELECT dbo.Сотрудники.ФИО, dbo.Сотрудники.Таб_ном,

dbo.Сотрудники.Ном_подразд,

dbo.Сотрудники.Должность,

dbo.График_отпусков.Начало_отпуска,

dbo.График_отпусков.Кол_дней

FROM dbo.Сотрудники INNER JOIN

dbo.График_отпусков ON dbo.Gcтрудники.Таб_ном =

dbo.График_отпусков.Таб_ном

WHERE MONTH(dboГрафик_CITпускclв.Начало_c^пуска)=@Месяц

ФИО Таб но - Ном пор - Должность Начало отг | KoflJHE -

Михайлов 11 3 ИТ-специалист 2014-03-25 15

Хасанова 1 1 Бухгалтер 2014-03-25 15

Сунгатулина 15 4 Главный инженер 2015-03-20 15

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- Борисов 19 4 Инженер 2015-03-25 15

Рис. 4 - Результат Отпуск_за_данный_месяц

функции

Теперь опишем создание хранимой процедуры, возвращающей «Список сотрудников данного подразделения». Для создания хранимой процедуры в окне обозревателя объектов выберем базу данных «Кадры», откроем узел «Программирование», щелкнем правой кнопкой узел «Хранимые процедуры». В контекстном меню выберем команду «Создать хранимую процедуру». В процедуру передается параметр Номер_подразд. CREATE PROCEDURE СписокСотрудников @Номер_подразд int AS

BEGIN

SELECT dbo. Сотрудники.ФИО, dbo. Сотрудники. Таб_ном,

dbo. Сотрудники. Должность, dbo.Сотрудники. Оклад, dbo.

Анкета.Адрес, dbo.Анкета.Телефон,

dbo. Сотрудники.Ном_подразд

FROM dbo. Сотрудники INNER JOIN

dbo.Анкета ON dbo. Сотрудники. Таб_ном = dbo.

Анкета.Таб_номер

WHERE (Сотрудники. Ном_подразд = @Номер_подразд)

ORDER BYСотрудники.ФИО

END

ФИО Табном • Должность • Оклад Адрес ' Телефон Ном_подра »

1 17 Инженер 30 000,00 Р ул.Каличева 7906546642 4

Борисов 19 Инженер зо 000,00 е ул.Толстого 7906486254 4

Рахимов 20 Практикант 20 000,00 Р ул.Мавлютовг 7941654989 4

Сунгатулина 16 Главный инже 50 000,00 9 ул.Хабиба 7906321596 4

Шакиров 18 ПОМОЩНИК ГЛё 45 000,00 Р ул.Полевая 7905046346 4

Рис. 5 - Результат процедуры сотрудников данного подразделения

Список

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

Для того чтобы форма открывалась сразу после открытия приложения создадим автоматически запускающийся при этом макрос АиЮЕхес. В макрос включается команда «Открыть Форму» с именем формы «Отдел кадров».

Рис. 6 - Вид одной из вкладок главной формы управления приложением

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

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

Первоначально действия производятся на локальном SQL-сервере, с которого осуществляется перенос данных. В среде SQL ServerManagement Studio в списке баз данных выбираем базу данных «Кадры». Открываем контекстное меню, выбираем пункт «Задачи» и ввыпадающем меню выбираем пункт «Создать резервную копию». Резервную копию будем создавать на диске.

Рис. 7 - Фрагмент окна «Резервное копирование базы данных»

Для выбора устройства, куда будет производиться копирование, нажимаем кнопку «Добавить». В открывшемся окне выбираем нужный диск и вводим имя создаваемой копии (рис. 7). Нажимаем «ОК». При успешном завершении копирования появляется сообщение: «Резервное копирование базы данных «Кадры» успешно завершено».

Дальнейшие действия производятся насетевом SQL-сервере, на которыймы переносим данные. Сетевой SQL Server 2012 работает под управлением Windows Server 2008. В Windows Server 2008 запускаем утилиту SQL ServerManagementStudio . В среде MS SQL ServerManagementStudio открываем контекстное меню на пункте «Базы данных» и выбираем пункт «Восстановить базу данных». В открывшемся окне указываем устройство, с которого будет производиться восстановление базы данных. Нажимаем кнопку с тремя точками и в открывшемся окне нажимаем кнопку «Добавить».

Указываем путь к ^bak-файлу резервной копии базы данных «Кадры». После всех настроек нажимаем кнопку «ОК». После удачного восстановления БД системный администратор для работника отдела кадров, отвечающего за работу сбазой данных, в домене Windows создает учетную запись. Затем создается имя входа и связывается с этой учетной записью. Определяются роли и разрешения на доступ для данного имени входа. Пользователь, обладающий с данной учетной записью, выбирается в качестве владельца базы данных «Кадры».

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

или владелец базы данных создает в ней имя пользователя базы данных и связывает ее с определенной учетной записью.

Для того чтобы ограничить возможности пользователя, системный администратор или владелец базы данных предоставляет данному пользователю базы данных (или роли, в которую он входит) разрешения на доступ к конкретным объектам и выполнение конкретных операций с этими объектами. Настройка ролей БД выполняется индивидуально для каждой БД, то есть у каждой БД свой собственный набор ролей. У одного пользователя может быть несколько ролей. Полномочия ролей могут быть следующие: добавление новых пользователей; создание, изменение и удаление объектов БД; выполнение резервного копирования БД; запрещение считывания и модификации данных; управление правом собственности, а также ролями базы данных и т.д.

Заключение

Практическая значимость результатов данной работы заключается в разработкеклиент-серверного приложения в среде Microsoft SQL Server 2012.В качестве клиента SQL Server используется СУБД Access. Разработанное приложение соответствует основным критериям, предъявляемым кадровыми службами для автоматизированных систем. Созданное с использованием локальной версии сервера приложение перенесено на удаленный сетевой SQL-сервер. В работе реализован способ переноса БД с помощью резервного копирования. Рассмотрены полномочия пользователей и их ролей в БД. Определен владелец базы данных «Кадры». Владельцем созданы пользователи БД, каждый из которых наделен определенными полномочиями.

Литература

1. Станек Уильям Р. Microsoft SQL Server 2012. Справочник администратора. /СПб.: БХВ-Петербург, 2013. - 576с.

2. Аллен Тейлор. SQL для чайников, 8-е издание.: Пер. с англ. - М.: ООО "И.Д. Вильямс", 2014. - 416 с.

3. Бекаревич, Ю. Б. Самоучитель Access 2010/ Ю. Б. Бекаревич, Н. В. Пушкина. - СПб.: БХВ-Петербург, 2013. - 432 с.

4. Т. В. Зудилова, Г. Ю. Шмелева Создание запросов в Microsoft SQL Server 2008 - СПб: НИУ ИТМО, 2013. -149 с.

5. Гайнанова Р. Ш. Разработка приложения типа «клиент-сервер». //НАУКА, ОБРАЗОВАНИЕ И ИННОВАЦИИ: Сборник статей Международной научно-практической конференции (25 июня 2016г., г. Томск).ч.1/-С. 70-76.

6. Кошкина Л.Ю.,Емельянов В.М., Кошкина К. В. Проектирование реляционной базы данных для мероприятий повышения квалификации в области энергоресурсосберегающих технологий //Вестник Казан. технол. ун-та. 2014. Т. 17. № 20. С. 353-356.

© Р. Ш. Гайнанова, преподаватель кафедры Общеобразовательных дисциплин КНИТУ, rgajnanova@mail.ru, О. А. Широкова - канд. физ.-мат. наук, доцент кафедры Системотехники КНИТУ, oshirokova@mail.ru.

© R. Sh. Gajnanova, lecturer Department of General subjects KNRTU, rgajnanova@mail.ru, O. A. Shirokova - PhD, Associate Professor of the Department of Systems Engineering, KNRTU, oshirokova@mail.ru.

i Надоели баннеры? Вы всегда можете отключить рекламу.