Типы сущностей. Три класса сущностей Кандидаты в ключи

Живя в трехмерном мире, мы редко замечаем работу существ из других пространств. А их наличие не отрицает даже религия. Вы знаете, что такое астральные сущности? Как и зачем они приходят к человеку? Почему вредны и как от них защититься? Скажете, что это выдумки? Таковая наивная уверенность быстро исчезнет, как только вы заинтересуете чем-то астральные сущности. Виды их настолько разнообразны, что разобраться с результатами деятельности таковых довольно непросто. Давайте разберемся с тем, что они собой представляют и почему люди их боятся.

Общее понятие

Есть несколько теорий, касающихся этих неведомых простому человеку объектов. Друнвало Мельхиседек писал, что они представляют собой жителей волею случая попавших в наш мир. Астральные сущности живут по своим правилам. Им неведомы человеческие законы. Однако сами люди интересны. Дело в том, что мы отличаемся от иных обитателей огромной Вселенной тем, что умеем генерировать энергетику. Наши гости ею питаются. Все очень просто. Сами они не способны добыть еду из пространства. Зато у любого человека это очень хорошо получается по определению. Он так устроен, что его тело и душа функционируют в двух потоках, на которых, как бусина на нитках, он «болтается» в пространстве. Человек непрерывно получает и перерабатывает энергетику Вселенной и Земли. Мы это ощущаем как чувства, мысли, эмоции. Астральные сущности присасываются к ауре и забирают часть этого невероятного богатства. Но чистая энергетика им не подходит. Эти существа питаются низкочастотной энергетикой. В нашем понимании - зло, ненависть, обида, сомнения и так далее.

Что делают сущности с человеком?

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

Тонкие тела человека и сущности

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

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

Астральные сущности: виды

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

Лярвы

Инкубы и суккубы

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

Элементёры

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

Астральные сущности: классификация по Л. Г. Пучко

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

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

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

Нужно заметить, что не со всеми сущностями можно справиться самостоятельно. Иной раз следует довериться специалисту. Так, астральная сущность человека (элементёр) не покинет ауры в результате молитв и диеты. Ее следует извлекать специальным ритуалом. Для борьбы с самыми распространенными сущностями проводят отчитку молитвами, иногда в церкви. Одержимых лечат в монастырях. Со слабыми сущностями можно справиться самостоятельно. Следует очистить мысли, избавиться от негативных эмоций. То есть заполнить светлой энергией все свое поле. Существуют специальные методики многомерной медицины, помогающие быстро справиться с проблемой. Они состоят в том, что больному предлагается читать вибрационные ряды.

Профилактика

Там, где внимание, там - сила! Стремитесь направлять ее на любовь. Имеется в виду не чувство, сближающее мужчину и женщину для продолжения рода. Любовь бывает божественной. Это состояние идеального счастья, когда всем довольны, ничего не злит и не раздражает. Душа каждого человека стремится к нему. Хотя на земле таковое невозможно. Только у ангела получается пребывать в состоянии, подобном идеалу. Но это не значит, что человек не имеет права стремиться к божественной любви. Даже намерение уже отгородит от вас большую часть сущностей. Они ничего не смогут получить, следовательно, потеряют интерес к вашей ауре. На самом деле мир очень гармоничен. Астральные сущности тянутся к тем, кто сам создает им удовлетворительные условия. Зачем так бездарно тратить энергию? Вы как считаете?

2.3. Классификация сущностей

Три класса сущностей

Настал момент разобраться в терминологии. К.Дейт [3 ] определяет три основные класса сущностей: стержневые , ассоциативные и характеристические , а также подкласс ассоциативных сущностей – обозначения .

Стержневая сущность (стержень)

Стержневая сущность (стержень ) – это независимая сущность (несколько подробнее она будет определена ниже).

В рассмотренных ранее примерах стержни – это "Студент", "Квартира", "Мужчины", "Врач", "Брак" (из примера 2.2 ) и другие, названия которых помещены в прямоугольники.

Ассоциативная сущность (ассоциация)

Ассоциативная сущность (ассоциация ) – это связь вида "многие-ко-многим" ("1-ко-многим" и т.д.) между двумя или более сущностями или экземплярами сущности (как в примере 2.4 ). Ассоциации рассматриваются как полноправные сущности:

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

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

Например, ассоциации "Брак" из примеров 2.1 и 2.4 содержат ключевые атрибуты "Код_М", "Код_Ж" и "Табельный номер мужа", "Табельный номер жены", а также уточняющие атрибуты "Номер свидетельства", "Дата регистрации", "Место_регистрации", "Номер записи в книгу ЗАГС" и т.д.

Характеристическая сущность (характеристика)

Характеристическая сущность (характеристика ) – это связь вида "многие-к-одной" или "одна-к-одной" между двумя сущностями (частный случай ассоциации). Единственная цель характеристики в рамках рассматриваемой предметной области состоит в описании или уточнении некоторой другой сущности. Необходимость в них возникает в связи с тем, что сущности реального мира имеют иногда многозначные свойства. Муж может иметь несколько жен (пример 2.3), книга – несколько характеристик переиздания (исправленное, дополненное, переработанное, ...) и т.д.

Существование характеристики полностью зависит от характеризуемой сущности: женщины лишаются статуса жен, если умирает их муж.

Для описания характеристики используется новое предложение ЯИМ, имеющее в общем случае вид:

ХАРАКТЕРИСТИКА (атрибут 1, атрибут 2, ...)

{СПИСОК ХАРАКТЕРИЗУЕМЫХ СУЩНОСТЕЙ}.

Расширим также язык ER-диаграмм, введя для изображения характеристики трапецию (рис. 2.2).

Рис. 2.2. Элементы расширенного языка ER-диаграмм

Обозначающая сущность или обозначение

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

Пример

Рассмотрим пример, связанный с зачислением сотрудников в различные отделы организации.

При отсутствии жестких правил (сотрудник может одновременно зачисляться в несколько отделов или не зачисляться ни в один отдел) необходимо создать описание с ассоциацией Зачисление:

Служащие (Табельный номер, Фамилия, ...)

Зачисление [Отделы M, Служащие N]

(Номер отдела, Табельный номер, Дата зачисления).

Однако, при условии, что каждый из сотрудников должен быть обязательно зачислен в один из отделов, можно создать описание с обозначением Служащие:

Отделы (Номер отдела, Название отдела, ...)

Служащие (Табельный номер, Фамилия, ... , Номер отдела,

Дата зачисления)[Отделы]

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

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

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

ОБОЗНАЧЕНИЕ (атрибут 1, атрибут 2, ...)[СПИСОК

ОБОЗНАЧАЕМЫХ СУЩНОСТЕЙ].

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

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

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

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

Рис. 2.3. Пример кулинарного рецепта

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

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

    Для каждого поставщика продуктов: наименование, адрес, название поставляемого продукта, дата поставки и цена на момент поставки.

    Ежедневное потребление блюд (расход): блюдо, количество порций, дата.

Анализ объектов позволяет выделить:

    стержни Блюда, Продукты и Города;

    ассоциации Состав (связывает Блюда с Продуктами) и

Поставки (связывает Поставщиков с Продуктами);

    обозначение Поставщики;

    характеристики Рецепты и Расход.

ER-диаграмма модели показана на рис. 2.4. а модель на языке ЯИМ имеет следующий вид:

Блюда (БЛ, Блюдо, Вид)

Продукты (ПР, Продукт, Калорийность)

Поставщики (ПОС, Город, Поставщик) [Город]

Состав [Блюда M, Продукты N] (БЛ, ПР, Вес (г))

Поставки [Поставщики M, Продукты N] (ПОС, ПР, Дата_П, Цена, Вес (кг))

Города (Город, Страна)

Рецепты (БЛ, Рецепт) {Блюда}

Расход (БЛ, Дата_Р, Порций) {Блюда}

В этих моделях Блюдо, Продукт и Поставщик – наименования, а БЛ, ПР и ПОС – цифровые коды блюд, продуктов и организаций, поставляющих эти продукты.

Рис. 2.4. Инфологическая модель базы данных "Питание"

[Назад ] [Содержание ] [Вперед ]

2.4. О первичных и внешних ключах

Напомним, что ключ или возможный ключ – это минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Минимальность означает, что исключение из набора любого атрибута не позволяет идентифицировать сущность по оставшимся. Каждая сущность обладает хотя бы одним возможным ключом. Один из них принимается за первичный ключ . При выборе первичного ключа следует отдавать предпочтение несоставным ключам или ключам, составленным из минимального числа атрибутов. Нецелесообразно также использовать ключи с длинными текстовыми значениями (предпочтительнее использовать целочисленные атрибуты). Так, для идентификации студента можно использовать либо уникальный номер зачетной книжки, либо набор из фамилии, имени, отчества, номера группы и может быть дополнительных атрибутов, так как не исключено появление в группе двух студентов (а чаще студенток) с одинаковыми фамилиями, именами и отчествами. Плохо также использовать в качестве ключа не номер блюда, а его название, например, " Закуска из плавленых сырков "Дружба" с ветчиной и соленым огурцом" или "Заяц в сметане с картофельными крокетами и салатом из красной капусты".

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

Теперь о внешних ключах :

    Если сущность С связывает сущности А и В, то она должна включать внешние ключи, соответствующие первичным ключам сущностей А и В.

    Если сущность В обозначает сущность А, то она должна включать внешний ключ, соответствующий первичному ключу сущности А.

В п. 2.3 рассматривался пример, где "Служащие" обозначали "Отделы" и включали внешний ключ "Номер отдела", соответствующий первичному ключу сущности "Отделы".

Связь между первичными и внешними ключами сущностей иллюстрируется рис. 2.5.

Рис. 2.5. Структуры: а - ассоциации; б - обозначения (характеристики)

Здесь для обозначения любой из ассоциируемых сущностей (стержней, характеристик, обозначений или даже ассоциаций) используется новый обобщающий термин "Цель" или "Целевая сущность".

Таким образом, при рассмотрении проблемы выбора способа представления ассоциаций и обозначений в базе данных основной вопрос, на который следует получить ответ: "Каковы внешние ключи?". И далее, для каждого внешнего ключа необходимо решить три вопроса:

1. Может ли данный внешний ключ принимать неопределенные значения (NULL-значения)? Иначе говоря, может ли существовать некоторый экземпляр сущности данного типа, для которого неизвестна целевая сущность, указываемая внешним ключом? В случае поставок это, вероятно, невозможно – поставка, осуществляемая неизвестным поставщиком, или поставка неизвестного продукта не имеют смысла. Но в случае с сотрудниками такая ситуация однако могла бы иметь смысл – вполне возможно, что какой-либо сотрудник в данный момент не зачислен вообще ни в какой отдел. Заметим, что ответ на данный вопрос не зависит от прихоти проектировщика базы данных, а определяется фактическим образом действий, принятым в той части реального мира, которая должна быть представлена в рассматриваемой базе данных. Подобные замечания имеют отношение и к вопросам, обсуждаемым ниже.

2. Что должно случиться при попытке УДАЛЕНИЯ целевой сущности, на которую ссылается внешний ключ? Например, при удалении поставщика, который осуществил по крайней мере одну поставку. Существует три возможности:

3. Что должно происходить при попытке ОБНОВЛЕНИЯ первичного ключа целевой сущности, на которую ссылается некоторый внешний ключ? Например, может быть предпринята попытка обновить номер такого поставщика, для которого имеется по крайней мере одна соответствующая поставка. Этот случай для определенности снова рассмотрим подробнее. Имеются те же три возможности, как и при удалении:

КАСКАДИРУЕТСЯ

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

ОГРАНИЧИВАЕТСЯ

Обновляются первичные ключи лишь тех поставщиков, которые еще не осуществляли поставок. Иначе операция обновления отвергается.

УСТАНАВЛИВАЕТСЯ

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

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

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

NULL-значения не допустимы

УДАЛЕНИЕ ИЗ (цель) КАСКАДИРУЕТСЯ

ОБНОВЛЕНИЕ (первичный ключ цели) КАСКАДИРУЕТСЯ

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

[Назад ] [Содержание ] [Вперед ]

2.5. Ограничения целостности

Понятие целостности данных

Целостность (от англ. integrity – нетронутость, неприкосновенность, сохранность, целостность) – понимается как правильность данных в любой момент времени. Но эта цель может быть достигнута лишь в определенных пределах: СУБД не может контролировать правильность каждого отдельного значения, вводимого в базу данных (хотя каждое значение можно проверить на правдоподобность). Например, нельзя обнаружить, что вводимое значение 5 (представляющее номер дня недели) в действительности должно быть равно 3. С другой стороны, значение 9 явно будет ошибочным и СУБД должна его отвергнуть. Однако для этого ей следует сообщить, что номера дней недели должны принадлежать набору (1,2,3,4,5,6,7).

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

Виды целостности

Выделяют три группы правил целостности:

    Целостность по сущностям.

    Целостность, определяемая пользователем.

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

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

    Значение внешнего ключа должно либо:

    быть равным значению первичного ключа цели;

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

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

    уникальность тех или иных атрибутов,

    диапазон значений (экзаменационная оценка от 2 до 5),

    принадлежность набору значений (пол "М" или "Ж").

[Назад ] [Содержание ] [Вперед ]

2.6. О построении инфологической модели

Введение

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

Требования к БД со стороны администратора и прикладного программиста

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

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

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

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

    плохой проект базы данных не может быть исправлен с помощью любых (даже самых изощренных) приложений.

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

Сущность – это субъект, место, вещь, событие или понятие, содержащие информацию. Сущности могут быть вещественными, реальными объектами, такими как КЛИЕНТ или ШКАФ, или неосязаемыми концептуальными абстракциями как ЦЕНТР ЗАТРАТ или МЫСЛЬ. Сущности не предназначены для представления единичного объекта, они представляют набор экземпляров, содержащих информацию, представляющую интерес с точки зрения их уникальности. Например, сущность КЛИЕНТ представляет собой экземпляр объектов типа Клиент. Иван Иванов и Савелий Краморов – конкретные примеры экземпляров сущности КЛИЕНТ. Конкретный экземпляр сущности представляется строкой таблицы и идентифицируется первичным ключом.

Сущность имеет следующие признаки:

· Она имеет имя и описание.

· Она представляет класс, а не единичный экземпляр абстракции.

· Ее конкретные представители (экземпляры) могут быть уникально идентифицированы.

· Она содержит логическую группировку атрибутов, представляющих информацию, интересную с точки зрения корпорации

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

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

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

И зависимые, и независимые сущности можно разделить на следующие типы:

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

· Ассоциативные сущности – эти сущности используются для разрешения отношений многие-ко-многим.

· Характеристические сущности – эти сущности бывают двух типов: исключающие и включающие.

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

Стержневые сущности могут быть как независимыми, так и зависимыми. Например, для корпорации, торгующей телевизорами, сущность ТЕЛЕВИЗОР представляет базовый продукт корпорации. Сущность МАГАЗИН является примером канала сбыта или посредника при продаже товара. Хотя пример может показаться несколько прямолинейным, он иллюстрирует всю мощь концепции, лежащей в основе моделирования стержневых сущностей.

Понимание необходимости моделировать стержневые сущности в виде масштабируемых и расширяемых контейнеров требует от разработчика модели взгляда на сущности как на абстрактные концепции и моделирования информации независимо от текущего способа ее использования. В этом примере модель сущности ТЕЛЕВИЗОР полностью вне контекста сущности МАГАЗИН и наоборот. Так что если в корпорации решат продавать ТЕЛЕВИЗОР через новый канал сбыта, такой как Интернет или доставка на дом, новый канал сбыта может быть добавлен без изменений в других сущностях.

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

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

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

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

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

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

Характеристические сущности всегда являются зависимыми. Вы должны использовать характеристические сущности там, где для экземпляров сущностей имеет смысл хранить различные наборы атрибутов. Финклештейн называет характеристические сущности вторичными сущностями. Характеристические сущности всегда имеют одну или более «равноправных» сущностей. Равноправные характеристические сущности связаны с родительской сущностью особым типом отношений, которые могут быть исключающими или включающими.

Равноправные характеристические сущности, которые находятся в исключающем отношении к родительской сущности, указывают на то, что только одна из равноправных сущностей содержит экземпляр для любого из экземпляров родительской сущности. Исключающая характеристическая сущность представляет отношение "является" (is a).

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

Обратите внимание, что экземпляр СОТРУДНИК должен быть АДМИНИСТРАТОРОМ или АГЕНТОМ. СОТРУДНИК не может быть одновременно и АДМИНИСТРАТОРОМ и АГЕНТОМ. Это исключающие характеристические сущности.

Заметьте, что исключающие характеристические сущности не позволят одному экземпляру СОТРУДНИК содержать факты, общие для АДМИНИСТРАТОРА и АГЕНТА. Это может противоречить реальной практике. АДМИНИСТРАТОР тоже может выступать в качестве АГЕНТА. Это пример включающих характеристических сущностей.

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

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

Иерархии категорий делятся на два типа: полные и неполные. В полной категории одному экземпляру родового предка (сущность Сотрудник, рис. П1) обязательно соответствует экземпляр в каком-либо потомке, т е. в примере служащий обязательно является либо Администратором, либо Агентом.

Рис. П2. Иерархия наследования: неполная категория

· щелкнуть сначала по родовому предку, а затем по потомку;

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

Для редактирования категорий нужно щелкнуть правой кнопкой мыши по символу категории и выбрать в контекстном меню пункт Subtype Relationship Editor. В диалоге Subtype Relationship можно указать атрибут-дискриминатор категории (список Discriminator Attribute Choice) и тип категории – полная/неполная (радио-кнопки Complete/Incomplete).

Структурная сущность. Иногда экземпляры одной и той же сущности связаны. В К. Финклештейн своей книге «Strategic Systems Development» предложил использовать структурные сущности для представления отношений между экземплярами одной и той же сущности. Связи между экземплярами одной и той же сущности называются рекурсивными отношениями. Рекурсивные отношения будут рассмотрены в статье «Понятие отношения». Рекурсивные отношения – это логическая концепция, а концепции не легко воспринимаются пользователями.

На рис. П3 показана дополнительная структурная сущность, описывающая отношение между экземплярами сущности СОТРУДНИК.

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

Рис. П3. Структурная сущность.


Похожая информация.


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

ОСНОВНЫЕ ПОНЯТИЯ

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

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

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

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

    Тип сущности это набор однородных личностей, предметов, событий или идей, выступающих как целое. Например, типом сущности может быть ГОРОРД,АВТОМОБИЛЬ.

    Экземпляр сущности – это конкретная вещь в наборе. Например, экземпляром сущности будут – Москва, Киев, «Жигули», «Москвич» и т.д.

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

    Например, ЦВЕТ может быть определен для многих сущностей: СОБАКА, АВТОМОБИЛЬ, ДЫМ и т.д.

    Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Примерами атрибутов для сущности АВТОМОБИЛЬ являются Тип, Марка, Номерной Знак, Цвет и т.д.

    Здесь также существует различие между типом и экземпляром. Тип атрибута Цвет имеет много экземпляров или значений: Красный, Синий, и т.д., однако каждому экземпляру сущности присваивается только одно значение атрибута.

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

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

Связь – ассоциирование двух или более сущностей.

Существует три основных класса сущностей: стержневые, ассоциативные и характеристические, а так же подкласс сущностей – обозначения.

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

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

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

Например, книга может иметь несколько характеристик переиздания (дополненное, переработанное и т.д.), муж может иметь несколько жен и т.д.

Существование характеристики полностью зависит от характеризуемой сущности: женщины лишаются статуса жен, если умирает муж.

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

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

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

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

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

В языке инфологического моделирования (ЯИМ), сущности и ассоциации представляются предложениями вида:

СУЩНОСТЬ (атрибут 1, атрибут 2, …, атрибут n);

АССОЦИАЦИЯ [СУЩНОСТЬ S1, СУЩНОСТЬ S2, …]

(атрибут 1, атрибут 2, …, атрибут n);

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

ХАРАКТЕРИСТИКА (атрибут 1, атрибут 2, …)

{СПИСОК ХАРАКТЕРИЗУЕМЫХ СУЩНОСТЕЙ}. ОБОЗНАЧЕНИЕ (атрибут 1, атрибут 2, …)

[СПИСОК ОБОЗНАЧАЕМЫХ СУЩНОСТЕЙ].

Таблица 1. Элементы языков инфологической модели

Классы сущностей

Стержневая

(стержень)

Ассоциативная

(ассоциация)

Характеризующая

(характеристика)

Обозначающая

(обозначение)

ER - диаграмма

(…, … )

[…, …, …, … ]

{..., …, … }

[…, …, … ]

Виды связей. Между двумя сущностями возможны следующие виды связей:

Первый тип – связь ОДИН – К – ОДНОМУ (1:1); в каждый момент времени каждому экземпляру сущности А соответствует 1 или 0 представителей сущностей В.

Второй тип – связь ОДИН – КО – МНОГИМ (1:М); одному представителю сущности А соответствуют 0,1 или несколько представителей сущности В.

Так как между двумя сущностями возможны связи в обоих направлениях, то существует еще два типа связи МНОГИЕ – К – ОДНОМУ (М:1) и МНОГИЕ – КО – МНОГИМ (М:N). Кроме того, существуют и более сложные связи (ПРИЛОЖЕНИЕ 1):

    Множество связей между одним и теми же сущностями;

    Тренарные связи;

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

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

Если сущность С связывает сущности А и В, то она должна включать внешние ключи, соответствующие первичным ключам сущностей А и В.

Если сущность В обозначает сущность А, то она должна включать внешний ключ, соответствующий первичному ключу сущности А.

Связь между первичными и внешними ключами сущностей приведена на рис.1.



Рис. 1. Структуры: а – ассоциации; в – обозначения; (характеристики)

1. Определить сущности.

2. Выявить связи между сущностями.

3. Изобразить инфологическую модель предметной области в виде ER – диаграммы и средствами ЯИМ.

Примечание: Варианты заданий выдаются преподавателям.

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

    Дать определение инфологической модели данных; сущности; типа сущности; экземпляра сущности; атрибута; связи.

    назовите основные конструктивные элементы инфологических моделей.

    Назовите классы и подклассы сущностей.

    Охарактеризуйте стержневую; ассоциативную; характеристическую; обозначающую сущности.

    назовите одно из основных требований к организации базы данных.

    Какие языки можно использовать при построений инфологических моделей?

    Для каких моделей используется язык ER – диаграмм?

    Какими фигурами изображаются основные конструктивные элементы ER – диаграмм?

    В каком виде представляются основные конструктивные элементы я ЯИМ? Приведите пример.

    Какие типы связей возможны между сущностями?

    В чем заключается отличие между первичными и внешними ключами?

    Какова связь между первичными и внешними ключами сущностей?

Приложение 1

Таблица П1. Примеры описания связей инфологической модели различными языками

ER -диаграмм

Брак (номер свидетельства, Фамилия мужа, Имя мужа, Дата рождения мужа, Место регистрации и т.д.)

Брак (номер свидетельства, Код М, Фамилия жены, Дата регистрации) (Жены)

Брак (номер свидетельства, Код М, ФИО жены, Дата регистрации) (Мужья)

Брак (номер свидетельства, Код М, код Ж, ФИО жены,)

(Мужья, Жены)

Мужья (код М, ФИО, Дата рождения, Место рождения)

Жены (код Ж, ФИО, Дата рождения, Место рождения)

Приложение 2. пример построения инфологической модели БД «Питание»

В БД «Питание» должна храниться информация о блюдах (рис. П 2.2), их ежедневном потреблении, продуктах, из которых приготавливаются эти блюда, и поставщиках этих продуктов. Информация будет использоваться поваром и руководителем небольшого предприятия общественного питания, а также его посетителями.

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

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

2. Для каждого поставщика продуктов: наименование, адрес, название поставляемого продукта, дата поставки и цена на момент поставки.

3. Ежедневное потребление блюд (расход): блюдо, количество порций, дата

Анализ объектов позволяет выделить:

    Стержни Блюда, Продукты, Города;

    Ассоциации Состав (связывает блюда с Продуктами) и

Поставки (связывает Поставщиков с Продуктами);

    Обозначение Поставщики;

    Характеристики Рецепты и Расход.

ER – диаграмма показана на рисунке

М

продукты

N

М 1

Модель БД НА языке ЯИМ имеет следующий вид: Блюда (БЛ, Блюдо, Вид), Продукты (ПР, Продукт, Калорийность), Поставщики (ПОС, Город, Поставщик),Состав [Блюда М, Продукты N] (БЛ,ПР, Вес(г)) Поставки [Поставщики М, Продукты N] (ПОС, ПР, Дата П, Цена, Вес(кг))

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

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

Пример 4: предметная область - учебный процесс. Каждый студент характеризуется успеваемостью – множеством оценок, полученных в сессию. Сущность ОЦЕНКА является зависимой, поскольку для своей идентификации она требует ссылки на студента, которому она поставлена. Поэтому в состав ее первичного ключа должен входить первичный ключ сущности СТУДЕНТ.

Независимые сущности могут иметь внешние ключи, то есть ссылаться на другие сущности. Если независимая сущность не имеет внешних ключей (то есть никак не связана с другими сущностями), то она называется стержневой сущностью или стержнем. На ЯИМ стержневая сущность записывается следующим образом:

НАЗВАНИЕ СУЩНОСТИ (атрибут1, атрибут2, ….),

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

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

ОБОЗНАЧЕНИЕ (атрибут1, атрибут2,..)[СПИСОК ОБОЗНАЧАЕМЫХ СУЩНОСТЕЙ],

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

Пример 5 : предметная область – распределение сотрудников по отделам.

ОТДЕЛ (Номер отдела , Название отдела, …)

СОТРУДНИК (Табельный номер , Фамилия, …, Номер отдела) [ОТДЕЛ].

Здесь сущность СОТРУДНИК является обозначением сущности ОТДЕЛ благодаря наличию внешнего ключа Номер отдела; при этом сущность СОТРУДНИК сохраняет независимое существование: если этот атрибут не заполнен, то это означает, что сотрудник не зачислен ни в какой отдел.

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

ХАРАКТЕРИСТИКА (атрибут1, атрибут2,..) {СПИСОК ХАРАКТЕРИЗУЕМЫХ СУЩНОСТЕЙ},

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

Пример 6 : предметная область – успеваемость студентов.

СТУДЕНТ (Фамилия, Номер зачетки, …)

УСПЕВАЕМОСТЬ (Номер зачетки , Дисциплина , Оценка) {СТУДЕНТ}

Здесь первичный ключ Номер зачетки характеризуемой сущности СТУДЕНТ входит в состав первичного ключа характеристики УСПЕВАЕМОСТЬ. Незаполненное значение этого атрибута недопустимо, так как в таком случае становится неопределенным, успеваемость какого студента характеризует данная строка, то есть понятие успеваемости теряет смысл.

На ER-диаграммах характеристические сущности изображаются трапециями.

Ассоциативная сущность или ассоциация – это связь вида «многие-ко-многим» между двумя и более сущностями. Часто вводятся в модель для разбиения связи «многие-ко-многим» на две связи «один-ко-многим». При этом рассматриваются как полноправные сущности. Это означает, что ассоциации могут участвовать в других ассоциациях и обозначениях как стержневые сущности, они могут иметь атрибуты и т.д. Характеристическая сущность может рассматриваться как частный случай ассоциации. Описываются ассоциации следующим образом:

АССОЦИАЦИЯ [СУЩНОСТЬ S1, СУЩНОСТЬ S2, …] (атрибут1, атрибут2,…),

где S1, S2 и т.д. – степень связи с указанной сущностью. На ER-диаграммах ассоциации изображаются с помощью шестиугольников.

Пример 7: формальное описание ИЛМ: предметная область – учебный процесс в вузе (вариант). Модель должна отражать факт существования студентов, учебных групп, преподавателей и занятий по расписанию. Модель также должна отражать успеваемость студентов по результатам предыдущей сессии.

Выделим в предметной области стержневые сущности. Это ГРУППА и ПРЕПОДАВАТЕЛЬ:

ГРУППА (Шифр группы , Кафедра, Состав, Староста)

ПРЕПОДАВАТЕЛЬ (Фамилия

Сущность СТУДЕНТ ссылается на сущность ГРУППА, поэтому является ее обозначением:

СТУДЕНТ (Фамилия, Номер зачетки , Шифр группы) [ГРУППА]

Успеваемость студента является его характеристикой:

УСПЕВАЕМОСТЬ (Номер зачетки , Дисциплина , Оценка) {СТУДЕНТ}

Наконец, сущность ЗАНЯТИЕ является ассоциацией сущностей ГРУППА и ПРЕПОДАВАТЕЛЬ; кроме этого она имеет собственные атрибуты – дисциплину, время и место проведения:

Шифр группы , Фамилия преподавателя , Дисциплина,

ER-диаграмма предметной области имеет вид (рис.1):

Теперь введем в модель новую сущность – ДИСЦИПЛИНА. Для простоты будем считать, что она имеет единственную характеристику – Наименование и предназначена для кодирования длинных текстовых наименований дисциплин. Во всех прочих сущностях заменим наименование кодом дисциплины и установим связи с новой сущностью. Это небольшое изменение изменит статус сущности УСПЕВАЕМОСТЬ – она превратится в ассоциацию; сущность ЗАНЯТИЕ из ассоциации двух сущностей станет ассоциацией трех сущностей:

ГРУППА (Шифр группы , Кафедра, Состав, Староста)

ПРЕПОДАВАТЕЛЬ (Фамилия , Кафедра, Должность, Ученая степень)

СТУДЕНТ (Фамилия, Номер зачетки , Шифр группы) [ГРУППА]

УСПЕВАЕМОСТЬ [СТУДЕНТ М, ДИСЦИПЛИНА N] (Номер зачетки , Код дисциплины , Оценка)

ЗАНЯТИЕ [ГРУППА М, ПРЕПОДАВАТЕЛЬ N ] (Шифр группы , Фамилия преподавателя , Код дисциплины, Неделя, День, Пара, Аудитория).

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