Защита базы данных Картотеки книг

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



В»иотеки, был разработан 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'

Для