- •Содержание
- •Глава 1. Анализ предметной области асу «Библиотека».
- •1.1. Системный анализ предметной области.
- •1.2. Обзор информационных технологий, подходящих для разработки бд.
- •Классификации субд.
- •1.3. Требования к разрабатываемой базе данных.
- •1.4. Выводы.
- •Глава 2. Проектирование базы данных «Библиотека».
- •2.1. Разработка инфологической модели.
- •2.2. Обоснование выбора модели данных.
- •Сетевая модель.
- •Иерархическая модель.
- •Объектно-ориентированная модель.
- •Реляционная модель.
- •Многомерные структуры.
- •2.3. Логическое проектирование бд.
- •2.4. Нормализация, схема базы данных.
- •2.5. Выводы.
- •Глава 3. Программная реализация бд «Библиотека».
- •3.1. Анализ и выбор субд.
- •3.2. Физическое проектирование бд.
- •3.3. Реализация ограничений.
- •Создание пользователей.
- •Создание внешних ключей.
- •Создание ограничения.
- •Создание триггеров.
- •3.4. Безопасность и контроль.
- •Общая концепция безопасности.
- •Защищаемые объекты в sql Server.
- •Участники в sql Server.
- •Параметры проверки подлинности sql Server.
- •Участники уровня базы данных.
- •Разрешения в sql Server.
- •Шифрование баз данных.
- •3.5. Выводы.
- •Программный код.
- •Запросы на создание таблиц.
- •Запросы на заполнение таблиц.
- •Заключение.
- •Список литературы.
Шифрование баз данных.
SQL Server 2014 включает в себя два способа шифрования данных: прозрачное шифрование данных (Transparent Data Encryption, TDE) и расширенное управление ключами (Extensible Key Management EKM).
SQL Server шифрует данные, используя иерархическую структуру средств шифрования и управления ключами. На каждом уровне данные низшего уровня шифруются на основе комбинации сертификатов, асимметричных ключей и симметричных ключей. Асимметричные и симметричные ключи можно хранить вне модуля расширенного управления ключами SQL Server.
В SQL Server можно шифровать соединения, данные и хранимые процедуры. Несмотря на то, что шифрование является полезным средством обеспечения безопасности, его не следует применять ко всем данным или соединениям: шифрование может потребоваться, если пользователи получают доступ к данным через открытую сеть. Использование шифрования включает политику управления паролями, ключами и сертификатами.
3.5. Выводы.
В данной главе произведено физическое проектирование базы данных «Библиотека». Создано три триггера. Определены ограничения. Произведен анализ безопасности в СУБД MS SQL Server.
Программный код.
Запросы на создание таблиц.
CREATE TABLE subject
(ID_subject int PRIMARY KEY,
subject NVARCHAR(100) NOT NULL)
-----------------------------------------------------------------------------------------
CREATE TABLE books
(ID_book int PRIMARY KEY,
ID_subject int NOT NULL,
book_name NVARCHAR(100) NOT NULL,
annotation text NULL,
year_of_publication VARCHAR(4) NOT NULL,
publisher NVARCHAR(100) NOT NULL,
number_of_racks NVARCHAR(50) NOT NULL,
number_of_books INT NOT NULL,
books_in_use TINYINT NOT NULL)
-----------------------------------------------------------------------------------------
CREATE TABLE authors
(ID_author INT PRIMARY KEY,
a_last_name NVARCHAR(35) NOT NULL,
a_first_name NVARCHAR(35) NOT NULL,
a_patronymic NVARCHAR(35) NULL,
year_of_birth VARCHAR(4) NOT NULL)
-----------------------------------------------------------------------------------------
CREATE TABLE customers
(ID_customers INT PRIMARY KEY,
c_last_name NVARCHAR(35) NOT NULL,
c_first_name NVARCHAR(35) NOT NULL,
c_patronymic NVARCHAR(35) NULL,
date_of_birth DATE NOT NULL,
phone_number INT NOT NULL,
home_address NVARCHAR(150) NOT NULL)
-----------------------------------------------------------------------------------------
CREATE TABLE books_in_use
(ID_book INT NOT NULL,
ID_customers INT NOT NULL,
date_of_issue DATE NOT NULL,
return_date DATE NOT NULL)
-----------------------------------------------------------------------------------------
CREATE TABLE author_subject
(ID_author INT NOT NULL,
ID_subject INT NOT NULL)
-----------------------------------------------------------------------------------------
CREATE TABLE book_author
(ID_book INT NOT NULL,
ID_author INT NOT NULL)
Запросы на заполнение таблиц.
USE [Library]
GO
INSERT INTO [dbo].[author_subject]
([ID_author]
,[ID_subject])
VALUES
(1, 1),
(2, 1)
(3, 1),
(4, 2),
…………………………
-----------------------------------------------------------------------------------------
USE [Library]
GO
INSERT INTO [dbo].[authors]
([last_name]
,[first_name]
,[patronymic]
,[year_of_birth])
VALUES
('Кинг', 'Стивен', ' ', '1947'),
('Мураками', 'Рю ', ' ', '1952'),
('Мураками', 'Харуки', ' ', '1949'),
('Ершов ', 'Петр ', 'Павлович', '1815'),
('Слоун ', 'Холли', ' ', '1958'),
…………………………
-----------------------------------------------------------------------------------------
USE [Library]
GO
INSERT INTO [dbo].[book_author]
([ID_book]
,[ID_author])
VALUES
(1, 1),
(2, 13),
(3, 2),
(4, 4),
…………………………
-----------------------------------------------------------------------------------------
USE [Library]
GO
INSERT INTO [dbo].[books]
([ID_subject]
,[book_name]
,[annotation]
,[year_of_publication]
,[publisher]
,[number_of_racks]
,[number_of_books]
,[books_in_use])
VALUES
('1', 'Мешок с костями', 'Добро пожаловать в маленький тихий городок…', '2017', 'АСТ', '1', '13','0'),
('8', 'Ты - Художник!', 'Автор утверждает: менеджер, учитель, писатель, инженер…', '2015', 'Попурри', '3', '5', '0'),
('1', 'Топаз', 'В серии новелл под общим названием "Топаз" даны истории…', '2017', 'Пальмира', '1', '6', '0'),
…………………………
-----------------------------------------------------------------------------------------
USE [Library]
GO
INSERT INTO [dbo].[customers]
([last_name]
,[first_name]
,[patronymic]
,[date_of_birth]
,[phone_number]
,[home_address])
VALUES
('Петрова', 'Александра', 'Владимировна', '1956-04-12', '89106483957', 'ул. Заречная, д. 14, кв. 105'),
('Соколов', 'Борис', 'Юрьевич', '1980-06-05', '89053749065', 'ул. Сиреневая, д. 26, кв. 44'),
('Петров', 'Борис', 'Юрьевич', '1992-11-22', '89682759603', 'ул. Талсинская, д. 5, кв. 24'),
…………………………
-----------------------------------------------------------------------------------------
USE [Library]
GO
INSERT INTO [dbo].[subject]
([subject])
VALUES
('Художественная литература'), ('Книги для детей'), ('Образование'), ('Наука и техника'), ('Биографии. Мемуары'), ('Деловая литература'), ('Красота. Здоровье. Спорт'), ('Искусство'), ('Психология'), ('Философия и религия')
GO
Заключение.
Курсовой проект посвящен разработке базы данных «Библиотека».
Решены следующие задачи:
Произведен системный анализ предметной области;
Построена инфологическая модель;
Построена реляционная модель;
Реализация базы данных в СУБД MS SQL Server.