Информационно-аналитическая система обработки данных вакцинации населения
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
Таблица POLIKLINIKA это справочник наименований поликлиник. Здесь содержится перечень наименований поликлиник. Состоит из 3 колонок:
id - первичный ключ;
name - наименование поликлиники по укр.;
doc - наименование по рус.
Описание полей: поле id является первичным ключом таблицы POLIKLINIKA, имеет тип integer. Поле name и doc это наименование поликлиники, имеют тип varchar(40).
Таблица PRIVITO это справочник в котором содержится наименование причин по котором были привиты. Состоит из 2 колонок:
id - первичный ключ;
name - наименование причины;
Описание полей: поле id является первичным ключом таблицы PRIVITO, имеет тип integer. Поле name это наименование причины, по поводу которой была сделана вакцина, имеет тип varchar(40).
Таблица PROIZVODITEL это справочник производителей. Здесь содержится перечень производителей. Состоит из 2 колонок:
id - первичный ключ;
name - наименование производителя;
Описание полей: поле id является первичным ключом таблицы PROIZVODITEL, имеет тип integer. Поле name это перечень наименований производителя, имеет тип varchar(40).
Таблица STREET это справочник улиц. Здесь содержится перечень улиц, домов находящихся на данной улице и номеров участков. Состоит из 4 колонок:
id - первичный ключ;
name - наименование производителя;
house - перечень домов;
nuchastka - № участка;
Описание полей: поле id является первичным ключом таблицы STREET, имеет тип integer. Поле name это перечень наименований улиц, имеет тип varchar(50). Поле house это перечень домой которые находятся на данной улице, тип varchar(150). Поле nuchastka это номер участка который назначен на данную улицу, имеет тип integer.
Таблица VACCINE это справочник вакцин. Здесь содержится перечень наименований вакцин. Состоит из 4 колонок:
id - первичный ключ;
name - наименование производителя;
kateg - ссылка на ID из справочника KATEGVAC
nameprivivka_ID - ссылка на ID из справочника NAMEPRIVIVKA
Описание полей: поле id является первичным ключом таблицы VACCINE, имеет тип integer. Поле name это перечень наименований производителя, имеет тип varchar(40). Поля kateg, nameprivivka_ID имеют тип integer.
Таблица VERSION это таблица, которая содержит информацию о версии программы. В таблице есть 1 поле code которое содержит информацию о версии системы, тип поля - double precision.
На рисунке 2.4 изображена схема базы данных ИАС учреждения учета данных вакцинации населения.
Рисунок 2.4 - Архитектура БД ИАС обработки данных вакцинации населения
В базе данных были разработаны следующие триггеры и хранимые процедуры. Для всех таблиц базы данных, кроме таблицы VERSOIN был разработан триггер, который срабатывает по событию Before inset, а именно:
(NEW.ID IS NULL OR NEW.ID = 0) THEN
NEW.ID = GEN_ID(GEN_name_ID,1);
END
Из этого кода видно, что когда поле ID равно 0 или NULL, то генератор значений начинает вырабатывать уникальное значение для таблицы, указанной в переменной name.
Так же был разработан триггер, который срабатывает перед событием Before Delete, а именно:
asnameTable set nameT_ID = nullnameT_ID= old.id;
end
Суть этого триггера заключается в следующем, когда из таблиц, в которых содержатся данные из справочников, происходит удаление, то переменная nameT_ID преобретает значение NULL.
Соответственно в переменной nameTable содержится наименование таблицы, из которой происходит удаление ссылки на справочник или таблицу.
Этот триггер работает для таких таблиц: ANATOKSIM, DOCTOR, JOB, KATEGORIA, KATEGREAK, KATEGVAC, NOTPRIVITO, OTDEL, PACIENT, POLIKLINIKA, PRIVITO, PROIZVODITEL, VACCINE.
Перечисленные триггера не требуют вызова вручную, они работают автоматически при определенных событиях.
В информационно-аналитической системе были разработаны и хранимые процедуры. Текст процедуры приведен ниже:count(id) from nameTid = :vxod into :vuxod;
suspend;
Хранимая процедура предназначена для поиска одинаковых значений поля ID. Так как в базе данных этого быть не может, то она ищет хотя бы одно совпадение. Это все происходит потому, что в некоторых таблицах пользователю предоставлен ввод значений в поля шифр или код а именно ID в определенных справочниках. Что б избежать повторений в поле ID и была разработана эта процедура.
В программе пользователь вводит любое значение в поле для ввода ID, данные эти попадают в переменную vxod. Как мы видим, выполняется элементарный запрос, по завершению которого в переменную vuxod будет записано значение выполнение запроса. Далее в тексте программы будет проверка, если переменная vuxod больше 0, то такое ID уже существует, пользователь будет оповещен в виде предупреждающего сообщения.
Переменные vxod и vuxod имеют тип integer.
Под видом переменной nameT подразумевается наименование соответствующей таблицы, в которой используется эта процедура. А используется она в таких таблицах: DOCTOR, JOB, KATEGORIA, OTDEL, PACIENT, POLIKLINIKA.
2.5Разработка аппаратной подсистемы
Исходя из требований, поставленных в техническом задании, необходимо разработать проект локальной вычислительной сети (ЛВС) учреждения.
Компьютерная сеть - это совокупность компьютеров и различных устройств, обеспечивающих информационный обмен между компьютерами в сети без испо?/p>