Наименование
процедуры
|
Состав входных
параметров
|
Назначение
процедуры
|
Add_Avtor
|
@Name_avt,@Otch_avt,@Fam_avt,@Str_avt
|
Позволяет
добавить автора в базу данных
|
Add_Izdatel
|
Name_izd,@Str_izd,@Adres
|
Позволяет
добавить издательство в базу данных
|
Add_Knig
|
@Nazvanie1,@Kol_St1,@Ganr1,@ISBN1
|
Позволяет
добавить книгу в базу данных
|
Add_Nalich
|
@R,@D,@E,@Godizd,@Kolb,@Cenab
|
Позволяет
добавить книгу список наличия книг в библиотеке
|
Add_Reador
|
@Name_R, @Familia_R, @Str_R, @Gorod_R, @Ul_R, @Dom1, @kv1, @tel1
|
Позволяет
добавить читателя в базу данных
|
Add_Vzayl
|
@D, @E, @fam, @Name, @Nazvan, @Datvz
|
Позволяет
учитывать взятую книгу
|
Del_Avtor
|
@Name_avt,@Fam_avt
|
Позволяет удалить
автора из базы данных
|
Name_izd
|
Позволяет
удалить издательство из базы данных
|
Del_Knig
|
@Nazvanie1,@ISBN1
|
Позволяет
удалить книгу из базы данных
|
Del_Nalich
|
@R,@D,@E
|
Позволяет
удалить книгу из списка наличия книг в библиотеке
|
Del_Reador
|
@Name_R, @Familia_R
|
Позволяет
удалить читателя из базы данных
|
Search_Kniga
|
Familia,
@Name_av, @Nazv_kn, @Ganr, @Name_iz
|
Отбирает нужную
книгу по одному из параметров
|
Upd_Reador
|
@Name_R, @Familia_R, @Str_R, @Gorod_R, @Ul_R, @Dom1, @kv1, @tel1
|
Позволяет удалить
читателя из базы данных
|
Upd_Vzayl
|
@Nzapis
|
Позволяет
учитывать возвращенную книгу
|
SQL код создания хранимых процедур представлен в приложении 2
2.
Администрирование сервера и базы данных
.1 Создание пользовательских ролей уровня базы
данных
Роль сама по себе не обеспечивает доступа к базе данных,
поскольку пользователь, входящий в нее, сначала должен подключиться к базе
данных, и только потом можно проверять его принадлежность к конкретной роли.
В данной курсовой работе будут присутствовать следующие роли:
adm - роль администратора;
Manager - роль менеджера библиотеки;
Bibliotekar - роль библиотекаря;
reader - роль читателя.
Синтаксис команды создания ролей представлен ниже.
sp_addrole 'adm'_addrole 'Manager', 'dbo'_addrole
'Bibliotekar'_addrole 'reader', 'dbo'
2.2 Наделение ролей пользователей правами доступа
к объектам базы данных и правами выполнения операторов
В данной базе данных члены роли Manager могут создавать
представления, хранимые процедуры, стандартные значения, правила. Синтаксис команды
предоставления прав на выполнение этих операторов для роли Manager:
Grant create view to Managercreate procedure to
Managercreate default to Managercreate rule to Manager
Для управления правами доступа интерфейс Transact - SQL SQL Server содержит инструкции GRANT, REVOKE и DENY
Предоставление роли manager права доступа на выбор (SELECT), добавление
(INSERT), изменении (UPDATE) информации в представлении For_meneg:
grant select, insert, update on For_meneg to
manager
Члены роли manager также имеют право на выполнение хранимых процедур Add_Avtor,
Add_Izdatel, Add_Knig, Add_Nalich, Del_Avtor, Del_Izdatel, Del_Knig,
Del_Nalich, Search_Kniga.
Синтаксис команд для этой роли приведен ниже:
grant execute on Add_Avtor to managerexecute on
Add_Izdatel to managerexecute on Add_Knig to managerexecute on Add_Nalich to
managerexecute on Del_Avtor to managerexecute on Del_Izdatel to managerexecute
on Del_Knig to managerexecute on Del_Nalich to managerexecute on Search_Kniga
to manager
Для роли Bibliotekar предоставляются права доступа на просмотр,
добавление, изменение информации в представлениях Read_Dolg, Read_Interes, а так же на просмотр
информации в представлении For_meneg:
grant select, insert, update on Read_Dolg to
bibliotekarselect, insert, update on Read_Interes to bibliotekarselect on
For_meneg to bibliotekar
Предоставление права на выполнение таких хранимых процедур,
как Add_Reador, Upd_Reador, Del_Reador, Add_Vzayl, Upd_Vzayl для роли Bibliotekar будет выглядеть следующим образом:
grant execute on Add_Reador to bibliotekarexecute
on Del_Reador to bibliotekarexecute on Add_Vzayl to bibliotekarexecute on
Upd_Vzayl to bibliotekarexecute on Upd_Reador to bibliotekar
Так как члены роли Reader могут только просматривать справочную информацию
по базе данных, они имеют право просмотра информации в представлении For_Readors:
grant select on For_Readors to reader
2.3 Создание пользователей базы данных
SQL Server имеет два уровня бюджетов пользователей. Первый
уровень - это идентификатор пользователя, второй уровень - собственно
пользователь. Идентификатор пользователя (login) служит для
присоединения к SQL Server. Пользователь (users) - это объекты, с
помощью которых SQL Server управляет правами доступа, позволяющими
взаимодействовать с такими ресурсами, как таблицы и хранимые процедуры в
определенной базе данных.
Синтаксис команд создания учетных записей для базы данных
библиотеки представлен ниже:
Sp_addlogin 'adm'_addlogin 'meneg'
Sp_addlogin 'bibl1'
Sp_addlogin 'bibl2'_addlogin 'read'
Определение базы данных 'Biblioteka' в качестве базы данных
по умолчанию
sp_defaultdb 'adm', ' Biblioteka'_defaultdb
'meneg', ' Biblioteka'_defaultdb 'bibl1', ' Biblioteka'_defaultdb 'bibl2', '
Biblioteka'_defaultdb 'read', ' Biblioteka'
Создание пользователя adm и предоставление ему
серверной роли sysadmin.
Sp_adduser 'adm'_addsrvrolemember 'adm',
'sysadmin'
Создание оставшихся пользователей и включение их в роли:
Sp_adduser 'meneg'_adduser ' bibl1'_adduser '
bibl2'_adduser ' read'_addrolemember 'Manager', 'meneg'_addrolemember
'Bibliotekar', 'bibl1'_addrolemember 'Bibliotekar', 'bibl2'_addrolemember
'reader', 'read'
Для запрещения просмотра, изменения и удаления той
информации, на которую доступ пользователям не был дан, производится отзыв всех
прав для членов роли public, в которую входят все пользователи базы данных
Revoke all to public
3. Обслуживание базы данных
3.1 Использование устройств резервного
копирования
В данной базе данных накопление информации идёт довольно интенсивно,
так как читатели берут книги ежедневно, то полная архивация базы данных будет
происходить ежедневно после окончания рабочего дня, то есть 19:00.
Дифференциальная копия базы данных будет проходить в
обеденный перерыв, то есть в 13:00, потому что до данного времени база данных
успевает пополниться новой информацией.
Полное и дифференциальное архивирование будут проходить
автоматически. Очищение и удаления архивных записей будет производиться по
усмотрению администратора сервера.
Создание устройства резервного копирования
В базе данных резервное копирование будет производиться на
диск.
Создание диска резервного копирования.
sp_addumpdevice 'DISK',
'Copy_Bibl', 'd:\ backup\Copy_Bibl.bak'
Восстановление
базы данных
Так как ведется полная и дифференциальная архивация базы
данных то методы восстановление её при сбое будет различные. Если база данных
вышла из строя до 13:00, то потребуется только восстановление полной резервной
копии. Если же сбой произошёл после 13:00, то придётся восстановить полную резервную
копию и после её дифференциальную копию.
Полное восстановление базы данных.database
Biblioteka from Copy_Bibl with file=1, norecovery
Восстановление дифференциальной копии.
restore database
Biblioteka from Copy_Bibl with file=2, recovery
Создание оператора работ
Сообщение оператору Admin будет отсылаться по
сети, в случае невыполнения копирования.
Создание работ
В библиотеке предусматривается
автоматическое создание полной и дифференциальной копии базы данных. Для этого
создаются две работы.
Эта работа создает полную копию в 19:00
каждый день, кроме воскресенья, так как в выходные база не пополняется новыми
данными.
В случае не выполнения копирования
отсылается оповещение оператору Admin.
Создание работы для дифференциального
копирования.
Эта работа создает дифференциальную копию
в 13:00 каждый день, кроме воскресенья.
В случае не выполнения копирования также
отсылается оповещение оператору Admin.
Создание оповещений
В данной курсовой работе предусмотрены
оповещения сообщающие о неудачном завершении создания дифференциальной или
полной копии базы данных Biblioteka.
Во второй вкладке задается работа и
оператор, которому будет отсылаться сообщение.
Создание оповещения о неудачном завершении
полного копирования базы данных.
3.3 Настройка связанных
серверов
В данной картотеке книг предполагается
использование базы данных другого офиса для согласования названий книг и их
библиотечной стоимости. Так как необходимая база данных находится на другом
сервере, следует провести настройку связанных серверов. Доступ к данным
удаленного сервера могут иметь пользователи adm и meneg. На удаленном сервере им
будут соответствовать пользователи Admin и meneger.
Указываем, что для удаленного сервера
пользователь adm переходит в пользователя Admin, а meneg переходит в meneger.
Так же следует настроить доступ к
удаленным данным и возможность вызова удаленных процедур.
Заключение
Данная курсовая работа предполагала создание и
администрирование базы данных для картотеки книг или библиотеки. Задачей
являлось разграничение доступа к объектам базы данных и повышение эффективности
работы библиотеки.
Создание базы данных и её объектов осуществлялось в первой
части курсовой работы. Здесь же были созданы представления и хранимые
процедуры, облегчающие пользователю работу с базой данных.
Вторая часть предполагала разделение пользователей в зависимости
от их функциональных обязанностей и предоставления им определенных прав при
работе с базой, тем самым, разграничив доступ к объектам базы данных.
В третьей части предусмотрено автоматическое создание
архивных копий два раза в сутки для исключения потери информации случае сбоев,
а так же доступ к удаленному серверу.
База данных разработана с учетом всех современных тенденций
развития вычислительной техники и СУБД. Реализация разработанной базы данных
осуществлена при помощи средств Microsoft SQL Server 2000.
Список
использованной литературы
1. Администрирование
Microsoft SQL Server 2000. Учебный курс MCSA/
MCSE, MCDBA/ Пер с англ. - 2-е изд., испр. - М.: Издательско-торговый дом
«Русская редакция», 2002. - 640 стр.
2. Кевин Хоуг. MCSE/MCSD:
SQL Server 7.0. Проектирование баз данных. Учебное руководство. М.: Лори, 2000.
. Мамаев
Е.В. Microsoft SQL Server 2000. - СПб.: БХВ-Петербург, 2002.
. Энциклопедия
SQL. Дж. Грофф, П. Вайнберг. - СПб.: Питер, 2003. - 869 с.
5. Ю. Тихомиров Microsoft SQL Server 7.0 - СПб.: БХВ -
Петербург, 2001. - 720 с.: ил.