
- •Глава 1. Анализ предметной области асу. 5
- •Глава 2. Проектирование базы данных 16
- •Глава 3. Программная реализация 24
- •Введение Цель работы
- •Задачи курсового проектирования
- •Глава 1. Анализ предметной области асу.
- •Системный анализ предметной области асу «Компьютерные курсы»
- •Обзор информационных технологий
- •Домашние (настольные) субд
- •Полупрофессиональные субд
- •Профессиональные субд
- •Обзор продуктов-аналогов
- •1.3.1 Система 1с:Управление учебным центром
- •1.3.2 Отмечалка - crm Система
- •Требования к разрабатываемой базе данных и учет ограничений
- •Глава 2. Проектирование базы данных
- •Разработка инфологической модели
- •Обоснование выбора модели данных
- •Даталогическое проектирование
- •Нормализация, схема бд
- •Глава 3. Программная реализация
- •3.1 Анализ и выбор субд
- •3.2 Физическое проектирование бд
- •3.3 Разработка представлений
- •3.4 Реализация ограничений, автоматизация обработки данных в бд
- •3.7 Безопасность и контроль
- •Безопасность доступа.
- •Безопасность данных.
- •Заключение
- •Список источников и литературы
3.4 Реализация ограничений, автоматизация обработки данных в бд
В таблице «SOTR» добавим ограничение на правильность вводимых данных, установим ограничение на возвраст сотрудника, исплользуя поля DB (Дата рождения). После этого попробуем добавить сотрудника с датой рождения (20.10.2021).
Рисунок 22 – Ограничение на возраст
В таблице «DOLZNT» добавим ограничение на правильность вводимых данных. Добавим ограничение на поле SALARY, сделаем так, чтобы нельзя было ввести отрицательное число.
Рисунок 23 – Ограничение на отрицательную зарплату
Создадим триггер «Trig1», который выведет ошибку при попытки вставить в таблицу SOTR сотрудника на должность преподавателя при наличии судимости (CONV=1)
Рисунок 24 – Код триггера Trig1
Рисунок 25 – Работа триггера Trig1
Создадим триггер «Trig2».
Рисунок 26 – создание триггера Trig2
После добавления в таблицу CONTRACT вставляется запись в таблицу PAYMENT, поле SUMMA таблицы PAYMENT заполняется значением PRICE (цена курса) из таблицы COURS. Приведем пример работы, пусть первый курс «Сетевые технологии »стоит 20000, а второй курс «Информационные технологии» стоит 40000. Оформим 2 новых договора по покупку каждого из этих курсов. Перед этим продемонстрируем таблицу PAYMENT.
Рисунок 27 – Таблица Payment ДО
Рисунок 28 – проверка работы триггера Trig2
3.7 Безопасность и контроль
Средства безопасности в Oracle можно разделить на две категории:
Безопасность доступа.
Безопасность данных.
Безопасность доступа.
В Oracle имеется целый ряд механизмов для идентификации и верификации пользователей. Самый простой из них – обязательное указание пользователем своих имени и пароля при каждом подключении. Эта верификация должна выполняться независимо от того, какое внешнее интерфейсное средство используется для доступа к базе данных. Идея состоит в том, чтобы допустить пользователей к работе со средствами базы данных только после того, как он установит санкционированное соединение с ней. Имя пользователя и пароль сверяются с указанными в таблице SYS.USERS, куда пароль заносится в зашифрованной форме.
В большинстве приложений баз данных существуют разные категории пользователей, которые работают с разными частями системы и имеют разные права на просмотр и изменение данных. В простом случае может быть всего два класса пользователей: те, кто вводит данные, и менеджеры, выполняющие запросы к данным. Но в большинстве случаев существует несколько категорий пользователей, и функциональные возможности, к которым они должны иметь доступ, пересекаются. В таких ситуациях можно избежать дублирования работы, создав одно приложение с меню или панелью инструментов, вид и содержимое которой зависят от задач конкретного пользователя.
Безопасность данных.
Если подключаться к базе данных могут лишь уполномоченные пользователи, и они могут запускать только те модули, на выполнение которых им явно предоставлено право, то нужно подумать о следующем уровне безопасности – ограничении доступа этих пользователей к данным.
Для добавления пользователя в базу данных администратор базы данных создает учетную запись с именем пользователя и паролем. Каждому пользователю присваивается профиль — характеристика предельных объемов системных ресурсов, которые могут быть выделены данному пользователю. Сюда входит лимит совокупного процессорного времени, предоставляемого в течение одного сеанса или за один вызов Oracle, и другие подобные ограничения.
В Oracle имеются системные и объектные привилегии. Системные привилегии — это права на выполнение общих задач, таких как SELECT ANY TABLE и UPDATE ANY TABLE. Объектные привилегии относятся к действиям с определенными элементами базы данных — таблицами, представлениями и последовательностями. Для предоставления привилегий другому пользователю можно использовать оператор GRANT. К примеру, создадим пользователя ADMIN1, у которого будут все привилегии.
Рисунок 29 – создание пользователя admin1
Выводы
В данной главе произведено физическое проектирование базы данных, созданы триггеры, представления, а также определены ограничения. Произведен анализ безопасности в СУБД Oracle.