2.4 Особенности работы с программой "cds".
CDS - при вводе данных о связях требует, чтобы элемент - потен-
циальный ключ стоял на первом месте и таким образом перекладывает основную часть работы на пользователя. К аналогичным недостаткам относятся запросы к пользователю о способе удаления пересекающихся и изолированных атрибутов.
Из недостатков интерфейса - неудобство при записи и считывании файлов с исходными данными, т.к. программа не выводит информацию о том, какие файлы с данными имеются на диске.
Нет возможности просмотреть результаты обработки, не выходя из
программы.
В результате обработки может выдать несколько корневых ключей, хо-
тя по исходным данным есть возможность оставить только один. Связи первичных ключей со сцепленными не обрабатываются в принципе и не учитываются в результате.
В итоговой таблице связи от сцепленного ключа к его элементам
обозначены типом 1:М, а не М:1, как должно быть на самом деле.
РАСПЕЧАТКА ПРОГРАММЫ CDS.
CDS Версия 2.0 GAWS Lab. (C) 1991, 1992 ИСХОДНЫЕ ДАННЫЕ
-===T============================================T=================¬ ¦ ¦ ¦ СВЯЗИ ¦
¦ N ¦ ИДЕНТИФИКАТОР +-----T-----T-----+
¦ ¦ ¦ 1:1 ¦ 1:М ¦ M:N ¦
¦===+============================================+=====+=====+=====¦ ¦ 1¦ Наименование товара ¦ 8 ¦ 15 ¦ 11 ¦
¦ ¦ ¦ 21 ¦ ¦ 12 ¦
¦ ¦ ¦ ¦ ¦ 14 ¦
¦ ¦ ¦ ¦ ¦ 18 ¦
¦ ¦ ¦ ¦ ¦ 19 ¦
¦ ¦ ¦ ¦ ¦ 20 ¦
¦ ¦ ¦ ¦ ¦ 22 ¦
¦ 2¦ Наименование товарной группы ¦ ¦ 1 ¦ ¦
¦ 3¦ Единица измерения товара ¦ ¦ 1 ¦ ¦
¦ 4¦ Количество товара по учету ¦ ¦ 1 ¦ ¦
¦ 5¦ Количество просроченного товара ¦ ¦ 1 ¦ ¦
¦ 6¦ Количество поставляемого товара ¦ ¦ 1 ¦ ¦
¦ ¦ ¦ ¦ 14 ¦ ¦
¦ ¦ ¦ ¦ 29 ¦ ¦
¦ 7¦ Количество проданного товара ¦ ¦ 1 ¦ ¦
¦ 8¦ Коэффициент естественной убыли товара ¦ ¦ ¦ ¦
¦ 9¦ Цена поставляемого товара ¦ ¦ 1 ¦ ¦
¦ ¦ ¦ ¦ 22 ¦ ¦
¦ 10¦ Наценка аптеки ¦ ¦ 1 ¦ ¦
¦ 11¦ Дата поставки товара ¦ ¦ 14 ¦ 22 ¦
¦ 12¦ Дата продажи товара ¦ ¦ ¦ ¦
¦ 13¦ Дата регистрации накладной ¦ ¦ 14 ¦ ¦
¦ 14¦ Номер накладной ¦ ¦ ¦ ¦
¦ 15¦ Номер рецепта ¦ ¦ ¦ ¦
¦ 16¦ Стоимость товара в накладной ¦ ¦ 14 ¦ ¦
¦ 17¦ Стоимость сырья в накладной ¦ ¦ 14 ¦ ¦
¦ 18¦ Наименование страны-изготовителя ¦ ¦ 19 ¦ ¦
¦ 19¦ Наименование фирмы-изготовителя ¦ ¦ ¦ ¦
¦ 20¦ Дата изготовления товара ¦ ¦ ¦ ¦
¦ 21¦ Срок годности ¦ ¦ ¦ ¦
¦ 22¦ Наименование организации-поставщика ¦ ¦ 14 ¦ ¦
¦ ¦ ¦ ¦ 23 ¦ ¦
¦ ¦ ¦ ¦ 24 ¦ ¦
¦ ¦ ¦ ¦ 25 ¦ ¦
¦ ¦ ¦ ¦ 26 ¦ ¦
¦ ¦ ¦ ¦ 27 ¦ ¦
¦ ¦ ¦ ¦ 28 ¦ ¦
¦ 23¦ Регистрационный номер поставщика ¦ 24 ¦ ¦ ¦
¦ ¦ ¦ 25 ¦ ¦ ¦
¦ ¦ ¦ 26 ¦ ¦ ¦
¦ ¦ ¦ 27 ¦ ¦ ¦
¦ ¦ ¦ 28 ¦ ¦ ¦
¦ 24¦ Номер расчетного счета поставщика ¦ ¦ ¦ ¦
¦ 25¦ Юридический адрес поставщика ¦ 26 ¦ ¦ ¦
¦ ¦ ¦ 27 ¦ ¦ ¦
¦ ¦ ¦ 28 ¦ ¦ ¦
¦ 26¦ Телефон поставщика ¦ ¦ ¦ ¦
¦ 27¦ Факс поставщика ¦ ¦ ¦ ¦
¦ 28¦ Номер лицензии поставщика ¦ ¦ ¦ ¦
¦ 29¦ Дата заказа ¦ ¦ 1 ¦ ¦
¦ ¦ ¦ ¦ 14 ¦ ¦
L===¦============================================¦=====¦=====¦=====-
КАНОНИЧЕСКАЯ СТРУКТУРА по "CDS"
-===T======================================T============T===========¬ ¦ ¦ ¦ КЛЮЧ ¦ СВЯЗИ ¦
¦ N ¦ ИДЕНТИФИКАТОР ¦ или +-----T-----+
¦ ¦ ¦ АТРИБУТ ¦ 1:1 ¦ 1:М ¦
¦===+======================================+============+=====+=====¦ ¦ 1¦ Наименование товара ¦ Перв. Ключ ¦ 8 ¦ 15 ¦
¦ ¦ ¦ ¦ 21 ¦ ¦
¦ 2¦ Наименование товарной группы ¦ Атрибут ¦ ¦ 1 ¦
¦ 3¦ Единица измерения товара ¦ Атрибут ¦ ¦ 1 ¦
¦ 4¦ Количество товара по учету ¦ Атрибут ¦ ¦ 1 ¦
¦ 5¦ Количество просроченного товара ¦ Атрибут ¦ ¦ 1 ¦
¦ 6¦ Количество поставляемого товара ¦ Атрибут ¦ ¦ 1 ¦
¦ ¦ ¦ ¦ ¦ 14 ¦
¦ ¦ ¦ ¦ ¦ 29 ¦
¦ 7¦ Количество проданного товара ¦ Атрибут ¦ ¦ 1 ¦
¦ 8¦ Коэффициент естественной убыли товара¦ Атрибут ¦ ¦ ¦
¦ 9¦ Цена поставляемого товара ¦ Атрибут ¦ ¦ 1 ¦
¦ ¦ ¦ ¦ ¦ 22 ¦
¦ 10¦ Наценка аптеки ¦ Атрибут ¦ ¦ 1 ¦
¦ 11¦ Дата поставки товара ¦ Атрибут ¦ ¦ 14 ¦
¦ 12¦ Дата продажи товара ¦ Атрибут ¦ ¦ ¦
¦ 13¦ Дата регистрации накладной ¦ Атрибут ¦ ¦ 14 ¦
¦ 14¦ Номер накладной ¦ Атрибут ¦ ¦ ¦
¦ 15¦ Номер рецепта ¦ Атрибут ¦ ¦ ¦
¦ 16¦ Стоимость товара в накладной ¦ Атрибут ¦ ¦ 14 ¦
¦ 17¦ Стоимость сырья в накладной ¦ Атрибут ¦ ¦ 14 ¦
¦ 18¦ Наименование страны-изготовителя ¦ Атрибут ¦ ¦ 19 ¦
¦ 19¦ Наименование фирмы-изготовителя ¦ Атрибут ¦ ¦ ¦
¦ 20¦ Дата изготовления товара ¦ Атрибут ¦ ¦ ¦
¦ 21¦ Срок годности ¦ Атрибут ¦ ¦ ¦
¦ 22¦ Наименование организации-поставщика ¦ Атрибут ¦ ¦ 14 ¦
¦ ¦ ¦ ¦ ¦ 23 ¦
¦ ¦ ¦ ¦ ¦ 24 ¦
¦ ¦ ¦ ¦ ¦ 25 ¦
¦ ¦ ¦ ¦ ¦ 26 ¦
¦ ¦ ¦ ¦ ¦ 27 ¦
¦ ¦ ¦ ¦ ¦ 28 ¦
¦ 23¦ Регистрационный номер поставщика ¦ Перв. Ключ ¦ 24 ¦ ¦
¦ ¦ ¦ ¦ 25 ¦ ¦
¦ ¦ ¦ ¦ 26 ¦ ¦
¦ ¦ ¦ ¦ 27 ¦ ¦
¦ ¦ ¦ ¦ 28 ¦ ¦
¦ 24¦ Номер расчетного счета поставщика ¦ Атрибут ¦ ¦ ¦
¦ 25¦ Юридический адрес поставщика ¦ Перв. Ключ ¦ 26 ¦ ¦
¦ ¦ ¦ ¦ 27 ¦ ¦
¦ ¦ ¦ ¦ 28 ¦ ¦
¦ 26¦ Телефон поставщика ¦ Атрибут ¦ ¦ ¦
¦ 27¦ Факс поставщика ¦ Атрибут ¦ ¦ ¦
¦ 28¦ Номер лицензии поставщика ¦ Атрибут ¦ ¦ ¦
¦ 29¦ Дата заказа ¦ Атрибут ¦ ¦ 1 ¦
¦ ¦ ¦ ¦ ¦ 14 ¦
L===¦======================================¦============¦=====¦=====-
АНАЛИЗ РЕЗУЛЬТАТОВ ПРОГРАММЫ (на примере "CDS")
Структура, полученная в результате выполнения программы CDS, не является канонической. Так как в ней присутствуют многочисленные связи типа М:1 как между ключами ( что нежелательно, но допустимо ), так и между ключами и атрибутами. Кроме этого, в результирующей таблице присутствуют связи между атрибутами. Очевидно, что эти связи должны быть либо просто опущены, либо заменены на другие. Для устранения связей типа М:1 между ключом и атрибутами необходимо ввести сцепленные ключи.
Таким образом, для приведения результатов программы CDS к действительно канонической структуре необходимо произвести следующие преобразования.
Для однозначной идентификации поставщика образуется сцепленный ключ: наименование организации поставщика + регистрационный номер поставщика + юридический адрес поставщика. К этому ключу можно приписать атрибуты: номер расчетного счета поставщика, телефон поставщика, факс поставщика, номер лицензии поставщика.
Для идентификации накладных по поставке товара нужен сцепленный ключ: наименование товара + номер накладной + наименование организации-поставщика. Этому ключу соответствуют следующие атрибуты: стоимость товара в накладной, стоимость сырья в накладной, дата заказа, дата поставки, количество поставляемого товара, дата регистрации накладной.
Для идентификации товара ( медикаментов ) вводится сцепленный ключ: наименование товара + количество товара по учету. К этому ключу подключаются следующие атрибуты: срок годности, единица измерения товара, количество просроченного товара, цена поставленного товара. Атрибут - коэффициент естественной убыли лучше выделить отдельно с ключом: наименование товара, так как данный коэффициент имеют не все медикаменты, а лишь только несколько наименований. А для идентификации продажи медикаментов нужно ввести сцепленный ключ: наименование товара + дата продажи товара. Атрибутами этого ключа являются следующие реквизиты: наценка аптеки, количество проданного товара.
Для учета рецептов необходим сцепленный ключ: наименование товара
+ номер рецепта. К этому ключу приписывается атрибут: наименование товарной группы.
Для идентификации информации о происхождении медикаментов вводится сцепленный ключ: наименование товара + наименование фирмы-изготовителя. Этому ключу соответствуют следующие атрибуты: наименование страны-изготовителя, дата изготовления товара.
После приведенных преобразований, существенно меняются первоначальные
результаты, полученные по программе CDS. Полученная новая
схема скорее представляет собой интуитивную модель канонической структуры мало чем напоминающую первоначальную. Новая измененная
схема представлена в следующем пункте данной работы. На схеме канонической структуры также указаны связи между ключами.
ГРАФИЧЕСКОЕ ПОСТРОЕНИЕ МОДЕЛИ СХЕМА КАНОНИЧЕСКОЙ СТРУКТУРЫ
(на основе анализа результатов "CDS").
Page 51 ( PaintBrush)
