Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
му_курсБД 2009.doc
Скачиваний:
3
Добавлен:
19.09.2019
Размер:
189.95 Кб
Скачать

2 Задание к курсовому проекту

2.1 Анализ предметной области

Студент изучает предложенную в задании предметную область. В результате анализа предметной области выявляются набор требований, разделенный на цели, свойства объектов и правила. Предметная область должна включать не менее 8 объектов, обязательно наличие связей «один-ко-многим» и «многие-ко-многим».

Например, для хирургического отделения больницы выявлены объекты Врач, ПАЦИЕНТ, Палата. Атрибуты объектов: Врач (Код, Фамилия, Должность, ДопСведения, …), ПАЦИЕНТ (Код, Фамилия, Адрес, Дата поступления, Диагноз, Дата операции, …), Палата (Номер, Тип, Количество коек). Между объектами ПАЦИЕНТ и Палата существует связь «многие-к-одному», между Врач и ПАЦИЕНТ – «один-ко-многим».

Определяются первичные ключи логических записей, хранящих заданную информацию.

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

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

Следующим этапом является формирование реляционной модели данных, которая описывает структуру конкретных таблиц БД, поля этих таблиц (название, тип, ограничения) и связи между полями таблиц.

Затем необходимо сформулировать запросы и реализовать их на SQL. Запросы должны использовать следующие возможности SQL:

  1. Выбор из нескольких таблиц с сортировкой (например, список пациентов, которых лечит заданный врач);

  2. Задание условия отбора с использованием предиката LIKE (например, найти всех пациентов, чья фамилия начинается на заданную букву);

  3. Задание условия отбора с использованием предиката BETEWEEN (например, список пациентов, прооперированных в заданный период);

  4. Агрегатная функция без группировки (Например, сколько пациентов поступило в больницу за последнюю неделю?);

  5. Агрегатная функция с группировкой (например, сколько пациентов прооперировал каждый врач?);

  6. Использование предиката ALL или ANY (например, кто из врачей прооперировал больше всего больных?);

  7. Коррелированный подзапрос (например, для каждой врачебной специальности определить врача, лечащего максимальное количество пациентов);

  8. Запрос на отрицание (например, кто из врачей не оперировал на этой неделе?) Запрос реализовать в трех вариантах: с использованием LEFT JOIN, предиката IN и предиката EXISTS;

  9. Операция объединения UNION с включением комментария в каждую строку (например, список врачей с комментарием «Имеет максимальное количество больных», «Не имеет в настоящее время больных»);

  10. Обновление данных, условие отбора формируется с использованием подзапроса из другой таблицы (например, в поле ДопСведения для соответствующего врача записать «Прооперировал больше всего больных»).

Для каждого пункта написать по два запроса.

Множество запросов должно соответствовать набору требований для рассматриваемой предметной области.

На основе запросов из п. 5, 7 и 9 необходимо реализовать отчеты.

2.2 Определение групп пользователей

Студент должен проанализировать состав пользователей, которые будут работать с проектируемой системой. Пользователи должны быть разделены минимум на 3 группы: привилегированные пользователи, имеющие возможность обращаться к структуре таблиц и работать с регистрационными данными (admin), пользователи, имеющие возможность редактировать таблицы предметной области и выполнять заданное множество запросов (user1), и пользователи, имеющие возможность только просматривать таблицы предметной области и выполнять ограниченное множество запросов (user2). Для каждой группы пользователей необходимо описать предоставленные им возможности по работе в системе.

Разрабатываемая ИС должна включать средства для хранения и обработки информации о пользователях, их паролях и правах. Доступ к этим данным имеют только привилегированные пользователи. Кроме того, БД должна содержать таблицу (Журнал) для хранения следующих регистрационных данных: дата, время, имя пользователя, выполненные действия (вход в систему, ввод данных в таблицу, выполнение запроса и т.д.).

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]