Содержание
Введение 3
Постановка задачи 4
Модель данных в третьей нормальной форме 6
Описание БД 7
Описание структуры таблиц 7
Описание тестового набора данных 8
Описание хранимых процедур и триггеров 10
Примеры запросов и результаты выборки данных 11
Описание курсоров 13
Листинг 15
Заключение 23
Введение
База данных – организованная в соответствии с определенными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей.
В ходе выполнения данного курсового проекта требуется проанализировать предметную область (учет пациентов в поликлинике) и разработать базу данных предметной области. БД должна позволять хранить информацию о пациентах поликлиники, врачах, заболеваниях и приеме пациентов. Также должны быть реализованы запросы к базе данных, позволяющие сделать выборки данных из таблиц. Требуется разработать курсоры, удовлетворяющие заданным требованиям, и два разных триггера с точки зрения их типов и выполняемых функций.
Для разработки базы данных требуется использовать СУБД Oracle Database 10g Express Edition, которая предоставляет те же интерфейсы SQL и PL/SQL, что и во всех остальных версиях Oracle Database 10g, а также широкий спектр программных интерфейсов.
Одной из основных характеристик СУБД Oracle является функционирование системы на большинстве платформ. Oracle Database 10g предоставляет возможность автоматической настройки и управления, которая делает ее использование простым и экономически выгодным. Кроме того, версия Oracle Database 10g Express Edition является бесплатной.
Постановка задачи
Учет пациентов в поликлинике. Имеется картотека всех пациентов, которые хотя бы раз были в поликлинике. В карточке содержится история болезней пациента и контактная информация. Имеется список участковых врачей. Таким образом, каждый пациент прикреплен к своему врачу. Оплата врачу складывается исходя из количества принятых пациентов и процента выздоровлений.
БД должна позволять хранить следующую информацию:
о пациентах;
о врачах;
о приеме;
о заболеваниях.
Требования:
Первичные ключи у таблиц могут быть суррогатными. При необходимости должны быть введены ограничения на поля таблиц.
Для некоторых таблиц должны быть сформированы последовательности. Ввод данных в такие таблицы должен осуществляться с применением существующих последовательностей.
Необходимо сформировать следующие запросы:
вывести набор строк, удовлетворяющих определенному условию;
вывести набор строк, отсортированных по определенному полю по возрастанию и по убыванию;
продемонстрировать результат группировки;
сформировать набор данных из нескольких таблиц с помощью оператора соединения.
Для обработки табличных данных необходимо разработать следующие курсоры и продемонстрировать их выполнение:
курсор-цикл, выбирающие данные;
курсор с параметрами;
курсор с обновлением.
Необходимо написать одну хранимую процедуру и одну функцию, обрабатывающие данные из таблиц и продемонстрировать их выполнение (например, путем вызова их из анонимного блока PL/SQL).
Необходимо создать два разных триггера с точки зрения их типов и выполняемых функций.