- •Зачетная работа
- •Введение
- •Спецификация требований к проекту Требования к данным
- •Требования к транзакциям
- •Создание концептуальной модели данных
- •Построение и проверка логической (реляционной) модели данных
- •Исключение особенностей несовместимых с реляционной моделью
- •Формирование набора отношений исходя из структуры логической модели данных
- •Проверка отношений с помощью правил нормализации
- •Проверка соответствия отношений требованиям пользовательских транзакций
- •Определение ограничений целостности
- •Словарь данных Приложение 1. Типы сущностей
- •Приложение 2. Типы связей
- •Приложение 3. Атрибуты типов сущностей и типов связей
- •Приложение 4. Описание реляционной схемы
- •Обновленная er-диаграмма
- •Список использованных источников
Спецификация требований к проекту Требования к данным
Для проектирования реляционной модели данных была выбрана предметная область «Автошкола». Данная предметная область включает данные о группах, курсантах, мастерах, автотранспортных средствах, о выполненных упражнениях. Так же рассматривается финансовая часть обучения: заключение договоров и оплата по ним.
Группа
Автошкола набирает группы на срок равный сроку обучения и подготовки для сдачи экзамена в ГАИ. По каждой группе можно будет найти информацию: номер группы, количество курсантов и срок обучения.
Курсант
Каждой группе соответствует свой список курсантов. У каждого курсанта будет своя индивидуальная книжка учета обучения с данными: номер курсанта, фамилия, имя, отчество, дата рождения, возраст, адрес по прописке, телефон.
Мастер
При обучении курсант сам выбирает себе мастера (на срок всего обучения). По необходимости можно найти информацию о мастере следующего характера: табельный номер, фамилия, имя, отчество, контактный телефон. Каждому мастеру соответствует свой автомобиль.
Упражнение
Для допуска к итоговому упражнению и сдаче экзамена в ГАИ, курсант должен будет выполнить перечень упражнений, у каждого из которых есть определенное время выполнения. В сумме эти упражнения дают 50 часов практических занятий. Каждый курсант должен выполнить эту норму или «приблизиться» к ней, но с условием, что в день можно проводить лишь одно двухчасовое занятие.
Договор
При зачислении курсанта в автошколу с ним заключается договор на оказание платных услуг. Договор имеет «возрастную категорию»: если курсант представит справку с места обучения (для школьников и студентов) или он относится к другой льготной категории, то автошкола может предоставить ему скидку при обучении.
Квитанция
После заключения договоров с автошколой, курсант обязуется оплатить за свое обучение или единожды по одной квитанции, или путем деления суммы указанной в договоре на равные части в течение всего срока обучения в автошколе.
Требования к транзакциям
Транзакция (англ. transaction) – группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций.
Различают:
последовательные (обычные) транзакции;
параллельные транзакции;
распределённые транзакции. Распределённые транзакции подразумевают использование больше чем одной транзакционной системы и требуют намного более сложной логики (например, two-phase commit – двухфазный протокол фиксации транзакции).
также, в некоторых системах реализованы автономные транзакции, или под-транзакции, которые являются автономной частью родительской транзакции.
Ввод данных
Ввести сведения о новой группе.
Ввести сведения о новом курсанте.
Ввести сведения о новом мастере.
Ввести сведения о новом упражнении.
Ввести сведения о новом договоре.
Ввести сведения о новой квитанции.
Обновление/удаление данных
Обновить/удалить сведения о группе.
Обновить/удалить сведения о курсанте.
Обновить/удалить сведения о мастере.
Обновить/удалить сведения об упражнении.
Обновить/удалить сведения о договоре.
Обновить/удалить сведения о квитанции.
Запросы к данным
Определить «срок давности» обучения для определенных групп.
Определить список курсантов в каждой группе.
Найти общее время вождения для каждого курсанта.
Составить список курсантов, которые ни разу не посещали практические занятия.
Составить список курсантов, которые проводили более одного занятия в день.
Определить оставшееся время вождения.
Составить список курсантов с оценками за итоговые упражнения.
Вывести список курсантов с оплатой за обучение.
Составить список должников по каждой группе.
