Пример разработки информационно-логической модели предметной области
Описать предметную область (сферу вашей деятельности) и для нее составить информационно - логическую модель.
Рассмотрим работу отдела по продаже какой-либо продукции. Продавец-консультант хочет иметь информацию о наличии товара, его характеристиках, фирме-производителе, фирме-поставщике, об имеющихся моделях товара на сегодняшний день.
Предметная область определена: отдел продаж и автоматизация работы продавца-консультанта. Круг задач также определен.
Отдел по продаже: модели товара;
наличие товара;
поставщики;
производители;
продажа товара;
сотрудники.
Информационно – логическая модель:
Информационно-логическая модель содержит все объекты рассматриваемой предметной области и связи между ними, которые необходимы для решения поставленной задачи.
На схеме информационно-логической модели каждый объект изображается в виде прямоугольника. Каждый объект обязательно должен иметь имя (располагается вверху прямоугольника и отделяется горизонтальной линией).
Ниже этой линии перечисляются атрибуты объекта. Каждый объект обязательно должен иметь первичный ключ. Первичный ключ – это атрибут или совокупность атрибутов, уникальным образом определяющих поля объекта. Первичные ключи на информационно-логической модели должны быть выделены, например, жирным шрифтом. Если нет первичных ключей, то нет возможности говорить о типах связей между объектами.
Каждый объект должен иметь хотя бы одну связь. Связи между объектами устанавливаются по аналогии со связями в реальной предметной области. Поля, по которым устанавливаются связи, называются внешним ключом.
Связь между объектами устанавливается не произвольным образом, а по полям, одинаковым по смыслу, по типу и размеру данных. При этом имена полей в разных объектах могут различаться.
На приведенной ниже схеме, например, продажу товара осуществляет продавец-консультант, поэтому объект Продажа содержит атрибуты Артикул и Продавец-консультант. Информацию о товарах содержит объект Модели товара, поэтому соединяем объекты Продажа и Модели товара по атрибуту Артикул. Аналогично, информацию о продавцах содержит объект Сотрудник, поэтому соединяем объекты Сотрудник и Продажа по атрибуту продавец-консультант. Отметим, что в объекте Продажа атрибут имеет имя Продавец-консультант, а в объекте Сотрудник – Табельный номер, но по смыслу эти атрибуты идентичны.
Для установления типа связи можно руководствоваться анализом реальной предметной области. Например, один продавец может продавать различные товары, а также один товар может быть продан разными продавцами. Связь между объектами Модель товара и Сотрудник осуществляется через объект Продажа. Поэтому связь между объектами Модель товара и Продажа имеет тип «один – ко – многим» и связь между объектами Сотрудник и Продажа также имеет тип «один – ко – многим».
Для определения типа связи существуют следующие правила:
-
если соединяются два первичных ключа, то связь имеет тип «один – к – одному»;
-
если соединяется первичный ключ с внешним, то связь имеет тип «один – ко – многим», где «один» - на стороне первичного ключа;
-
если соединяется простой первичный ключ с составным, то связь имеет тип «один – ко – многим», где «один» - на стороне простого первичного ключа;
-
если соединяются два составных первичных ключа, то связь имеет тип «один – ко – многим», где «один» - на стороне того составного ключа, который состоит из меньшего числа атрибутов.
1 1
1
Модель товара
Артикул Тип Марка Качество Гарантия Доставка
Наличие товара
Артикул
Название
Количество
Цена
Код фирмы-поставщика
Поставщик
Код фирмы-поставщика
Наименование
Контактный телефон
Адрес
Код фирмы-производителя 1
n n 1 1 1 1 n n
Производитель
Код фирмы-производителя
Дата производства
Артикул
Наименование
Телефон
Дополнительные
данные
о фирме-производителе
Код фирмы-производителя
Наименование
ИНН
Номер расчетного счета
Банк
ФИО директора
Сотрудник
Табельный номер
ФИО продавца
телефон
Продажа
Номер чека
Артикул
Дата продажи
Продавец-консультант