Защита базы данных Картотеки книг
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
В»иотеки, был разработан DTS пакет.
На рис. 1 показана структура DTS пакета, через который идет наполнение базы данных Biblioteka.
В нем производится заполнение следующих таблиц: tbl_Authors, tbl_Knigi, tbl_Izdatelstvo, Reader, tbl_Uchet.
Рис. 1
Создание представлений
Таблица 10. Представления базы данных
Наименование представленияСостав полейНазначение представленияFor_MenegName_av, Otchestvo, Familia, Strana_av, Nazvanie, kol_Straniz, Ganr, ISBN, Name_iz, Strana_iz, Adress, God_izd, Kol_bib, Cena_bibПросмотр общей информации по базе данных менеджеромFor_ReadorsGanr, Familia, Name_av, Otchestvo, Nazvanie, kol_StranizПросмотр общей информации по базе данных библиотекарямиRead_DolgFamilia_read, Name_read, Nazvanie, Data_vzОтображает задолжности читателейRead_InteresFamilia_read, Name_read, Ganr, NazvanieОтображает интересы читателей в выборе книг
SQL код создания представлений представлен в приложении 2
Создание хранимых процедур
Таблица 11. Хранимые процедуры
Наименование процедурыСостав входных параметровНазначение процедурыAdd_Avtor@Name_avt,@Otch_avt,@Fam_avt,@Str_avtПозволяет добавить автора в базу данныхAdd_IzdatelName_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Позволяет удалить автора из базы данныхDel_IzdatelName_izdПозволяет удалить издательство из базы данныхDel_Knig@Nazvanie1,@ISBN1Позволяет удалить книгу из базы данныхDel_Nalich@R,@D,@EПозволяет удалить книгу из списка наличия книг в библиотекеDel_Reador@Name_R, @Familia_RПозволяет удалить читателя из базы данныхSearch_KnigaFamilia, @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'
Для