Глава 2
Заметим, что особенность объекта
ФИРМА
состоит
в том, что он имеет единственный
экземпляр, поэтому данный объект можно не отображать в базе данных отдельной
таблицей.
Выделение объектов плановой и учетной информации
Анализ документа "Договор на поставку товаров".
Определим функциональные
зависимости реквизитов документа "Договор", предварительно составив их пере-
чень (рис. 2.11). Присвоим реквизитам сокращенные обозначения — имена.
Номер договора
Дата договора
Сумма по договору
Код покупателя
НОМ_ДОГ
ДАТА_ДОГ
СУММА_ДОГ
КОД_ПОК
Реквизиты документа
"Договор"
Имя реквизита
Функциональные
зависимости
Код товара
КОД_ТОВ
Срок поставки
СРОК_ПОСТ
Количество поставки товара
Мин. партия поставки товара
Сумма поставки товара
КОЛ_ПОСТ
МИН_ПОСТ
СУММА_ПОСТ
Рис. 2.11.
Функциональные зависимости реквизитов документа "Договор"
Рассмотрим функциональные зависимости между реквизитами общей части доку-
мента "Договор". Номер договора присваивается в порядке подготовки нового до-
кумента. Этот номер является уникальным среди всех номеров договоров.
Каждый из реквизитов:
Дата заключения договора
,
Идентификатор покупателя
(в ка-
честве него примем код, соответствующий ИНН по справочнику покупателей) —
имеет единственное значение в договоре. Соответственно, каждый из этих реквизи-
тов однозначно определяется идентификатором документа —
Номером договора
.
Общим идентификатором договора определяется также однозначно реквизит
Сумма
всего
.
Кодом покупателя
однозначно определяются описательные реквизиты покупателя:
Наименование
,
ИНН
,
Адрес
,
Телефон
,
Банк
,
Расчетный счет
. В таблице зависимостей их
можно не отображать, поскольку информационный объект, образованный этими
реквизитами, был уже выделен на основе справочника покупателей.
Описательные реквизиты фирмы, выступающей в данном документе в качестве по-
ставщика, определяются однозначно идентификатором фирмы.
Рассмотрим функциональные зависимости реквизитов табличной части договора.
Табличная часть (спецификация договора) содержит реквизиты, имеющие множе-
ство значений в соответствующих столбцах, т. к. договор может содержать не-
сколько наименований товаров. Среди этих реквизитов особую роль играет
Код
Проектирование реляционной базы данных
77
товара
, который фактически является идентификатором каждой строки в доку-
менте.
З
АМЕЧАНИЕ
Поскольку в договоре может быть несколько товаров, номер договора не определяет
однозначно товар, указанный в документе, и, соответственно, не может быть установ-
лена функциональная зависимость
Кода товара
от
Номера договора
.
Описательные реквизиты товара
Наименование
,
Единица измерения
,
Цена
однозначно
определены
Кодом товара
. Эти реквизиты можно не включать в таблицу зависимо-
стей, поскольку их взаимосвязи были установлены ранее, при анализе справочника
товаров. Что касается реквизитов-оснований документа, таких как
Количество по-
ставки товара
,
Сумма поставки товара
,
Мин. партия поставки товара
— эти реквизи-
ты внутри документа идентифицируются
Кодом товара
в соответствующей строке, а
полная идентификация среди всех договоров образуется добавлением реквизита
Номер договора
к реквизиту
Код товара
. Все это справедливо лишь в том случае, ес-
ли для любого товара
Срок поставки
может быть только один. Причем в этом случае
реквизиты
Количество поставки товара
,
Сумма поставки товара
,
Мин. партия
поставки
товара
и
Срок поставки товара
функционально полно будут зависеть от составного
ключа —
Номер договора + Код товара
.
Допустим, что в договоре для одного товара возможно несколько сроков поставки,
тогда срок поставки должен войти в общий идентификатор для реквизитов
Количе-
ство поставки товара
,
Сумма
поставки товара
и
Мин. партия поставки товара
. Таким
образом, эти реквизиты будут функционально полно зависеть от составного ключа
Номер договора + Код товара + Срок поставки
(см. рис. 2.11).
Выделение информационных объектов по документу "Договор".
Проанализи-
ровав выявленные функциональные взаимосвязи реквизитов, установим, от каких
реквизитов зависит каждый реквизит, к которому подходит стрелка. Таким обра-
зом, определим соответствие описательных и ключевых реквизитов. Затем сгруп-
пируем реквизиты, одинаково зависимые от ключевых, и объединим их с ключе-
выми реквизитами в один информационный объект (ИО). Результат группировки
по ИО реквизитов документа "Договор" представлен в табл. 2.6.
Таблица 2.6.
Группировка реквизитов
по информационным объектам документа "Договор"
Реквизиты
объекта
Признак ключа
Имя
информационного
объекта
Семантика
объекта
НОМ_ДОГ
Простой
уникальный
ДОГОВОР
Общие
сведения
по договору
ДАТА_ДОГ
КОД_ПОК
СУММА_ДОГ
78
Do'stlaringiz bilan baham: |