n BD_CONDITION запрещает удалять условие поставки в справочнике CONDITION, если оно занесено в атрибуты хотя бы одного прайс-листа;
n BD_SUPPLIER запрещает удалять наименование поставщика в справочнике SUPPLIER, если этот поставщик занесен хотя бы в один сформированный заказ;
n BD_LPU запрещает удалять наименование заказчика (ЛПУ) в справочнике LPU, если этот заказчик занесен хотя бы в одну разнарядку сформированного заказа;
n триггеры, обеспечивающие корректную работу со справочником территорий REGION;
n BD_REGION запрещает удалять наименование территории в справочнике территорий REGION, если она встречается хотя бы у одного поставщика или заказчика в справочниках SUPPLIER и LPU;
n триггеры, обеспечивающие корректную работу со справочником групп лекарственных средств DGROUP;
n BD_GROUP запрещает удалять группу в справочнике групп лекарственных средств DGROUP, если она указана хотя бы для одного лекарственного средства в справочнике лекарственных средств DRUG;
n BD_PROD запрещает удалять производителя в справочнике производителей лекарственных средств PROD, если он указан хотя бы для одного лекарственного средства в справочнике лекарственных средств DRUG;
n BD_INTERNAT запрещает удалять международное наименование лекарственного средства в справочнике международных наименований INTERNAT, если оно указано хотя бы для одного лекарственного средства в справочнике лекарственных средств DRUG;
n BD_COUNTRY запрещает удалять страну в справочнике стран производителей COUNTRY, если она указана хотя бы для одного производителя в справочнике производителей лекарственных средств PROD.
База выходных данных.
Структура базы выходных данных, используемые ею таблицы и справочники представлены на рисунке 2.8.
База выходных данных разделяется на две подбазы: база данных заказов и база данных разнарядок. Информация в базу выходных данных заносится программно – это информация о сформированных системой заказах и разнарядках. Пользователь может просматривать, корректировать базу выходных данных и выводить на печать ее содержимое в виде отчетов. В базе выходных данных используется поля входной базы данных и справочники лекарственных средств DRUG, поставщиков SUPPLIER и заказчиков LPU.
При удалении из базы входных данных и справочников всех значений, на которые имеются ссылки в заказе, кроме поставщиков и заказчиков, целостность информации в базе выходных данных не нарушится, так как в нее введены поля, содержащие все значения, которые могут быть удалены (см. п. 2.3.3.2).
Таблица ZAKAZATR – таблица атрибутов сформированных заказов – является родительской таблицей базы данных заказов. Основные ее поля: код заказа (код, присваиваемый заказу пользователем по его усмотрению), наименование заказа, дата формирования, итоговая сумма заказа с учетом всех скидок и итоговая скидка. Описание полей таблицы ZAKAZATR смотрите в таблице 2.25.
Таблица 2.25 Описание полей таблицы ZAKAZATR
Наимен. Поля | Тип | Логический смысл | Физический смысл |
Numb | Integer | идентификационный номер | первичный ключ |
Code | Double Precision | код заказа | значащее поле |
Name | Char(28) | наименование заказа | значащее поле |
Date_ | Date | дата формирования заказа | значащее поле |
TotSum | Double Precision | итоговая сумма с учетом скидок | значащее поле |
TotDisc | Double Precision | итоговая скидка | значащее поле |
DelTag | Char(1) | поле отметки заказа на удаление (отметка: '>') | логическое поле |
Таблица ZAKAZ представляет содержимое сформированного заказа. Основными ее полями являются: ссылка на лекарственное средство справочника лекарственных средств DRUG, ссылка на поставщика справочника SUPPLIER, цена указанного лекарственного средства у данного поставщика, количество упаковок, стоимость всех упаковок лекарственного средства у данного поставщика.
Кроме основных полей в таблице ZAKAZ имеются поля для сохранения целостности информации. К ним относятся: наименование лекарственного средства, его код, международное наименование, наименование группы и наименование производителя. Описание полей таблицы ZAKAZ смотрите в таблице 2.26.
Таблица 2.26 Описание полей таблицы ZAKAZ
Наимен. поля | Тип | Логический смысл | Физический смысл |
Numb | Integer | идентификационный номер | первичный ключ |
ZKNumb | Integer | номер атрибутов заказа | вторичный ключ |
ZSuNumb | Integer | номер поставщика заказа в таблице ZAKSUPPL (поставщики заказов) | вторичный ключ |
SuNumb | Integer | номер поставщика | вторичный ключ |
DrnNumb | Integer | номер лекарственного средства | вторичный ключ |
DrnName | Char(80) | наименование лекарственного средства | значащее поле |
DrnCode | Integer | код лекарственного средства | значащее поле |
IntName | Char(40) | международное наименование | значащее поле |
GrName | Char(200) | наименование группы | значащее поле |
ProdName | Char(60) | наименование производителя | значащее поле |
Price | Double Precision | цена | значащее поле |
Quant | Double Precision | количество упаковок | значащее поле |
Cost | Double Precision | стоимость всех упаковок | значащее поле |