База данных как информационная модель предметной области. Привет студент

| Планирование уроков и материалы к урокам | 8 классы | Планирование уроков на учебный год | Табличные модели

Урок 12
Табличные модели

Табличные модели





Изучаемые вопросы:

Таблицы типа «объект-свойство».
- Таблица типа «объект-объект».
- Двоичные матрицы.

Таблицы типа «объект-свойство»

Еще одной распространенной формой информационной модели является прямоугольная таблица , состоящая из строк и столбцов. Использование таблиц настолько привычно, что для их понимания обычно не требуется дополнительных объяснений.

В качестве примера рассмотрим таблицу 2.1.

При составлении таблицы в нее включается лишь та информация, которая интересует пользователя. Например, кроме тех сведений о книгах, которые включены в таблицу 2.1, существуют и другие: издательство, количество страниц, стоимость. Однако для составителя таблицы 2.1 было достаточно сведений об авторе, названии и годе издания книги (столбцы «Автор», «Название», «Год») и информации, позволяющей найти книгу на полках книжных стеллажей (столбец «Полка»). Предполагается, что все полки пронумерованы и, кроме того, каждой книге присвоен свой инвентарный номер (столбец «Номер»).

Таблица 2.1 - это информационная модель книжного фонда домашней библиотеки.

Таблица может отражать некоторый процесс, происходящий во времени (табл. 2.2).

Показания, которые занесены в таблицу 2.2, снимались в течение пяти дней в одно и то же время суток. Глядя на таблицу, легко сравнить разные дни по температуре, влажности и пр. Данную таблицу можно рассматривать как информационную модель процесса изменения состояния погоды.

Таблицы 2.1 и 2.2 относятся к наиболее часто используемому типу таблиц. Их называют таблицами типа «объект-свойство» .

В одной строке такой таблицы содержится информация об одном объекте (книга в библиотеке или состояние погоды в 12-00 в данный день). Столбцы - отдельные характеристики (свойства) объектов.

Конечно, строки и столбцы в таблицах 2.1 и 2.2 можно поменять местами, повернув их на 90°. Иногда так и делают. Тогда строки будут соответствовать свойствам, а столбцы - объектам. Но чаще всего таблицы строят так, чтобы строк в них было больше, чем столбцов. Как правило, объектов больше, чем свойств.

При разработке базы данных сначала исследуется предметная область (например, «Университет»). В ней выделяются основные объекты. Они могут быть реальными («Студент») или абстрактными («Дисциплина»). Каждый объект характеризуется набором свойств – атрибутов объекта (поля данных) . Для каждого объекта атрибуты заполняются определенными значениями. Атрибуты могут быть простыми и ключевыми.

Ключевой атрибут (ключ) – это отдельные элементы данных, по которым можно определить все остальные элементы данных («Номер зачетной книжки»). Ключ может быть простым или составным («Фамилия», «Имя», «Отчество»).

После определения основных объектов предметной области с помощью их ключевых атрибутов устанавливаются связи между этими объектами:

a) 1:1 ("один к одному») – каждому экземпляру объекта А соответствует только один экземпляр объекта В и наоборот (рисунок 17).

Рисунок 17 – Связь «один к одному»

b) 1:М («один ко многим») – каждому экземпляру объекта А может соответствовать 0, 1 или несколько экземпляров объекта В, однако каждому экземпляру объекта В соответствует только 1 экземпляр объекта А (рисунок 18).

Рисунок 18 – Связь «один ко многим»

c) М:М («многие ко многим») – каждому экземпляру объекта А соответствует 0, 1 или несколько экземпляров объекта В и наоборот (рисунок 19).

Рисунок 19 - Связь «многие ко многим»

Выделенные основные объекты предметной области с установленными связями между ними представляют собой инфологическую модель.

Отношения

Объект предметной области может быть представлен в виде таблицы-отношения – таблицы особого рода, у которой:

· каждая строка содержит информацию об одном экземпляре объекта (строка отношения - кортеж );

· все столбцы однородные, то есть все элементы в столбце имеют одинаковый тип и длину, имеют имя и содержат информацию об отдельном атрибуте объекта;

· каждый элемент представляет собой один элемент данных об объекте;

· все строки и столбцы уникальны (нет повторений);

· в таблицах нет пустых ячеек.

Базы данных, основанные на таблицах-отношениях, называются реляционными (relation - отношение). Набор отношений (таблиц) используется в БД для хранения информации об объектах реального мира и моделирования связей между ними. Например, для хранения объекта «студент» используют отношение СТУДЕНТ , в котором свойства объекта располагаются в столбцах таблицы, являющихся атрибутами объекта (таблица 8):

Таблица 8 – Отношение СТУДЕНТ


Список имен атрибутов отношения называется схемой отношения . Схему отношения СТУДЕНТ можно записать так:СТУДЕНТ = (Фамилия, Возраст, Группа).

Реляционная БД – набор взаимосвязанных отношений. Каждое отношение (таблица) в ЭВМ представляется в виде файла записей.

Над таблицами - отношениями можно выполнять восемь различных операций теории множеств и реляционной алгебры (объединение, выборка, проекция, пересечение, сложение, умножение, разность, деление). Вследствие этого из введенных (базовых) отношений можно получать много новых (вычисляемых) таблиц - отношений (отчетов, выборок, запросов и т.п.).

Благодаря тому, что информация в базах данных представлена в двух видах – хранимая информация (исходные, введенные таблицы) и вычисляемая информация (таблицы, полученные на основании исходных), можно существенно экономить память и ускорить процесс обработки этой информации.

Для создания простой и надёжной базы данных необходимо нормализовать отношения. Нормализация отношений – пошаговый процесс разложения отношений на более мелкие и простые. Не смотря на увеличение при этом количества отношений, операции доступа к данным существенно ускоряются благодаря улучшению корректности, устранению дублирования и обеспечению непротиворечивости данных в базе.

Существует несколько нормальных форм :

1-я нормальная форма. Отношение считается находящимся в первой нормальной форме, если все его атрибуты – неделимые (простые). К примеру, приведенное ниже на рисунке 20 отношение не нормализовано, поскольку содержит сложный атрибут Спорт . Чтобы привести это отношение к нормализованному виду, нужно избавиться от этого сложного атрибута.


Рисунок 20 – Приведение к первой нормальной форме

В полученном отношении ключ является составным, состоящим из атрибутов Фамилия и Вид спорта .

2-я нормальная форма . Отношение считается находящимся во второй нормальной форме, если все его атрибуты зависят от составного ключа в целом, а не от его частей. Следовательно, если отношение находится в первой нормальной форме и имеет простой, а не составной ключ, то оно автоматически находится и в первой, и во второй нормальной форме.

Например, в отношении ВЕДОМОСТЬ (рисунок 21), имеющем составной ключ «Студент, Дисциплина», атрибут Лектор зависит только от Дисциплины , а не от всего ключа. Это отношение можно нормализовать, «разбив» его на два отношения УСПЕВАЕМОСТЬ и ПРЕПОДАВАТЕЛЬ :

ВЕДОМОСТЬ = (Студент, Дисциплина, Лектор, Оценка)


УСПЕВАЕМОСТЬ = (Студент, Дисциплина , Оценка) ПРЕПОДАВАТЕЛЬ = (Дисциплина , Лектор)

Рисунок 21 – Приведение ко второй нормальной форме

3-я нормальная форма. Отношение считается находящимся в третьей нормальной форме, если устранены зависимости между не ключевыми атрибутами (транзитивные зависимости). Например, в отношении ПРЕДМЕТ = (Название, Лектор, Кафедра, Телефон) не ключевой атрибут Телефон зависит от не ключевого атрибута Кафедра .

Для устранения транзитивной зависимости необходимо «расщепить» исходное отношение на два ДИСЦИПЛИНА = (Название , Лектор, Кафедра) и ДАННЫЕ КАФЕДРЫ = (Кафедра , Телефон).

Дальнейшее упрощение таблиц связано с дальнейшим ограничением типов зависимости между атрибутами отношений.

После нормализации отношений и установления связей между ними формируется инфологическая модель предметной области. Ниже (на рисунке 22) представлен пример инфологической модели фирмы, оформляющей сделки с заказчиками через своих сотрудников-менеджеров:


Заказчик Фамилия И. О. № сделки Фамилия И. О. Должность Дата Адрес Стаж Фамилия И. О. менеджера Телефон Фамилия И. О. заказчика

Рисунок 22 – Модель фирмы

На основании инфологической модели разрабатывается модель данных, которая дает описание логической структуры базы данных на языке описания данных (ЯОД), – даталогическая модель (ДМ) .

Для привязки ДМ к среде хранения используется модель данных физического уровня – физическая модель (ФМ). На этом этапе физического проектирования базы данных осуществляется выбор типа носителя, разрабатывается формат хранимых записей и проектируются методы доступа к данным.

СУБД

После этого уже возможно формирование (заполнение) базы данных и непосредственно работа с ней. Работа с базами данных сводится к выполнению следующих операций:

1) запись (заполнение базы данных);

2) просмотр;

3) редактирование (добавление, удаление, исправление);

4) выборка (запросы, отчеты).

Эти операции накопления и манипулирования данными выполняет специальная программа – система управления базами данных (СУБД).

По технологии решения задач, выполняемых СУБД, базы данных можно разделить на два вида:

Централизованная БД (хранится целиком на ВЗУ одной вычислительной системы и, если система входит в состав сети, то возможен доступ к этой БД других систем);

Распределенная БД (состоит из нескольких, иногда пересекающихся или дублирующих друг друга БД, хранящихся на ВЗУ разных узлов сети).

СУБД предоставляет доступ к данным БД двумя способами:

Локальный доступ (предполагает, что СУБД обрабатывает БД, которая хранится на ВЗУ того же компьютера);

Удаленный доступ (это обращение к БД, которая хранится на одном из узлов сети).

Удаленный доступ может быть выполнен по технологии файл-сервер или клиент-сервер. Технология файл-сервер предполагает выделение одной из вычислительных систем, называемой сервером, для хранения БД. Все остальные компьютеры сети (клиенты) исполняют роль рабочих станций, которые копируют требуемую часть централизованной БД в свою память, где и происходит обработка. Технология клиент-сервер предполагает, что сервер, выделенный для хранения централизованной БД, дополнительно производит обработку запросов клиентских рабочих станций. Клиент посылает запрос серверу. Сервер пересылает клиенту данные, являющиеся результатом поиска в БД по ее запросу.

Система управления базами данных– совокупность программных и языковых средств.

Программные средства обеспечивают организацию ввода, обработки и хранения данных, а также обеспечивают взаимодействие всех частей системы при её функционировании (настройка, тестирование, восстановление).

Языковые средства обеспечивают взаимодействие пользователя с базой данных. К ним относятся:

  • языки манипулирования данными (ЯМД) – языки запросов к БД, представляющие собой систему команд для работы с данными (выборка, запрос, вставка, удаление и т.п.);
  • языки определения данных (ЯОД) – языки, предназначенные для создания схемы базы данных (описания типов данных, структуры базы, взаимодействия и связей между элементами).


Рисунок 22 - Схема взаимодействия пользователя с базой данных

Современная СУБД – прикладная программа, которая предназначена для облегчения работы неквалифицированного пользователя с БД. Он работает с ней на естественном языке без знания языка манипулирования данными и языка определения данных (рисунок 22). Одним из примеров такой СУБД является широко известный продукт фирмы Microsoft – СУБД Access.


Инфологическая модель (информационно-логическая модель) - ориентированная на человека и не зависимая от типа СУБД модель предметной области, определяющая совокупности информационных объектов, их атрибутов и отношений между объектами, динамику изменений предметной области, а также характер информационных потребностей пользователей. Инфологическая модель предметной области может быть описана моделью "сущность-связь" (моделью Чена), в основе которой лежит деление реального мира на отдельные различимые сущности, находящиеся в определенных связях друг с другом, причем обе категории - сущность и связь полагаются первичными, неопределенными понятиями.

Цель инфологического моделирования

  • обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных. Поэтому инфологическую модель данных пытаются строить по аналогии с естественным языком (последний не может быть использован в чистом виде из-за сложности компьютерной обработки текстов и неоднозначности любого естественного языка). Основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства (атрибуты).

Основные понятия

  • Сущность – любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных. Сущностями могут быть люди, места, самолеты, рейсы, вкус, цвет и т.д. Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности может быть ГОРОД, а экземпляром – Москва, Киев и т.д.
  • Атрибут – поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей (например, ЦВЕТ может быть определен для многих сущностей: СОБАКА, АВТОМОБИЛЬ, ДЫМ и т.д.). Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Примерами атрибутов для сущности АВТОМОБИЛЬ являются ТИП, МАРКА, НОМЕРНОЙ ЗНАК, ЦВЕТ и т.д. Здесь также существует различие между типом и экземпляром. Тип атрибута ЦВЕТ имеет много экземпляров или значений: Красный, Синий, Банановый, Белая ночь и т.д., однако каждому экземпляру сущности присваивается только одно значение атрибута.

Абсолютное различие между типами сущностей и атрибутами отсутствует. Атрибут является таковым только в связи с типом сущности. В другом контексте атрибут может выступать как самостоятельная сущность. Например, для автомобильного завода цвет – это только атрибут продукта производства, а для лакокрасочной фабрики цвет – тип сущности.

  • Ключ – минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Минимальность означает, что исключение из набора любого атрибута не позволяет идентифицировать сущность по оставшимся. Для сущности Расписание ключом является атрибут Номер_рейса или набор: Пункт_отправления, Время_вылета и Пункт_назначения (при условии, что из пункта в пункт вылетает в каждый момент времени один самолет).
  • Связь – ассоциирование двух или более сущностей. Если бы назначением базы данных было только хранение отдельных, не связанных между собой данных, то ее структура могла бы быть очень простой. Однако одно из основных требований к организации базы данных – это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи. А так как в реальных базах данных нередко содержатся сотни или даже тысячи сущностей, то теоретически между ними может быть установлено более миллиона связей. Наличие такого множества связей и определяет сложность инфологических моделей.

Требования, предъявляемые к инфологической модели

  • Адекватное, отображение предметной области
  • Недопущение неоднозначной трактовки модели
  • Четкое определение моделируемой предметной области (конечность модели)
  • Легкая расширяемость, обеспечивающая ввод новых данных без изменения ранее определенных, то же относят и к удалению данных
  • Возможность композиции и декомпозиции модели в связи с большой размерностью реальных инфологических моделей
  • Легкое восприятие различными категориями пользователей; желательно, чтобы инфологическую модель строил (или хотя бы участвовал в ее создании) специалист, работающий в данной предметной области, а не только проектировщик систем машинной обработки данных
  • Применимость языка спецификаций модели как при ручном, так и при автоматизированном проектировании информационных систем

Компоненты инфологической модели

  • Описание объектов и связей между ними, называемой ER-моделью (расшифровывается как модель "Сущность-связь")
  • Описание информационных потребностей пользователей
  • Алгоритмические связи атрибутов
  • Лингвистические отношения, обусловленные особенностями обображения предметной области в языковой среде
  • Ограничения целостности

Построение модели "Объект - свойтво - отношение"

Классы объектов

В предметной области в процессе ее обследования и анализа выделяют классы объектов . Классом объектов называют совокупность объектов, обладающих одинаковым набором свойств. Например, если в качестве предметной области рассмотреть вуз, то в ней можно выделить следующие классы объектов: учащиеся, преподаватели, аудитории и т. д. Объекты могут быть реальными, как названные выше, а могут быть и абстрактными, как, например, предметы, которые изучают студенты.

При отражении в информационной системе каждый объект представляется своим идентификатором, который отличает один объект класса от другого, а каждый класс объектов представляется именем этого класса. Так, для объектов класса «ИЗУЧАЕМЫЕ ПРЕДМЕТЫ» идентификатором каждого объекта будет «НАЗВАНИЕ ПРЕДМЕТА». Идентификатор должен быть уникальным.

Каждый объект обладает определенным набором свойств. Для объектов одного класса набор этих свойств одинаков, а их значения, естественно, могут различаться. Например, для объектов класса «СТУДЕНТ» таким набором свойств, описывающим объекты класса, может быть «ГОД РОЖДЕНИЯ», «ПОЛ» и др.

При описании предметной области надо изобразить каждый из существующих классов объектов и набор свойств, фиксируемый для объектов данного класса.

Будем использовать для отображения объектов и их свойств следующие обозначения.

Каждому классу объектов в инфологической модели присваивается уникальное имя. Именем класса объектов является грамматический оборот существительного (существительное, у которого могут быть прилагательные и предлоги). Если имя состоит из нескольких слов, то желательно, чтобы первым стояло существительное. Существительное должно употребляться в единствен ном, а не во множественном числе. Поэтому для рассмотренного выше класса объектов «ИЗУЧАЕМЫЕ ДИСЦИПЛИНЫ» лучше дать имя «ДИСЦИПЛИНА ИЗУЧАЕМАЯ». Если в предметной области традиционно используются разные имена для обозначения какого-либо класса объектов (т. е. имеет место синонимия), то все они должны быть зафиксированы при описании системы, затем одно из них выбирается за основное, и только оно должно в дальнейшем использоваться в ИЛМ. Помимо имени класса объектов в ИЛМ может использоваться его короткое кодовое обозначение.

При построении инфологической модели желательно дать словесную интерпретацию каждой сущности, особенно если возможно неоднозначное толкование понятия.

Связи между объектом и его свойствами

При описании предметной области надо отразить связи между объектом и характеризующими его свойствами. Это изображается просто в виде линии, соединяющей обозначение объекта и его свойств.

Связь между объектом и его свойством может быть различной. Объект может обладать только одним значением какого-то свойства. Например, каждый человек может иметь только одну дату рождения. Назовем такие свойства единичными . Для других свойств возможно существование одновременно нескольких значений у одного объекта. Пусть, например, при описании «СОТРУДНИКА» фиксируется в качестве его свойства «ИНОСТРАННЫЙ ЯЗЫК», которым он владеет. Так как сотрудник может знать несколько иностранных языков, то такое свойство будем называть множественным . При изображении связи между объектом и его свойствами для единичных свойств будем использовать одинарную стрелку, а для множественных свойств - двойную.

Кроме того, некоторые свойства являются постоянными, их значение не может измениться с течением времени. Назовем такие свойства статическими , а те свойства, значение которых может изменяться со временем, будем называть динамическими .

Другой характеристикой связи между объектом и его свойством является признак того, присутствует ли это свойство у всех объектов данного класса либо отсутствует у некоторыми объектов. Например, для отдельных служащих может иметь место свойство «УЧЕНАЯ СТЕПЕНЬ», а другие объекты этого класса могут не обладать, указанным свойством. Назовем такие свойства условными.

При изображении связи условного свойства с объектом будем использовать пунктирную линию, а для обозначения динамических и статических свойств будем использовать буквы D и S над соответствующей линией.

Иногда в инфологической модели бывает полезно ввести понятие «составное свойство». Примерами таких свойств могут быть «АДРЕС», состоящий из «ГОРОДА», «УЛИЦЫ», «ДОМА» и «КВАРТИРЫ», и «ДАТА РОЖДЕНИЯ», состоящая из «ЧИСЛА», «МЕСЯЦА» и «ГОДА». Используем в ИЛМ для обозначения составного свойства квадрат, из которого исходят линии, соединяющие его с обозначениями составляющих его элементов.

Связи между объектами

Кроме связи между объектом и его свойствами, в инфологической модели фиксируются связи между объектами разных классов. Различают связи типа:

  • «один к одному» (1:1): в каждый момент времени каждому представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности В:
Студент может не "заработать" стипендию, получить обычную или одну из повышенных стипендий.
  • «один ко многим» (1:М): одному представителю сущности А соответствуют 0, 1 или несколько представителей сущности В.
Квартира может пустовать, в ней может жить один или несколько жильцов.
  • «многие к одному» (М:1)

Иногда эти типы связей называются степенью связи. Кроме степени связи в инфологической модели для характеристики связи между разными сущностями надо указывать так называемый «класс принадлежности», который показывает, может ли отсутствовать связь объекта данного класса с каким-либо объектом другого класса. Класс принадлежности сущности должен быть либо обязательным, либо необязательным.

Объясним сказанное на конкретных примерах. Как указывалось выше, инфологическая модель строится не для отдельного объекта, а отображает классы объектов и связи между ними. Соответствующая диаграмма, отображающая это, называется диаграммой ER-типа (такое название обусловлено тем, что по-английски слово «сущность» пишется «Entity», а связь - «Relationship»). Однако иногда, кроме диаграмм ER-типа, используются диаграммы ER-экземпляров.

Предположим, что в инфологической модели отображается связь между двумя классами объектов: «ЛИЧНОСТЬ» и «ЯЗЫК ИНОСТРАННЫЙ». -

Предположим, что предметной областью является завод, некоторые сотрудники которого знают иностранный язык, но ни один из них не владеет более чем одним языком. Естественно, что имеется много языков, которыми не владеет ни один из сотрудников, а также что некоторые из сотрудников владеют одним и тем же иностранным языком.

Предположим далее, что предметной областью является институт, а объект «ЛИЧНОСТЬ» отображает абитуриентов, поступающих в этот институт. Каждый из абитуриентов обязательно должен владеть каким-либо иностранным языком, но никто ни владеет более чем одним языком.

Как в первом, так и во втором рассмотренном случае между сущностями наблюдается отношение М:1. На диаграмме это отображено со стороны объекта «ЛИЧНОСТЬ» двойной стрелецкой, а со стороны объекта «ЯЗЫК ИНОСТРАННЫЙ» - одинарной стрелкой на линии, изображающей связь между данными сущностями.

Разница в рассматриваемых ситуациях заключается в том, что в первом случае класс принадлежности является необязательным для обоих сущностей, а во втором - для сущности «ЛИЧНОСТЬ» класс принадлежности является обязательным. На диаграмме это отображено точкой в прямоугольнике, соответствующем объекту «ЛИЧНОСТЬ».

Пусть предметная область будет та же, что и в предыдущем случае, но имеют место ситуации, что некоторые абитуриенты знают несколько иностранных языков. В этом случае связь между объектами будет иметь тип М: М.

Предположим, что предметной областью является некоторый лингвистический институт, в котором каждый из сотрудников обязательно знает несколько иностранных языков, и по каждому из известных науке языков в этом институте имеется хотя бы один специалист, владеющий им.

В этом случае связь между объектам» будет М: М, и класс принадлежности обоих сущностей является обязательным" .

Простые и сложные объекты

Объект называется простым, если он рассматривается как неделимый. Сложный объект представляет собой объединение других объектов, простых или сложных, также отображаемых в информационной системе. Понятие «простой» и «сложный» объект является относительным. В одном рассмотрении объект может считаться простым, а в другом этот же объект может рассматриваться как сложный. Например, объект «стул» в подсистеме учета материальных ценностей будет рассматриваться как простой объект, а для предприятия, производящего стулья, это будет составной объект (включающий «ножки», «спинку», «сиденье» и пр.).

Выделяют несколько разновидностей сложных объектов: составные объекты, обобщенные объекты и агрегированные объекты.

Составной объект соответствует отображению отношения «целое- часть». Примерами составных объектов являются УЗЛЫ - ДЕТАЛИ, КЛАСС -УЧЕНИКИ и т. п.

Для отображения составных объектов в инфологической модели обычно не используются какие-либо специальные условные обозначения. Связь между составным и составляющими его объектами отображается так же, как это было описано выше. Причем характер связи тоже может быть разный: так, «ДЕТАЛИ» и «УЗЛЫ» связаны между собой отношением типа М: М, а «ГРУППА» и «СТУДЕНТЫ» - отношением 1: М.

Обобщенный объект отражает наличие связи «род - вид» между объектами предметной области. Например, объекты СТУДЕНТ, ШКОЛЬНИК, АСПИРАНТ, УЧАЩИЙСЯ ТЕХНИКУМА образуют обобщенный объект УЧАЩИЕСЯ. Объекты, составляющие обобщенный объект, называются его категориями.

Как «родовой» объект, так и «видовые» объекты могут обладать определенным набором свойств. Причем наблюдается так называемое наследование свойств, т. е. «видовой» объект обладает всеми теми свойствами, которыми обладает «родовой» объект, плюс свойствами, присущими только объектам этого вида.

Агрегированные объекты соответствуют обычно какому-либо процессу, в который оказываются «вовлеченными» другие объекты. Например, агрегированный объект «ПОСТАВКА» объединяет в себе объекты «ПОСТАВЩИК», который поставляет продукцию, «ПОТРЕБИТЕЛЬ», который получает эту продукцию, а также саму поставляемую «ПРОДУКЦИЮ». Своеобразным объектом является «ДАТА ПОСТАВКИ». Агрегированный объект может, так же как и простой объект, иметь характеризующие его свойства. В рассматриваемом примере таким свойством может быть размер поставки.

Сравнение методик построения ER-моделей

ER-модели очень широко используются в практике проектирования баз данных. Причем они используются как при ручном, так и при автоматизированном проектировании. Методики графического представления ER-моделей несколько различаются в разных системах автоматизации проектирования и в разных литературных источниках.

Далее мы рассмотрим особенности представления ER-моделей в трех наиболее известных системах автоматизации проектирования (CASE-системах): Prokit*WORKBENCH, Desing/IDEF и CASE ORACLE, а также в некоторых литературных источниках.

Можно выделить несколько категорий различий в изображении ER-моделей.

1. Несущественные различия, связанные с использованием разных условных обозначений для отображения одних и тех же сущностей. Так, для обозначения объекта могут использоваться прямоугольники, блоки с закругленными углами, овалы и т. д.

Следующая совокупность различий связана со способом изображения связей между объектами и заданием имен связей. Так, в некоторых методиках для изображения связи в разъеме линии, отображающей эту связь, предлагается изображать ромб и внутри него или рядом с ним писать название связи (модель Чена). Так как связи являются двусторонними, то наименование связи будет меняться в зависимости от того, с какой стороны ее рассматривать. Поэтому часто в ИЛМ предлагается указывать оба этих названия (например, в системах CASE ORACLE, Prokit). Причем для того, чтобы было понятно, к какому из направлений связи какое название относится, принимают определенные соглашения о том, как располагать эти названия на схемах. Например, сверху линии помещать названия, относящиеся к левой стороне связи, а под линией - к правой. Наличие такого большого числа обозначений и подписей загромождает модель. Кроме того, само присвоение названий часто представляет некоторую трудность, что увеличивает трудоемкость инфологического моделирования. Поэтому в тех случаях, когда это не приводит к двусмысленностям и неясностям, если это позволяет система, можно рекомендовать не использовать особые обозначения и имена для связей.

Разные условные обозначения используются и для изображения типа связи (1:1, 1: М, М:М). Некоторые системы автоматизации проектирования, например Prokit, предоставляют пользователю возможность выбрать из множества возможных обозначений те, которые ему больше нравятся или более привычны. В этой системе для обозначения вида связей между объектами могут использоваться следующие условные обозначения.

Для отображения обязательности вхождения объектов в связь («класс принадлежности/членства») также используются разные условные обозначения. Так, в CASE ORACLE класс членства передается следующим образом; с той стороны связи, с которой элемент может не обязательно входить в связь, используется Пунктирная линия, а там, где членство обязательное, - сплошная линия. С учетом класса членства возможны типы отношений, представленные на рисунке.

Используемые в CASE ORACLE обозначения более удобны, так как если объект участвует в большом количестве связей, то дополнительные прямоугольники с точками становится неудобно располагать на рисунке.

В Desing IDEF характер членства в связи изображается, как показано на рисунке.

2. Различия, также связанные со способом изображения тех или иных ситуаций, но более существенные, приводящие к различиям в самих моделях. Например, в системе 3RACLE обобщенный объект изображается путем «вложения» блоков, обозначающих «видовые» объекты, внутрь блока, изображающего «родовой» объект. На рисунке показано изображение объекта «ЛИЧНОСТЬ», рассмотренного выше, в условных обозначениях, используемых в CASE ORACLE.

Как следует из сравнения рисунков, изображение обобщенных объектов в сравниваемых методиках различается не только по форме представления. Так, если объект классифицируется по разным признакам, то при использовании первого из рассмотренных способов изображения обобщенных объектов наглядно видно, по какому признаку осуществляется классификация. Второй же способ изображения не обеспечивает этого. Другими словами, предложенный в начале главы способ изображения обобщенных объектов является семантически более содержательным, информативным.

На рисунке изображен тот же обобщенный объект ЛИЧНОСТЬ с использованием синтаксиса системы IDEF1X. По своей семантике этот способ изображения ближе к предложенному нами базовому способу изображения ИЛМ. Разница заключается в том, что для сущностей-категорий и «общих» сущностей в IDEF1X используются одинаковые обозначения-

3. Кроме различия в изображении тех или иных сущностей, в теории инфологического моделирования наблюдается расхождение в используемой терминологии. Например, в CASE ORACLE родовой объект называется супертип (syper-type), а видовой - подтип (sub-type). Таких различий в терминологии можно привести много, но это не является сейчас нашей целью.

4. Следующий круг различий связан с пространственным изображением тех или иных компонентов ИЛМ. Например, свойства объекта иногда не отображаются на той же схеме, что объекты и связи между ними, а их описания выполняются отдельно. Часто «писание свойств представляют в табличной или иной аналитической форме, а не в графическом виде.

ИЛМ даже для небольшой и несложной предметной области включает в себя описание значительного числа компонентов и связей между ними. При этом встает проблема наглядности общей схемы. Эта проблема по-разному решается при ручном и автоматизированном построении инфологической модели. В автоматизированных системах чаще всего строится единое изображение ER-модели и используется прием масштабирования, когда, уменьшая или увеличивая масштаб изображения, на экране можно посмотреть как всю схему, так и отдельный ее фрагмент.

Различные приемы используются и для того, чтобы уменьшить число пересечений линий на схеме. Так, в системе Prokit для этих целей допускается дублирование изображения объекта и размещение этого дубля рядом с тем объектом, с которым его надо связать. Для того чтобы показать, что это не новый объект, используется какое-либо условное обозначение, например, у соответствующих блоков отчеркивается уголок.

При ручном проектировании изобразить всю ER-модель в виде единой схемы обычно не представляется возможным. В этом случае можно порекомендовать следующий прием: изобразить и описать каждый объект самостоятельно, присвоить каждому объекту короткий код. Используя эти кодовые обозначения, для каждого объекта указать его связи с другими объектами.

5. Некоторые возможности, имеющиеся в одних системах или методиках, отсутствуют в других. В этих случаях возможны различные варианты: а) для изображения ситуации используются возможности, предоставляемые моделью, но это требует применения определенных приемов, часто несколько искусственных, для их представления; б) ситуация просто не отображается в модели.

Например, во многих системах инфологического моделирования предполагается, что свойства у объекта могут быть только единичными. В этом случае каждое множественное свойство следует представлять как самостоятельный объект и изображать связь между этим вновь введенным объектом и исходным объектом.

В IDEF свойства объекта могут быть только единичные и всегда определенные (не условные). Если свойство может отсутствовать у каких-либо объектов, то надо выделять отдельные сущности, например, ШТАТНЫЙ СЛУЖАЩИЙ с атрибутом ОКЛАД и ПОЧАСОВИК, не имеющий такого атрибута. Это приведет к необходимости выделения большого числа объектов и связей в ИЛМ, к снижению наглядности модели. Например, отдельные экземпляры объекта ЛИЧНОСТЬ могут иметь или не иметь ученое звание, ученую степень, год окончания вуза и многих других признаков. По каждому из этих признаков придется выделять подклассы.

Некоторые методики не вводят агрегированный объект как самостоятельную категорию. В этом случае агрегированный объект изображается как простой, при этом пользователь должен предварительно определить его идентификатор и свойства. Если модель допускает изображение только двоичных связей, то проектировщик должен преобразовать n-арную связь в совокупность бинарных.

Кроме указанных сложностей при определении идентификатор ра агрегированной сущности, могут возникнуть и проблемы при переходе от ИЛМ к даталогической модели.

Вариант, когда ситуация не может быть отражена в ИЛМ, может быть проиллюстрирован на следующем: если методика построения модели не предполагает фиксацию класса членства в связи, то эта информация будет просто потеряна.

В некоторых CASE-системах имеет место ситуация, когда какая-то конструкция допускается в системе как промежуточная. Например, в IDEF и CASE ORACLE отношение М: М допускается как неспецифическое отношение. Его наличие разрешается на ранних стадиях разработки проекта, а в дальнейшем оно должно быть заменено на специфическое отношение посредством введения третьей сущности. Это является недостатком системы, так как, во-первых, не все СУБД требуют такого преобразования (некоторые системы поддерживают отношение М:М в явном виде), и, во-вторых, если такое преобразование потребуется, его вполне система автоматизации проектирования могла бы выполнить автоматически на этапе даталогического проектирования. Даже если выполняется «ручное» проектирование, то указанное преобразование должно выполняться проектировщиком на стадии даталогического проектирования, а не при описании предметной области. Кроме того, при рассматриваемом преобразовании на стадии инфологического проектирования в IDEF вводится новая категория сущностей - сущности пересечения или ассоциативные сущности. Введение новых сущностей влечет за собой введение в ИЛМ и дополнительных связей. Все это, вместе взятое, усложняет и без того нелегкую задачу инфологического проектирования.

В предметной области могут быть сущности, идентификаторы которых являются зависимыми от идентификатора какого-то другого объекта. Например, если участки на предприятии нумеруются в пределах цеха, то идентификатор участка будет составным, включающим в себя код цеха и код участка. В инфологической модели можно ограничиться указанием этого составного идентификатора. Некоторые методики построения ER-моделей (например, методология IDEFIX, Prokit) предусматривают введение особых видов сущностей и особых видов отношений для отображения подобных ситуаций. Так, в IDEF сущность, для идентификации которой надо рассматривать ее отношение с другими сущностями; называется зависимой от идентификатора сущностью, и для ее изображения используется блок с закругленными углами. Для изображения же не зависимой от идентификации сущности используется прямоугольник. Для связи объектов, один из которых нужен для полной идентификации другого, вводится понятие идентифицирующего отношения. Для него также вводится свое условное обозначение. В IDEF для идентифицирующего отношения используется сплошная линия, а для неидентифицирующего пунктирная.

6. Как отмечалось выше при рассмотрении принципов инфологического моделирования, понятия «объект», «свойство», «отношение» являются относительными. Так, в предложенной нами базовой инфологической модели выделяются разные виды объектов: простые, составные, агрегированные, обобщенные. В некоторых системах, например в IDEF, такой классификации объектов нет, и вместо этого используются разновидности отношений.

И тот, и другой подход имеет право на существование. Принципиальной разницы, влекущей за собой какие-то существенные последствия, в сравниваемых подходах нет.

2. 2. ПОСТРОЕНИЕ МОДЕЛИ “ОБЪЕКТ - СВОЙСТВО - ОТНОШЕНИЕ”

Для описания ИЛМ используются как языки аналитического (описательного) типа, так и графические средства в дальнейшем применяется графический способ отображения модели “объект-свойство-отношение”. В предметной области в процессе ее обследования и анализа выделяют классы объектов. Классом объектов называют совокупность объектов, обладающих одинаковым набором свойств. Например, если в качестве предметной области рассмотреть вуз, то в ней можно выделить следующие классы объектов: учащиеся, преподаватели, аудитории и т. д. Объекты могут быть реальными, как названные выше, а могут быть и абстрактными, как, например, предметы, которые изучают студенты.

При отражении в информационной системе каждый объект представляется своим идентификатором, который отличает один объект класса от другого, а каждый класс объектов представляется именем этого класса. Так, для объектов класса “ИЗУЧАЕМЫЕ ПРЕДМЕТЫ” идентификатором каждого объекта будет “НАЗВАНИЕ ПРЕДМЕТА”. Идентификатор должен быть уникальным.

Каждый объект обладает определенным набором свойств. Для объектов одного класса набор этих свойств одинаков, а их значения, естественно, могут различаться. Например, для объектов класса “СТУДЕНТ” таким набором свойств, описывающим объекты класса, может быть “ГОД РОЖДЕНИЯ”, “ПОЛ” и др.

При описании предметной области надо изобразить каждый из существующих классов объектов и набор свойств, фиксируемый для объектов данного класса.

Будем использовать для отображения объектов и их свойств следующие обозначения (рис. 2. 3).

Свойство

Рис. 2.3 Обозначение объектов и их свойств

Каждому классу объектов в инфологической модели присваивается уникальное имя.

При построении инфологической модели желательно дать словесную интерпретацию каждой сущности, особенно если возможно неоднозначное толкование понятия.



Рис. 2.4 Изображение связи «объект - свойство»

При описании предметной области надо отразить связи между объектом и характеризующими его свойствами. Это изображается просто в виде линии, соединяющей обозначение объекта и его свойств.

Связь между объектом и его свойством может быть различной. Объект может обладать только одним значением какого-то свойства. Например, каждый человек может иметь только одну дату рождения. Назовем такие свойства единичными. Для других свойств возможно существование одновременно нескольких значений у одного объекта. Пусть, например, при описании “СОТРУДНИКА” фиксируется в качестве его свойства “ИНОСТРАННЫЙ ЯЗЫК”, которым он владеет. Так как сотрудник может знать несколько иностранных языков, то такое свойство будем называть множественным. При изображении связи между объектом и его свойствами для единичных свойств будем использовать одинарную стрелку, а для множественных свойств - двойную.

Кроме того, некоторые свойства являются постоянными, их значение не может измениться с течением времени. Назовем такие свойства статическими, а те свойства, значение которых может изменяться со временем, будем называть динамическими.

Другой характеристикой связи между объектом и его свойством является признак того, присутствует ли это свойство у всех объектов данного класса либо отсутствует у некоторых объектов. Например, для отдельных служащих может иметь место свойство “УЧЕНАЯ СТЕПЕНЬ”, а другие объекты этого класса могут не обладать, указанным свойством. Назовем такие свойства условными.

При изображении связи условного свойства с объектом будем использовать пунктирную линию, а для обозначения динамических и статических свойств будем использовать буквы D и S над соответствующей линией.

Иногда в инфологической модели бывает полезно ввести понятие “составное свойство”. Примерами таких свойств могут быть “АДРЕС”, состоящий из “ГОРОДА”, “УЛИЦЫ”, “ДОМА” и “КВАРТИРЫ”, и “ДАТА РОЖДЕНИЯ”, состоящая из “ЧИСЛА”, “МЕСЯЦА” и “ГОДА”. Используем в ИЛМ для обозначения составного свойства квадрат, из которого исходят линии, соединяющие его с обозначениями составляющих его элементов (рис. 2. 4).

В инфологической модели отображаются не отдельные экземпляры объектов, а классы объектов. Когда в ИЛМ изображено обозначение объекта, то ясно, что речь идет о классе объектов, обладающих описанными свойствами. Поэтому в инфологическую модель в большинстве случаев можно в явном виде не вводить еще и обозначение для класса объектов. Явное изображение класса объектов необходимо только в том случае, если в ПО для данного класса объектов фиксируются не только характеристики, относящиеся к отдельным объектам этого класса, но и какие-то интегральные характеристики, относящиеся ко всему классу в целом. Например, если для класса объектов “СОТРУДНИКИ ПРЕДПРИЯТИЯ” фиксируется не только возраст каждого из сотрудников, но и средний возраст всех сотрудников, то в инфологической модели необходимо отразить не только объект “СОТРУДНИК”, но и класс объектов “СОТРУДНИКИ”. Для отображения класса объектов можно использовать какое-то специфическое обозначение или такое же, которое используется для объектов (рис. 2. 5).



Рис. 2.5 Изображение класса объектов и интегральных характеристик класса.

Кроме связи между объектом и его свойствами, в инфологической модели фиксируются связи между объектами разных классов. Различают связи типа «один к одному» (1: 1), «один ко многим» (1: М), «многие к многим» (М: М). Иногда эти типы связей называются степенью связи.

Кроме степени связи в инфологической модели для характеристики связи между разными сущностями надо указывать так называемый “класс принадлежности”, который показывает, может ли отсутствовать связь объекта данного класса с каким-либо объектом другого класса. Класс принадлежности сущности должен быть либо обязательным, либо необязательным.

Объясним сказанное на конкретных примерах. Как указывалось выше, инфологическая модель строится не для отдельного объекта, а отображает классы объектов и связи между ними. Соответствующая диаграмма, отображающая это, называется диаграммой ER-типа (такое название обусловлено тем, что по-английски слово “сущность” пишется “Entity ”, а связь-“Relationship ”). Однако иногда, кроме диаграмм ER-типа, используются диаграммы ER-экземпляров.

Предположим, что в инфологической модели отображается связь между двумя классами объектов: “СОТРУДНИК” и “ЯЗЫК ИНОСТРАННЫЙ”.

Предположим, что предметной областью является завод, некоторые сотрудники которого знают иностранный язык, но ни один из них не владеет более чем одним языком. Естественно, что имеется много языков, которыми не владеет ни один из сотрудников, а также что некоторые из сотрудников владеют одним и тем же иностранным языком (рис. 2. 6).

с1. .я1

с2. .я2

с3. .я3

с4. .я4

с5. .я5

с6. .я6

с7. .я7

Рис. 2.6 Диаграмма ER - экземпляров

В этом случае диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2. 6, а диаграмма ER-типов-как на рис. 2. 7.

Рис. 2. 7. Диаграмма E - R типов

Предположим далее, что предметной областью является институт, а объект “ЛИЧНОСТЬ” отображает абитуриентов, поступающих в этот институт. Каждый из абитуриентов обязательно должен владеть каким-либо иностранным языком, но никто ни владеет более чем одним языком (рис. 2. 8). В этом случае диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2. 8, а диаграмма ER-типов-как на рис. 2. 9.

Личность Язык

л1 я1

л2 я2

л3 я3

л4 я4

л5 я5

л6 я6

л7 я7


Как в первом, так и во втором рассмотренном случае между, сущностями наблюдается отношение М: 1. На диаграмме это отображено со стороны объекта “ЛИЧНОСТЬ” двойной стрелкой, а со стороны объекта “ЯЗЫК ИНОСТРАННЫЙ” - одинарной стрелкой на линии, изображающей связь между данными сущностями.

Разница в рассматриваемых ситуациях заключается в том, что в первом случае класс принадлежности является необязательным для обоих сущностей, а во втором-для сущности “ЛИЧНОСТЬ” класс принадлежности является обязательным. На диаграмме (рис. 2. 9) это отображено точкой в прямоугольнике, соответствующем объекту “ЛИЧНОСТЬ”.

Пусть предметная область будет та же, что и в предыдущем случае, но имеют место ситуации, что некоторые абитуриенты знают несколько иностранных языков. В этом случае связь между объектами будет иметь тип М: М.

Для такой предметной области диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2. 10, а диаграмма ER-типов-как на рис. 2. 11.

Личность Язык

л1 я1

л2 я2

л3 я3

л4 я4

л5 я5

л6 я6

л7 я7


Предположим, что предметной областью является некоторый лингвистический институт, в котором каждый и: сотрудников обязательно знает несколько иностранных языков, и по каждому из известных науке языков в этом институте имеется хотя бы один специалист, владеющий им.

В этом случае связь между объектами будет М: М, и класс принадлежности обоих сущностей является обязательным.

(Пример можно было бы привести, но суть ясна).

Выше мы рассматривали объекты, не вникая в их сложность. На самом деле различают несколько разновидностей объектов.

Прежде всего это простые и сложные объекты. Объект называется простым, если он рассматривается как неделимый. Сложный объект представляет собой объединение других объектов, простых или сложных, также отображаемых в информационной системе. Понятие “простой” и “сложный” объект является относительным. В одном рассмотрении объект может считаться простым, а в другом этот же объект может рассматриваться как сложный. Например, объект “стул” в подсистеме учета материальных ценностей будет рассматриваться как простой объект, а для предприятия, производящего стулья, это будет составной объект (включающий “ножки”, “спинку”, “сиденье” и пр.).

Выделяют несколько разновидностей сложных объектов: составные объекты, обобщенные объекты и агрегированные объекты.

Составной объект соответствует отображению отношения “целое-часть”. Примерами составных объектов являются УЗЛЫ- ДЕТАЛИ, КЛАСС-УЧЕНИКИ и т. п.

Для отображения составных объектов в инфологической модели обычно не используются какие-либо специальные условные обозначения. Связь между составным и составляющими его объектами отображается так же, как это было описано выше. Причем характер связи тоже может быть разный: так, “ДЕТАЛИ” и “УЗЛЫ” связаны между собой отношением типа М: М, а “ГРУППА” и “СТУДЕНТЫ”-отношением 1: М.

Обобщенный объект отражает наличие связи “род-вид” между объектами предметной области. Например, объекты СТУДЕНТ, ШКОЛЬНИК, АСПИРАНТ, УЧАЩИЙСЯ ТЕХНИКУМА образуют обобщенный объект УЧАЩИЕСЯ. Объекты, составляющие обобщенный объект, называются его категориями.

Как “родовой” объект, так и “видовые” объекты могут обладать определенным набором свойств. Причем наблюдается так называемое наследование свойств, т. е. “видовой” объект обладает всеми теми свойствами, которыми обладает “родовой” объект, плюс свойствами, присущими только объектам этого вида.

Определение родо - видовых связей означает классификацию объектов предметной области по тем или иным признакам. Подклассы могут выделяться в инфологической модели в явном и неявном виде. В первом случае при графическом изображении вводится специальное обозначение для подкласса. На рис. 2. 14 изображен фрагмент инфологической модели, отражающий обобщенный объект “ЛИЧНОСТЬ” для высшего учебного заведения. Для него выделено несколько категорий: ПРЕПОДАВАТЕЛЬ, СТУДЕНТ, АСПИРАНТ. Для обозначения подкласса в схеме использовался треугольник.

Естественно, что классификация может быть многоуровневой. Так, в рассматриваемом примере обобщенный объект “ЛИЧНОСТЬ” может быть разбит на два подкласса: СОТРУДНИК и УЧАЩИЙСЯ. СОТРУДНИКИ, в свою очередь, могут быть классифицированы на ПРОФЕССОРСКО-ПРЕПОДАВАТЕЛЬСКИИ СОСТАВ, АДМИНИСТРАЦИЯ и т. д.

Личность



Рис. 2.14 Изображение обобщенного объекта


Выделенные в предметной области классы объектов могут быть как пересекающимися, так и непересекающимися. Для отображения этих сведений в инфологической модели можно использовать граф пересечений, вершины которого соответствуют классам (подклассам) объектов, а ребра связывают пару вершин лишь в том случае, если соответствующие классы объектов являются пересекающимися. Для отображения степени пересечения можно воспользоваться взвешенным графом. При этом вес вершины будет обозначать мощность соответствующего множества объектов, а вес ребра - мощность множества, являющегося пересечением множеств, связанных этим ребром (рис. 2.15).

Рис. 2.15 Граф пересечений

Граф пересечений содержит дополнительную информацию о предметной области и не относится к классу ER-моделей.

Агрегированные объекты соответствуют обычно какому-либо процессу, в который оказываются “вовлеченными” другие объекты. Например, агрегированный объект “ПОСТАВКА” объединяет в себе объекты “ПОСТАВЩИК”, который поставляет продукцию, “ПОТРЕБИТЕЛЬ”, который получает эту продукцию, а также саму поставляемую “ПРОДУКЦИЮ”. Своеобразным объектом является “ДАТА ПОСТАВКИ”. Агрегированный объект может, так же как и простой объект, иметь характеризующие его свойства. В рассматриваемом примере таким свойством может быть размер поставки.

Агрегированные объекты обычно называются отглагольными существительными (например, поставлять-поставка, выпускать- выпуск, продавать-продажа и т. д.).



Рис. 2.16 Изображение агрегированного объекта

Для отображения агрегированного объекта в инфологической модели будем использовать следующие условные обозначения:

сам агрегированный объект будем изображать ромбом, рядом с которым указывается имя соответствующего объекта. Этот ромб необходимо связать с условными обозначениями тех объектов, которые образуют этот агрегированный объект. Свойства агрегированного объекта изображаются так же, как и для простого объекта. На рис. 2.16 изображен агрегированный объект “ПОСТАВКА ПРОДУКЦИИ”.

0

(Лекция 7)

Проектирование и создание БД Анализ предметной области. Выявление классов объектов и связей Предметная область определена, если известны существующие в ней объекты, их свойства и отношения между ними)

Объект в концептуальном подходе - это то, о чем в информационной системе должна накапливаться информация.

Одним из важных этапов анализа предметной области является выявление и описание классов объектов (сущностей) и связей между ними. Описание может быть получено в произвольном виде, но для удобства процесса проектирования его формализуют в виде таблиц.

Классы объектов

Как выявить в предметной области классы объектов?

Класс объектов (тип сущности, сущность) - это значимая вещь, о которой предприятие должно хранить информацию.

Признаки класса объектов, существующего в предметной области:

а) нечто важное, о чем предприятию необходимо хранить информацию;

в) именованное понятие;

г) существительное;

д) класс объектов есть, если есть реальный значимый объект;

Выявив класс объектов, необходимо дать ему имя. Оно должно быть уникальным.

В качестве имени выбираются термины, используемые на предприятии.

Имя изобретается, если все остальные возможности исчерпаны, так как придуманные имена могут привести к неправильному пониманию и дублированию.

Имя должно быть согласовано с заказчиком.

Имя может состоять из более чем одного слова (уточняющие имя слова -прилагательные и прочее). Часто одно и тоже называют одним именем, тогда необходимо выбрать одно главное имя, остальные описать как синонимы.

При выявлении класса объектов выявляется группа вещей, состоящих из отдельных элементов (объектов). Класс объектов - это класс или категория вещей. Например, класс объектов «ОТДЕЛ» состоит из конкретных объектов «Учебно- методический отдел», «Отдел главного механика».

Этапы выявления и моделирования класса объектов:

а) исследование каждого существительного, выявленного в ходе анализа предметной области на предприятии и выявление его значимости;

б) выявление, имеется ли информация об этом существительном, которую необходимо хранить для данного предприятия;

в) присвоение имени классу объектов в единственном числе;

г) проверка, можно ли отличить один объект класса объектов от другого;

д) описание класса объектов для проверки того, что все (разработчики, заказчики) вкладывают в этот термин одно и тоже значение;

Свойства классов объектов

Для каждого класса объектов определяют его свойства (атрибуты сущности). Свойство - это конкретный элемент информации.

Свойство описывает класс объектов. Это качественное или количественное описание класса объектов.

Свойство может выглядеть следующим образом:

Описательные слова, фразы;

Предложные конструкции (сумма зарплаты для каждого сотрудника);

Притяжательные существительные и местоимения (прочие, дата окончания, признак устаревания).

Каждое свойство наделяется именем. Имена должны быть понятными и однозначными.

Какую информацию о классе объектов надо хранить;

Какую информацию о классе объектов надо выводить на экран или печать;

Нужно ли на самом деле это свойство.

Заказчики часто забывают о своих конкретных потребностях - думают, что поле само появится на экране или отчете, и не видят необходимости упоминать об этом.

Изучая существующую на предприятии документацию, необходимо обращать внимание на устаревшие требования прежних систем, например, старая форма выходного документа - членство в партии, национальность.

Необходимо также отмечать производные и агрегированные данные, для каждого класса объектов фиксируются только исходные свойства.

Производные и агрегированные свойства описываются отдельно и формируются, как правило, программой на основе значений исходных свойств. Необходимость хранения таких свойств бывает достаточно редкой.

К имени свойства предъявляется ряд требований. Имена должны быть понятными и однозначными, например название свойства "количество" может привести к путанице - возвращенное, поставленное? Необходимо выбирать более конкретные имена: «размер поставки», «объем заказа» и т.п. Если имя состоит из более, чем одного слова, они разделяются пробелами.

Самый распространенный пример - свойство «дата». Если не указано конкретно, что это за дата, она может интерпретироваться как дата рождения, дата найма.

Если необходимо хранить и то и другое, добавляется конкретное свойство, например, кроме даты найма необходимо еще хранить дату избрания по конкурсу. Это может быть выявлено на более поздних этапах анализа предметной области.

Выявленное в ходе анализа предметной области свойство необходимо разбить на мельчайшие компоненты, имеющие смысл. Уровень деления зависит от потребностей предприятия.

Классические примеры: адрес, блочные размеры пиломатериалов (высота, длина, ширина), можно хранить и в виде одного свойства, но более полезно хранить в виде отдельных свойств.

Отличие класса объектов (сущности) от свойства (атрибута) приведено в таблице 4.

Таблица 4 - Отличия между классом объектов и свойством

Определив свойство, необходимо убедиться, что для каждого конкретного объекта свойство может иметь одно единственное значение.

Если обнаруживается более одного значения у какого-либо свойства, это свидетельствует о недостающем свойстве у класса объектов или кандидате в новый класс объектов.

Если обнаружится свойство, имеющее собственные свойства, то это не свойство, а класс объектов. Например, выявлен класс объектов «СПЕЦОДЕЖДА», имеющий свойства «номер», «название», «цвет». Если в ходе дальнейшего анализа и изучения соответствующего в предметной области документа, что цвет кроме названия должен иметь артикул, то «цвет» это уже не свойство, а класс объектов «ЦВЕТ» с соответствующими свойствами «название», «артикул».

Для каждого свойства необходимо определить его опциональность.

Опр.: Опциональность свойства - определение обязательности значения свойства объекта сохранении в базе данных информации о конкретном объекте.

Обязательное значение свойства должно существовать и быть известным для каждого объекта рассматриваемого класса объектов.

Необязательные значения свойства могут быть неизвестны (или не существуют) для какого-либо объекта на момент его создания.

Например, значение свойства «дата начала работы» известно всегда для работающего сотрудника, а значение свойства «дата окончания работы» может быть неизвестным в заданный момент времени, если у сотрудника контракт бессрочный.

Для каждого свойства также выявляются в предметной области и описываются:

Формат (тип, максимальное длина, средняя длина (обычный размер), место десятичной точки, единица измерения;

Допустимые значения (диапазон, список значений, несколько диапазонов, значения по умолчанию);

При выявлении характеристик свойств могут быть определены и домены.

Домен (с точки зрения предметной области) - это набор правил проверки с точки зрения бизнеса, ограничений, относящихся более чем к одному свойству.

Домен с точки зрения реляционной БД - допустимое множество значений, на котором м.б. определен (ы) один или более атрибутов одного или более реляционного отношения.

С помощью домена можно задать: диапазон значений; список конкретных значений; несколько диапазонов; математическое уравнение; значение по умолчанию и т.п. Эти правила описываются в БД один раз и применяются для разных свойств. Самый известный домен {да, нет}.

Существует следующая технология работы со свойствами, содержашая шаги:

Выявление кандидата в свойство;

Связывание свойства с классом объектов;

Присвоение имени свойству;

Определение формата свойства;

Определение опциональности свойства;

Определение логических ограничений свойства, накладываемых предметной областью (вхождение значения в диапазон и др.);

Проверка того, что это действительно свойство, а не класс объектов;

В случае необходимости создание домена.

Все экземпляры (объекты) выявленного класса объектов должны однозначно определяться, быть идентифицированными. Если объект не может быть однозначно идентифицирован в классе объектов, то это возможно это не класс объектов вообще.

Определение уникальных идентификаторов

Для каждого класса объектов должны быть обязательно выявлены уникальные идентификаторы.

Уникальный идентификатор - это свойство, совокупность свойств или комбинация свойств и связей, используемых для однозначной идентификации объекта в классе объектов.

Свойство, входящее в состав уникального идентификатора должно иметь обязательную опциональность.

Количество уникальных идентификаторов в классе объектов может быть каким угодно. И каким угодно может быть количество компонентов (свойств и связей), входящих в состав уникального идентификатора.

Уникальный идентификатор можно определять на любом этапе анализа предметной области, но чтобы приступить к описанию и проектированию класса объектов, необходимо, чтобы каждый класс объектов имел уникальные идентификаторы.

Замечание:

Выбирая способ идентификации объектов класса объектов, необходимо моделировать не технологические потребности разрабатываемой системы, а потребности бизнеса.

При использовании в качестве уникального идентификатора числового кода необходимо убедиться, что в предметной области имеется соответствующий документ, в котором такой код отображается.

Например, свойства «табельный номер сотрудника», «код подразделения» уже определены существующей на предприятии системой бухгалтерского учета, свойство «код должности» представлено в отраслевом классификаторе должностей и т.п.

Замечание:

На этапе проектирования БД (далее при построение ДЛМ БД - суррогатные ключи) уникальный идентификатор может быть сгенерирован технически, но во время анализа предметной области используются уникальные идентификаторы, используемые предприятием.

Если уникальных идентификаторов несколько, необходимо определить главный. Таким делается идентификатор, чаще используемый в бизнесе, например, «табельный номер». Либо любой уникальный идентификатор, имеющий наименьшую длину и числовой тип.

Самое большое количество уникальных идентификаторов имеет такой класс объектов, как «ФИЗИЧЕСКОЕ ЛИЦО/ ЧЕЛОВЕК». Каждый объект в таком классе объектов может быть однозначно идентифицирован такими свойствами: «номер», «серия паспорта», «ИНН», «номер водительского удостоверения», «номер жетона». Для класса объектов «ДОЛЖНОСТЬ» могут быть выявлены следующие уникальные идентификаторы: «код», «название», «краткое название».

Необходимо отметить, что чем больше классов объектов будет выявлено в ходе анализа предметной области, тем более нормализованной затем будет структура реляционной базы данных.

Почти любое существительное в предметной области имеет право быть определено как класс объектов, поскольку почти каждое существительное имеет,

как минимум, набор из трех свойств: название объекта, краткое название объекта, числовой эквивалент названия объекта (код, номер, шифр).

Увидеть классы объектов можно подробно изучив на предприятии информационные потоки, подлежащие автоматизации.

Информационные потоки представлены документами.

Любой документ является кандидатом в класс объектов. Документ имеет шапку, в которой, как правило, указано название документа и дата его формирования.

Документ имеет информативную часть, в которой находятся качественные и количественные показатели.

В нижней части документа находятся фамилии и должности лиц, подписывающих документ.

На документе могут также быть расположены название, адрес и другие реквизиты предприятия, выпускающего документ.

Таким образом, изучая документ, можно увидеть и выделить следующие классы объектов: «ПРЕДПРИЯТИЕ/ ЮРИДИЧЕСКОЕ ЛИЦО» или

«СТРУКТУРНАЯ ЕДИНИЦА ПРЕДПРИЯТИЯ»; «ТИП СТРУКТУРНОЙ ЕДИНИЦЫ»; «АДРЕС»; «НАСЕЛЕННЫЙ ПУНКТ»; «ТИП НАСЕЛЕННОГО ПУНКТА»; «УЛИЦА»; «ТИП УЛИЦЫ» (улица, проспект, переулок, проезд и т.п.); «ДОКУМЕНТ»; «ПОЗИЦИЯ ДОКУМЕНТА»; «ФИЗИЧЕСКОЕ ЛИЦО»; «ДОЛЖНОСТЬ»; «ЗАПИСЬ О РАБОТЕ ФИЗИЧЕСКОГО ЛИЦА» (дата начала, дата окончания); «ТОВАР/ УСЛУГА»; «Объект» (учета).

Что представляет из себя класс объектов «ПОЗИЦИЯ ДОКУМЕНТА»? Любой документ обычно имеет несколько позиций (позиции приказа, позиции прайс-листа, позиции счета-фактуры, записи учетной карточки и тому подобное). Таким образом, видна существующая в предметной области связь типа 1:М: «каждый ДОКУМЕНТ должен иметь одну или более ПОЗИЦИЙ»; с обратной стороны связь читается - «каждая ПОЗИЦИЯ ДОКУМЕНТА должна относиться к одному и тому же ДОКУМЕНТУ». Кроме того, каждая позиция документа имеет свои собственные свойства - номер, какие-то количественные показатели (количество учетных единиц, цена за единицу и другие).

Для каждой предметной области можно увидеть обязательный для всех предметных областей перечень классов объектов. Каждая предметная область, в широком смысле слова, отображает работу какого-либо предприятия или организации - производственного предприятия, учебного или лечебного учреждения, торговой организации, склада, пункта проката, домашней экономической сферы и так далее. Название (полное или краткое) предприятия или организации фигурирует в различных выходных документах и отчетах. Таким образом, в предметной области присутствует класс объектов ПРЕДПРИЯТИЕ или СТРУКТУРНАЯ ЕДИНИЦА ПРЕДПРИЯТИЯ. Кроме того, зачастую необходимо вести учет адреса и телефона этого предприятия. В предметной области обязательно

присутствуют физические лица, занимающие те или иные должности, своими подписями фиксирующие учет (приход или расход) какого-либо объекта. При чем, для решения задач анализа данных и принятия затем соответствующих управленческих решений, для предметной области представляет интерес хранения знаний об истории учета состояния того или иного объекта. И ещё одна категория обязательных для каждой предметной области классов объектов - это документы, на основании которых и происходят все процессы в заданной предметной области.

Свести все итоги анализа предметной области в ходе выявления классов объектов и их свойств можно в виде формализованного описания, таблицы. Пример такого описания приведен в таблице 5.

Таблица 5 - Формализованное описание предметной области. Классы объектов, свойства.

Свойство

Уникальный иденти- фикатор

Физические характерис- тики свойства (тип, длина)

Опциональ- ность свойства (Да/ Нет)

Логические ограничения свойства (диапазон значений, прописные, строчные буквы для символьных свойств и т.п.)

Процессы для значений свойств

таб.номер

> 0

> 0

Вв, Пр, Об

Перв. буква заглавн.

Вв, Пр, Об

дата рожд

ДД.ММ.ГГГГ

Вв, Пр, Об

ДОЛЖНОСТЬ

В таблице использованы сокращения: У - уникальный идентификатор, П -кандидат в первичный ключ (главный уникальный идентификатор), Г - генерация данных, Вв - ввод данных, Пр - просмотр данных, Об - обновление данных.

Связи между классами объектов

Поскольку всё в этом мире связано, то параллельным шагом в ходе анализа предметной области, вместе с выявлением классов объектов и их свойств, является шаг выявления связей, ассоциаций, возникающих между классами объектов. Связи представляют информационные потребности и правила бизнеса на предприятии, их определение можно выразить следующим:

Именованная, значимая ассоциация между двумя классами объектов.

Отношение, которое имеет одна вещь к другой.

Рассматривая связь необходимо думать о ней как о двусторонней, двунаправленной.

Каждая связь обладает определенными характеристиками.

Опциональность связи число. Это бизнес-правило, указывающее должна ли связь существовать для каждого объекта класса объектов (обязательная связь) или это не требуется (необязательная связь).

Например, на предприятии выявлено следующее правило: «каждой

конкретной категории должности может соответствовать должность». В некоторый момент времени на предприятии появляется документ о создании новой категории, но нет ещё ни одной должности, ссылающейся на эту категорию. Но с другой стороны есть и правило: «каждая должность на предприятии должна быть отнесена к одной и только одной должности». Таким образом, видно, что между двумя классами объектов («КАТЕГОРИЯ ДОЛЖНОСТИ» и «ДОЛЖНОСТЬ») выявлены две разные ассоциации.

Мощность (максимальное кардинальное число). Это бизнес правило, указывающее сколько таких связей существует - одна и только одна, или много. Если обнаружена связь, которая имеет мощность «ноль», эта связь необязательная.

Мы рассматриваем бинарные связи (могут быть разные)

Каждая сторона связи имеет имя. Это описание правил бизнеса.

Например: «соответствует», «относится к».

Имена часто составляют пары: «основан на» - «является основой для»; «приобретается у» - «поставляется»; «отвечает за» - «находится под ответственностью».

Имя имеет большое значение, оно показывает насколько хорошо понята взаимосвязь информации.

Увидев связь, необходимо убедиться в том, что она имеет смысл. Для этого её необходимо проговорить как обычное предложение в обе стороны (любая связь двусторонняя), используя правило произношения связи (таблица 6).

Таблица 6 - Правило чтения связи

Пример чтения связи: «каждое ФИЗИЧЕСКОЕ ЛИЦО может иметь ноль, одну или более ЗАПИСЕЙ ТРУДОВОЙ КНИГИ»; «Каждая ЗАПИСЬ ТРУДОВОЙ КНИГИ должна относиться к одному и только одному ФИЗИЧЕСКОМУ ЛИЦУ».

Рассмотрим более подробно существующие типы (мощности) связей.

1. Связь «один_ко_многим» (1:М). Это самый распространенный тип связи, имеющей мощность один и более в одном направлении и один и только один в

другом. Классы объектов, находящиеся в этой связи на стороне «один» называют главным или родительским. Класс объектов, находящийся на стороне «много» -подчиненным или потомком.

В большинстве случаев подчиненные классы объектов необязательны, а главные обязательны. То есть, объект главного класса объектов может существовать без подчиненного объекта, а подчиненный без главного нет.

С точки зрения базы данных это означает, что сначала в БД создается объект главного класса объектов, а потом объекты подчиненного. Если связь 1:М не обязательная с обеих сторон, объекты могут создаваться произвольно. Связи 1:М, обязательные с обеих сторон, очень редки и означают, что объекты двух классов объектов не могут существовать друг без друга.

Пример связи 1:М: «каждой СТРУКТУРНОЙ ЕДИНИЦЕ ПРЕДПРИЯТИЯ может соответствовать ноль, одна или более ЗАПИСЕЙ ТРУДОВОЙ КНИГИ». С обратной стороны: «Каждая ЗАПИСЬ ТРУДОВОЙ КНИГИ должна относиться к одной и только одной СТРУКТУРНОЙ ЕДИНИЦЕ ПРЕДПРИЯТИЯ».

2. Связь «многие_ко_многим» (М:М или M:N). Это тоже очень распространенный тип связи, особенно на начальных этапах анализа предметной области. Эта связь имеет мощность «один или более» в обоих направлениях. Пример такой связи: «в каждой СТРУКТУРНОЙ ЕДИНИЦЕ ПРЕДПРИЯТИЯ могут работать много ФИЗИЧЕСКИХ ЛИЦ». С обратной стороны: «каждое

ФИЗИЧЕСКОЕ ЛИЦО может работать во многих «СТРУКТУРНЫХ ЕДИНИЦАХ ПРЕДПРИЯТИЯ».

Большинство связей М:М необязательны в обоих направлениях, то есть объект одного класса объектов может существовать без привязки к объекту другого класса объектов, любой экземпляр может появиться первым. Связи М:М, обязательные с обеих сторон очень редки - объекты обоих классов объектов должны быть созданы одновременно.

Необходимо заметить, что в любой предметной области нет связей «многие_ко_многим», в каждый момент времени всё определяется однозначно. Появление такой связи в проектной документации показывает, что предметная область не дообследована. Связь М:М может быть «разорвана» каким-либо документом или позицией документа. Такой класс объектов, разрывающий связь М:М называют «сущностью пересечения». Необходимо только увидеть, найти этот класс объектов. Для выше приведенного примера связи М:М таким классом объектов является «ЗАПИСЬ ТРУДОВОЙ КНИГИ». Если мы его выявили, то связи в предметной области уже звучат так: «каждой СТРУКТУРНОЙ ЕДИНИЦЕ ПРЕДПРИЯТИЯ может соответствовать ноль, одна или более ЗАПИСЕЙ ТРУДОВОЙ КНИГИ». С обратной стороны: «каждая ЗАПИСЬ ТРУДОВОЙ КНИГИ должна относиться к одной и только одной СТРУКТУРНОЙ ЕДИНИЦЕ ПРЕДПРИЯТИЯ». И ещё одна связь: «каждому ФИЗИЧЕСКОМУ ЛИЦУ,

работающему на предприятии, может соответствовать ноль, одна или более ЗАПИСЕЙ ТРУДОВОЙ КНИГИ».

3. Связь «один_к_одному» (1:1). Редкая связь, обычно с точки зрения бизнеса это означает, что это не два класса объектов, а один. Эта связь может иметь мощность один и только один в обоих направлениях. Если обнаружится такая связь, следует ещё раз исследовать информационные потоки и может выясниться, что два выявленных класса объектов фактически составляют один.

Пример связи 1:1: «каждый ВЕЛОСИПЕД может использоваться только одним ЧЛЕНОМ КЛУБА». С обратной стороны: «каждый ЧЛЕН КЛУБА может ездить только на одном ВЕЛОСИПЕДЕ»

Связи 1:1, обязательные на обоих концах, когда оба объекта должны появляются одновременно, очень редки.

После выявления любой связи между классами объектов необходимо (для каждой её стороны):

Установить наличие;

Выбрать имя;

Определить мощность;

Определить опциональность;

Проверить путем чтения.

Необходимо заметить, что между двумя классами объектов может быть выявлено сколь угодно много связей. Например, между классами объектов «ФИЗИЧЕСКОЕ ЛИЦО» и «АДРЕС» может быть выявлено 2 связи: одна фиксирующая адрес прописки, другая - адрес проживания.

4. Рекурсивная связь. Связь между объектами одного класса объектов. Такая связь может обладать всеми свойствами, присущими любой другой связи.

Пример: Каждый УЗЕЛ может выступать в качестве родителя для одного или более УЗЛОВ. Каждый УЗЕЛ может подчиняться одному и только одному УЗЛУ.

Свести итоги выявления связей можно с помощью следующей таблицы:

Таблица - Формализованное описание предметной области. Связи между классами объектов


В таблице использованы следующие сокращения: КО - класс объектов; Д.б. -должна быть, М.б. - может быть.

Выявленные связи проверяются путем чтения. Необходимо помнить, что каждая связь двусторонняя!

Неформализованное описание предметной области

В процессе анализа также необходимо зафиксировать бизнес правила или семантические (смысловые) утверждения, ограничивающие предметную область в рамках решаемой задачи. Это не функции предприятия, как таковые, а непреложные факты, которым всегда должна подчиняться разрабатываемая автоматизированная информационная система.

Примеры семантических утверждений:

- «На работу принимаются служащие, достигшие 16-ти летнего возраста»;

- «Любой сотрудник не может отвечать одновременно более чем за десять сдаваемых в аренду или продаваемых объектов недвижимости»;

- «Любой сотрудник не имеет права продавать или сдавать в аренду свою собственную недвижимость»;

- «Специальные скидки не распространяются на автомобили возрастом менее одного года»;

- «Общая сумма скидок не может превышать 40% чистой суммы, указанной в счете-фактуре».

Выявленные семантические утверждения записываются на естественном языке и должны быть далее отражены в БД. Как правило, подобные правила реализуются с помощью таких объектов БД, как триггеры, процедуры, просмотры (представления).

Скачать лекцию: У вас нет доступа к скачиванию файлов с нашего сервера.