logo
Разработка автоматизированной системы бронирования и реализации билетов в кинотеатре

4. Целостность данных

Под целостностью понимают точность и корректность хранения и отображения данных в БД. Другими словами, под целостностью понимается то, что какие-либо действия выполняются корректно.

В стандарте SQL есть специальные элементы для поддержания целостности БД (представления, хранимые процедуры, триггеры).

Также существуют ограничения целостности для базы данных - это правила, которые задаются для двух или более связанных таблиц. Чаще всего используется ограничение ссылочной целостности. Существует три стратегии поддержки ссылочной целостности: cascade, restrict, set null.

Для данной предметной области использование этих стратегий не является необходимым, для определенных связей и действий были использованы все три стратегии. Во всех случаях используется стратегия restrict. Использование set null не имеет смысла, так как все атрибуты сущностей не могут быть пустыми (not null).

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

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

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