Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kurs bd voronov.docx
Скачиваний:
168
Добавлен:
03.09.2019
Размер:
1.83 Mб
Скачать

Глава 3. Программная реализация ис Прокат автомобилей «Ласточка».

3. 1. Анализ и выбор субд.

Для реализации нашего курсового проекта выберем СУБД PostgreSQL. PostgreSQL — свободная объектно-реляционная система управления базами данных. PostgreSQL не просто реляционная, а объектно-реляционная СУБД. Это даёт ему некоторые преимущества над другими SQL базами данных с открытым исходным кодом, такими как MySQL, MariaDB и Firebird. Фундаментальная характеристика объектно-реляционной базы данных — это поддержка пользовательских объектов и их поведения, включая типы данных, функции, операции, домены и индексы. Это делает Постгрес невероятно гибким и надежным. Среди прочего, он умеет создавать, хранить и извлекать сложные структуры данных. В некоторых примерах ниже вы увидите вложенные и составные конструкции, которые не поддерживаются стандартными РСУБД. Также полная поддержка надежных транзакций, т.е. атомарность, последовательность, изоляционность, прочность (Atomicity, Consistency, Isolation, Durability (ACID).) Благодаря мощным технологиям Postgre очень производительна. Параллельность достигнута не за счет блокировки операций чтения, а благодаря реализации управления многовариантным параллелизмом (MVCC), что также обеспечивает соответствие ACID. PostgreSQL очень легко расширять своими процедурами, которые называются хранимые процедуры. Эти функции упрощают использование постоянно повторяемых операций.

3.2. Физическое проектирование бд.

На основе реляционной модели произведена программная реализация. База данных содержит 10 таблиц:

  • Автомобили

  • Клиенты

  • Контракты

  • Штрафы

  • Сотрудники

  • Модели

  • Цвет

  • Тип кузова

  • Марка

  • Должности

Для всех таблиц были разработаны соотвествующие формы.

Таблица Автомобили (Cars)

Рис.9. Форма вывода таблицы Автомобили

Рис.10. Форма ввода таблицы Автомобили

Таблица Клиенты (Clients)

Рис.11. Форма вывода таблицы Клиенты

Рис.12. Форма ввода таблицы Клиенты

Таблица Контракты (Contracts)

Рис.13. Форма вывода таблицы Контракты

Рис.14. Форма заполнения таблицы Контракты

Таблица Штрафы (Taxes)

Рис.15. Форма вывода таблицы Штрафы

Рис.16. Форма заполнения таблицы Штрафы

Таблица Сотрудники (Staff)

Рис.17. Форма вывода таблицы Сотрудники

Рис.18. Форма заполнения таблицы Сотрудники

Таблица Модели (Models)

Рис.19. Форма вывода таблицы Модели

Рис.20. Форма вывода таблицы Модели

3.3. Реализация триггеров.

1) При оформлении контракта на автомобиль значение поля rented изменяется на 1.

Рис.21. Триггер rent_car

2)При удалении контракта на автомобиль значение поля rented изменяется на 0.

Рис.22. Триггер unrent_car

3)После добавлении штрафа в таблицу штрафов, чилсо штрафов пользователся +1.

Рис.23. Триггер taxes_up

4)После оформления контракта на машину в таблицу Client_brand вставляется строка.

Рис.24. Триггер client_brands

3.3. Безопасность и контроль.

Средства безопасности в PostrgeSql можно разделить на две категории:

  • Безопасность доступа.

  • Безопасность данных.

Безопасность доступа.

В PostrgeSql имеется целый ряд механизмов для идентификации и верификации пользователей. Самый простой из них – обязательное указание пользователем своих имени и пароля при каждом подключении. Эта верификация должна выполняться независимо от того, какое внешнее интерфейсное средство используется для доступа к базе данных. Идея состоит в том, чтобы допустить пользователей к работе со средствами базы данных только после того, как он установит санкционированное соединение с ней. Имя пользователя и пароль сверяются с указанными в таблице SYS.USERS, куда пароль заносится в зашифрованной форме.

В большинстве приложений баз данных существуют разные категории пользователей, которые работают с разными частями системы и имеют разные права на просмотр и изменение данных. В простом случае может быть всего два класса пользователей: те, кто вводит данные, и менеджеры, выполняющие запросы к данным. Но в большинстве случаев существует несколько категорий пользователей, и функциональные возможности, к которым они должны иметь доступ, пересекаются. В таких ситуациях можно избежать дублирования работы, создав одно приложение с меню или панелью инструментов, вид и содержимое которой зависят от задач конкретного пользователя.

Безопасность данных.

Если подключаться к базе данных могут лишь уполномоченные пользователи, и они могут запускать только те модули, на выполнение которых им явно предоставлено право, то нужно подумать о следующем уровне безопасности – ограничении доступа этих пользователей к данным.

Для добавления пользователя в базу данных администратор базы данных создает учетную запись с именем пользователя и паролем. Каждому пользователю присваивается профиль — характеристика предельных объемов системных ресурсов, которые могут быть выделены данному пользователю.

В PostrgeSql имеются системные и объектные привилегии. Системные привилегии — это права на выполнение общих задач, таких как SELECT ANY TABLE и UPDATE ANY TABLE. Объектные привилегии относятся к действиям с определенными элементами базы данных — таблицами, представлениями и последовательностями. Для предоставления привилегий другому пользователю можно использовать оператор GRANT.

Выводы

Было произведено физическое проектирование базы данных для ИС прокат автомобилей «Ласточка». Разработаны формы, триггеры, представления, произведен анализ безопасности.