Диго С.М. Базы данных проектирование и использование (1084447), страница 12
Текст из файла (страница 12)
Вместо термина «объект» часто используется термин «сущность». В дальнейшем будем рассматривать эти термины как синонимы.
При отражении в информационной системе каждый объект (имеется в виду уже экземпляр объекта, а не весь класс) представляется своим именем, которое называет конкретный объект и отличает один объект от другого. Чтобы выполнять свою роль, имя должно быть уникальным, но иногда в реальной жизни это бывает не так (явление синонимии). Поэтому в концептуальной модели должны быть каким-то образом обозначены случаи, когда естественное имя объекта является неуникальным. Уникальное имя объекта будем называть идентификатором (ПО). Каждый объект должен иметь, по крайней мере один идентификатор.
Каждый объект обладает определенным набором свойств - характеристик, описывающих состояние каждой сущности. Набор (перечень) свойств для всех объектов данного класса будет одинаковым, но конкретные значения этих характеристик и особенно сочетание этих значений будут отличаться от объекта к объекту, что, собственно, и отличает один экземпляр объекта от другого.
Может случиться, что в данной предметной области свойства объекта не представляют для нас интереса. В связи с этим в ER-модели возможно наличие объектов, не имеющих свойств и представленных только своими идентификаторами.
2.2.2. Разновидности объектов
Различают несколько разновидностей объектов. Прежде всего это простые и сложные объекты. Объект называется простым, если он рассматривается в данном исследовании как неделимый.
Сложный объект представляет собой объединение других объектов, простых или сложных, также отображаемых в информационной системе. Понятия «простой» и «сложный» объект являются относительными. В одном случае объект может считаться простым, а в другом - этот же объект может рассматриваться как сложный. Так, например, объект АУДИТОРИЯ, если АИС строится только для управления учебным процессом, будет рассматриваться как простой. Если же АИС будет включать подсистемы для служб энергетика, материально-технического снабжения и др., то АУДИТОРИЯ будет рассматриваться как составной объект.
Выделяют несколько разновидностей сложных объектов: составные, обобщенные и агрегированные объекты.
Составной объект соответствует отображению отношения «целое-часть». Примерами составных объектов являются УЗЕЛ-ДЕТАЛИ, КЛАСС-УЧЕНИКИ и т.п.
Обобщенный объект отражает наличие связи «род-вид» между объектами предметной области. Например, объекты СТУДЕНТ, ШКОЛЬНИК, АСПИРАНТ, УЧАЩИЙСЯ_ТЕХНИКУМА образуют обобщенный объект УЧАЩИЙСЯ. Объекты, составляющие обобщенный объект, называются его категориями.
Как родовой объект, так и видовые объекты могут обладать определенным набором свойств. Причем наблюдается так называемое наследование свойств, т.е. видовой объект обладает всеми теми свойствами, которыми обладает родовой объект, плюс свойствами, присущими только объектам этого вида.
Определение родовидовых связей означает классификацию объектов предметной области по тем или иным признакам. Естественно, что классификация может быть многоуровневой.
Агрегированные объекты соответствуют обычно какому-либо процессу, в который оказываются вовлеченными другие объекты. Например, агрегированный объект ПОСТАВКА объединяет в себе объекты ПОСТАВЩИК, ПОТРЕБИТЕЛЬ, а также саму поставляемую ПРОДУКЦИЮ. Своеобразным объектом является ДАТА_ПОСТАВКИ. Агрегированный объект может, так же как и простой объект, иметь характеризующие его свойства. В рассматриваемом примере таким свойством может быть «Размер_поставки». Агрегированные объекты обычно выражаются отглагольными существительными.
2.2.3. Изображение простого объекта
Для графического обозначения простого объекта будем использовать прямоугольник, ограниченный сплошной линией. Название класса объекта пишется над ним. Внутри прямоугольника записывается название атрибута, именующего объект (рис. 2.3). Если у объекта имеется несколько имен, то для каждого из них выделяется отдельный сектор в этом прямоугольнике.
Рис. 2.3. Изображение объекта: а - с одним идентификатором;
б — с несколькими
Если какое-либо имя объекта не является уникальным, будем использовать букву «н» рядом с таким именем (рис. 2.4).
Рис. 2.4. Пример изображения объекта с несколькими
идентифицирующими атрибутами
Встречаются случаи, когда идентификация одних объектов зависит от идентификации других. Например, часто для участков цехов предприятия используется не сквозная нумерация, а в пределах каждого цеха, т.е. участок имеет составной идентификатор «Номер_це-ха*Номер_участка». Назовем подобные объекты (в нашем примере это объект УЧАСТОК) зависимыми по идентификации сущностями. Для отображения таких ситуаций (рис. 2.5, 2.6) будем перечеркивать линию, соединяющую соответствующие объекты, около конца, прилегающего к зависимому объекту (ЗО).
Рис. 2.5. Изображение зависимой по идентификации сущности
(условные обозначения)
Рис. 2.6. Пример изображения зависимой по идентификации сущности
Если не использовать специального обозначения для указания зависимости по идентификации, то (для нашего примера) для объекта УЧАСТОК следует указать составной идентификатор «Номер_цеха*Номер_участка», при этом его надо указать в одном секторе прямоугольника, а не выделять несколько секторов, как в случае наличия у объекта нескольких имен.
2.2.4. Описание свойств объекта. Разновидности свойств
Как указывалось выше, класс объектов представляет собой совокупность объектов, обладающих одинаковым набором свойств. При описании предметной области нужно изобразить набор свойств, фиксируемых для объектов каждого из представленных в модели классов. Для обозначения свойств будем использовать прямоугольник, изображенный пунктирной линией.
Связь между объектом и характеризующим его свойством изображается в виде линии, соединяющей их обозначения. Характер связи между объектом и его свойством может быть различный. Объект может обладать только одним значением какого-то свойства в каждый момент времени. Например, каждый человек может иметь только одну «Дату_рождения» или «Стаж_работы». Назовем такие свойства единичными. Для других свойств возможно существование одновременно нескольких значений у одного и того же объекта (например, свойство «Иностранный_язык» у объекта СОТРУДНИК, если СОТРУДНИК может владеть несколькими иностранными языками). Такое свойство будем называть множественным. При изображении связи между объектом и его свойствами для единичных свойств будем использовать одинарную стрелку, а для множественных свойств - двойную стрелку на конце линии, соединяющей объект с данным свойством (рис. 2.7, 2.8).
Рис. 2.7. Изображение объекта и его свойств (условные обозначения)
Значения некоторых свойств не может измениться с течением времени. Назовем такие свойства статическими, а те свойства, значения которых могут изменяться со временем, будем называть динамическими. Для обозначения динамических свойств будем использовать букву «Д», а статических - «С» над соответствующей линией. Так, упомянутое выше свойство «Дата_рождения» будет являться статическим, а «Стаж» - динамическим.
Рис. 2.8. Пример изображения единичных и множественных
динамических и статических свойств
Другой характеристикой связи между объектом и его свойством является признак того, присутствует ли это свойство у всех объектов данного класса либо оно может отсутствовать у некоторых объектов. Например, для отдельных служащих может иметь место свойство «Ученая_степень», а другие объекты этого класса могут не обладать указанным свойством. Назовем свойства, присутствующие не у всех объектов данного класса, условными. При изображении связи условного свойства с объектом будем использовать пунктирную линию, а если свойство определено для всех экземпляров объектов данного класса - сплошную (см. рис. 2.7, 2.9).
Рис. 2.9. Пример изображения условного свойства
Правильность отображения предметной области в ER-модель будет зависеть от того, какие ситуации возможны в данной предметной области, а какие - нет. Так, если в вузе сотрудник может занимать несколько должностей одновременно, например быть одновременно ректором и заведующим кафедрой, то фрагмент ER-модели будет выглядеть так, как изображено на рис. 2.10, а, а если внутривузовское совместительство не разрешено - то так, как изображено на рис. 2.10, б.
Рис. 2.10. Варианты изображения предметной области:
а - разрешено совместительство; б - не разрешено
Иногда в ER-модели бывает полезно ввести понятие составного свойства. Примером такого свойства могут быть «Адрес», состоящий из «Города», «Улицы», «Дома» и «Квартиры». Будем использовать для обозначения составного свойства пунктирный квадрат, из которого исходят линии, соединяющие его с обозначениями составляющих его элементов (см. рис. 2.7, 2.11).
При проектировании БД определяются тип и длина полей. Для того чтобы иметь возможность правильно выбрать эти характеристики, необходимо иметь соответствующую информацию о типе представления атрибута в «немашинной» системе и требования/пожелания пользователей об их отображении в автоматизированной системе, может быть, даже с предпочтениями. Например, предположим, что желательно было бы хранить в БД изображение. Если целевая СУБД не позволяет это сделать, то возможны следующие варианты:
-
поле, соответствующее данному атрибуту, не вводить;
-
связать БД с системой, которая может хранить рисунок;
-
заменить рисунок описанием.
Рис. 2.11. Пример изображения составного свойства
Например, в «Листке по учету кадров» хранится фотография. Если есть возможность ее сканирования и связи соответствующего файла с записями БД, то сделать это, если нет - то все, что соответствует фотографии, не хранить в ИС.
Для всех реквизитов символьного типа должна быть указана их максимальная длина (а лучше - не только максимальная, но и минимальная, и средневзвешенная).
Чтобы не загромождать ER-модель, подобные характеристики (табл. 2.1) рекомендуется отображать в репозитории (в каталоге реквизитов).
Понятия «объект» и «свойство» являются относительными. Что в каждой из моделей ПО следует считать самостоятельным объектом, а что - свойством другого объекта, будет зависеть от аспекта рассмотрения данной предметной области. Например, пусть строится АИС для управления конкретным учебным заведением. Для СОТРУДНИКОВ и УЧАЩИХСЯ указывается, какое учебное заведение они закончили. Больше никакой информации об учебных заведениях не хранится; никакой специальной обработки по этому признаку не проводится. В этом случае не стоит выделять отдельный объект «УЧЕБНОЕ_ЗАВЕДЕНИЕ», а следует считать его свойством соответствующего объекта. Если же в предметной области отражается дополнительная информация об учебных заведениях, например их адрес, тип и т.п., то УЧЕБНОЕ_ЗАВЕДЕНИЕ следует рассматривать как самостоятельный объект.
Таблица 2.1
Наименование характеристики | Что отражает? | Возможные значения | Пример* |
Назначение | Что определяет? | Идентификатор (обозначает, называет объект) Качественная характеристика Количественная характеристика Дата/время совершения события Изображение | ФИО Пол Вес Дата рождения Фотография |
Изменяемость значения свойства | Может ли меняться в течение жизненного цикла объекта? | Динамическое Статическое | Образование Дата рождения |
Обязательность | Может ли отсутствовать данное свойство у объекта? | Обязательное Необязательное | Дата рождения Ученая степень |
Элементарность | Возможность разбиения на составляющие элементы | Простое Составное | Пол Адрес |
Множественность | Возможность наличия нескольких значений для данного свойства у одного объекта | Единичное Множественное | Дата рождения Номера телефонов |
Продолжение таблицы 2.1
Форма отображения в знаковой системе | Символьная Числовая Дата Время Изображение Логическое | Адрес Вес Дата рождения Время прихода на работу Фотография сотрудника Военнообязанный (да/нет) | |
Способ получения | Датчики/счетчики Из внешней среды Производная информация | Кардиограмма Рекомендации с прежней работы Стаж работы | |
* Примеры приведены для класса объектов ЛИЧНОСТЬ. |
В экономических организационных системах большая часть информации отражается в символьном виде. При этом различают реквизиты-признаки, определяющие качественные характеристики объектов, и реквизиты-основания, отражающие количественные характеристики объектов. Некоторые характеристики могут быть получены различными способами, в том числе путем вычисления из других хранящихся в информационной системе показателей. Такие показатели называются производными. При проектировании БД необходима информация о возможных способах получения каждого реквизита для решения вопроса о том, какая информация должна в явном виде храниться в БД, а какая может быть получена путем преобразования имеющейся информации.
2.2.5. Алгоритмические зависимости
В инфологической модели должны быть отражены алгоритмические зависимости между показателями. Обычно для этих целей используются графы взаимосвязи показателей, отражающие, какие показатели служат исходными для вычисления других (рис. 2.12). Расчетные формулы и алгоритмы вычислений также в том или ином виде должны быть представлены в ИЛМ.