Структурно-методологические основы информационно-поисковых систем. Три класса сущностей Кандидаты в ключи

Как сообщает журнал «SA Scientific Journal», группа ученых из Университета Кейптауна сделала сенсационное открытие. Были получены подтверждения того, что нашим сознанием управляют астральные сущности! Значение этого открытия настолько велико, что все исследования связанные с изучением этого воздействия были, не только засекречены, но и были предприняты попытки, изъять все раннее появившиеся публикации с информацией об этих исследованиях!

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

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

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

Разработанные учеными методы исследований и изобретенный ими прибор (Патент США, № US 5,253,984 B1), позволили не только регистрировать динамику ауры биологических объектов, но и, на основании проведенных экспериментов, сделать открытие, которое вряд ли останется незамеченным широкой мировой общественностью.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

«Черные» сущности, например, проявляют постоянную активность в «попытках проникновения» в ауру человека.

«Чистые» же сущности, как правило, такой активности не проявляют.

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

На основании проведенных экспериментов стало совершенно очевидным, что многие люди находятся под постоянным непосредственным воздействием этих сущностей!

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

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

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

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

В частности, такие исследования были проведены на саммите, проходившем в 2002 году в Йоханнесбурге, по вопросам устойчивого развития.

По результатам исследований был сделан вывод:

Практически все политики и бизнесмены, собравшиеся на саммите в Йоханнесбурге, «ИНФИЦИРОВАНЫ»!

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

Может быть, информация о предстоящих исследованиях просочилась и стала известна некоторым высокопоставленным лицам, и, поэтому, они, сославшись на политические причины, предпочли не показываться на этом саммите?!

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

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

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

По материалам «SA Scientific Journal».

Зайцев С.Л., к.ф.-м.н.

Часть 1. Понятие сущности

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

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

  • Диаграммы Сущность/Отношение (Entity Relational)
  • Выделение сущностей
  • Определение типов сущностей
  • Именование и описание сущностей
  • Распространенные ошибки при работе с сущностями

Так как в ERwin для моделирования данных используется методология ER (Entity Relational) , давайте начнем с краткого введения в концепции ER. Для начала приступим к изучению сущностей - "контейнеров" для хранения информации логической модели.

Введение в реляционную диаграмму сущности

В этой и других публикациях на эту тему для визуального представления сущностей и отношений между ними используются ERD-диаграмма (Entity Relational Diagram - реляционная диаграммя сущности), основанная на нотации, используемой ERwin . Хотя существуют и другие методологии моделирования данных, такие как расширенный реляционный анализ (Extended Relational Analysis - ERA), объектно-ориентированный подход (Object Oriented - OO) и объектно-ролевое моделирование (Object Role Modeling - ORM), фундаментальные концепции ER методологии присутствуют и в них.

Методология ER-моделирования разработана П. Ченом в конце 1970-х годов. Для представления сущностей в методологии ER используются прямоугольники. В исходной ER-нотации Чена отношения содержат атрибуты. Равная возможность использования атрибутов в сущностях и отношениях делает различие между сущностями и отношениями достаточно сложным.

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

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

Что такое сущность?

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

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

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

Формальные определения сущности

Ниже приведен список определений сущности признанных авторитетов в области моделирования данных. Обратите внимание на их сходство:

  • Чен (1976): "Вещь, которая может быть однозначно идентифицирована".
  • Дейт (1986): "Любой различимый объект, который будет представлен в базе данных".
  • Финклештейн (1989): "Информационная сущность представляет некую "вещь", которая сохраняется для дальнейших ссылок. Термин сущность относится к логическому представлению данных".

Выделение сущностей

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

Другим хорошим источником является корпоративная модель.

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

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

Рис. 2.1. Примеры стержневых сущностей для корпорации, торгующей мороженым.

Обратите внимание на рис. 2.1., где изображены прямые углы независимых сущностей МАГАЗИН и МОРОЖЕННОЕ и скругленные углы зависимой сущности МАГАЗИН МОРОЖЕННОГО.

Определение типов сущностей

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

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

Стержневые сущности

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

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

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

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

Кодовые сущности

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

На рисунке 2.2 ВЕРХУШКА - независимая сущность (обратите внимание на прямые углы). ВЕРХУШКА является к тому же кодовой сущностью или классификатором. Экземпляры (строки) сущности ВЕРХУШКА определяют список доступных верхушек.

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

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

Рис. 2.2. Кодовые сущности позволяют корпорации определять набор значений для централизованного использования в рамках корпорации. Экземпляры кодовой сущности определяют область определения значений для использования в других частях модели.

Ассоциативные сущности

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

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

Характеристические сущности

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

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

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

Рис. 2.3. Два примера характеристических сущностей ПЕРСОНА и КОНТЕЙНЕР. Оба примера используют нотацию ERwin IE для представления исключающих и включающих характеристических сущностей. Отсутствие (X) в символе характеристической сущности указывает на включающее отношение.

Структурная сущность

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

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

Рис. 2.4. Структурная сущность - иллюстрация подхода К. Финклештейна к разрешению рекурсивных отношений.

Определение первичного ключа

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

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

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

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

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

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

Именование сущностей

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

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

Соглашения об именовании сущностей

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

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

  • Имя сущности должно быть достаточно описательным. Используйте имена из одного слова, только когда они являются названием широко распространенных концепций. Подумайте об использовании словосочетаний на основе существительных.
  • Имя сущности должно быть существительным или словосочетанием на основе существительного в единственном числе. Используйте ПЕРСОНА вместо ПЕРСОНЫ или ЛЮДИ, и КОНТЕЙНЕР - вместо КОНТЕЙНЕРЫ.
  • Имя сущности должно быть уникальным. Использование одинаковых имен для сущностей, содержащих различные данные, или разных имен для сущностей, содержащих одинаковые данные, будет без необходимости вводить в заблуждение разработчиков и конечных пользователей.
  • Имя сущности должно указывать на данные, которые будут храниться в каждом из экземпляров.
  • Имя сущности не должно содержать специальных символов (таких как!, @, #, $, %, &, * и тому подобных) или указывать на принадлежность (МОРОЖЕНОЕ ПЕРСОНЫ).
  • Имя сущности не должно содержать акронимов или аббревиатур, если только они не являются частью принятых соглашений об именовании.

Примеры хороших имен сущностей

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

ТАБЛИЦА 2.1 Примеры имен сущностей с объяснениями

Хорошее имя

Неудачное имя

Пояснение

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

Описание сущностей

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

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

Правила формирования хороших описаний

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

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

Примеры хороших описаний

Таблица 2.2 не претендует на полноту, но служит для демонстрации хороших описаний и причин, по которым неудачные описания не отвечают основным положениям.

ТАБЛИЦА 2.2. Описания сущностей с пояснениями

Хорошее описание

Неудачное описание

Пояснение

ПЕРСОНА содержит информацию о физических лицах, которые вступают
во взаимодействие
с корпорацией. Информация
о ПЕРСОНЕ помогает корпорации при планировании, разработке продуктов и рекламной деятельности.
Клиент или сотрудник. Хорошее описание включает определение сущности и ее значение для корпорации.
Включает имя, дату рождения и т.п. для персоны. Простое перечисление атрибутов сущности не несет дополнительной информации о том, что собой представляет сущность и почему она важна для корпорации.
Информация о клиентах
и сотрудниках.
Клиент и сотрудник являются примерами ролей, в которых может выступать ПЕРСОНА. Использование одних только примеров не объясняет, что сущность собой представляет и почему она важна для корпорации.
Сущность содержит символы и числовые данные, извлеченные
из POS (Point Of Sale - торговый терминал), хранящиеся с использованием стандартного сжатия и упакованных десятичных чисел.
Данный искусственный пример призван проиллюстрировать, что технические описания и аббревиатуры с трудом понимаются бизнес-пользователями.

Распространенные ошибки при моделировании сущностей и выборе ключей

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

Моделирование ролей

Что подразумевается под моделированием ролей? Во время рабочих сессий пользователи могут сказать вам, что им необходимо хранить информацию о сотрудниках. Возникает искушение создать сущность СОТРУДНИК. Более тщательный анализ информации, представляющей интерес для корпорации, например, такой как имя, адрес и номер социального страхования показывает, что эти значения не зависят от сущности СОТРУДНИК. Для конкретного СОТРУДНИКА значение атрибута ИМЯ не зависит от сущности СОТРУДНИК. Это легко понять, если задуматься о том, что ваше имя остается вашим именем вне зависимости от того, являетесь ли вы СОТРУДНИКОМ или нет.

Перегрузка сущностей

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

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

Например, сущность ОБОРУДОВАНИЕ может иметь совершенно разное значение для подразделений информационных технологий и для отдела средств массовой информации и коммуникаций.

Избыточные сущности

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

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

Выбор неправильного первичного ключа

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

  • Не уникальность: первичный ключ не является уникальным для каждого из экземпляров. Например, разработчик модели может считать, что номер социального страхования является уникальным для каждой ПЕРСОНЫ. Однако номер социального страхования может повторно использоваться в том случае, если первоначальный его владелец скончался.
  • Требуемое значение/неопределенность: первичный ключ не имеет значения для некоторых из экземпляров. Например, не каждый экземпляр сущности ПЕРСОНА будет иметь номер социального страхования. Иностранцы и маленькие дети - вот две категории людей, у которых он будет отсутствовать.

Использование неудачных имен сущностей

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

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

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

Использование неудачных описаний сущностей

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

Не пытайтесь перефразировать имя сущности. Не используйте имя сущности в ее описании.

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

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

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

Заключение

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

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

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

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

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

Часть 2. Понятие атрибута

В статье "Базовые концепции моделирования данных" были введены основные понятия, связанные с моделированием данных. В статье Основные компоненты диаграммы ERwin - сущности, атрибуты, связи. Часть 1. Понятие сущности были даны первоначальные сведения о сущностях и ключах сущностей. В данной статье рассматриваются атрибуты и более детально описываются нормализация и ключи.

В этой статье вы узнаете как:

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

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

Что такое атрибут?

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

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

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

  • Значение атрибута представляет интерес для корпорации.
  • В логической модели присутствует единственный экземпляр атрибута.
  • Атрибут имеет логический тип данных и область определения.
  • Значение атрибута определяется как требуемое или необязательное.
  • Атрибут имеет имя и описание.
  • Для каждого экземпляра сущности может использоваться только одно значение.

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

На рисунке 3.1 две сущности БАНАНОВЫЙ ДЕСЕРТ и СЛИВОЧНАЯ ПОМАДКА. Каждая сущность содержит атрибуты, представляющие компоненты каждого из блюд. Обратите внимание, что для сущности БАНАНОВЫЙ ДЕСЕРТ можно выбрать три вкусовых добавки, три верхушки: банан, взбитые сливки и вишни. Для экземпляра СЛИВОЧНОЙ ПОМАДКИ можно выбрать две вкусовых добавки и банан, взбитые сливки и вишни.

Рис. 3.1. Сущности и атрибуты, представляющие (не очень удачно) две основных концепции: СЛИВОЧНАЯ ПОМАДКА и БАНАНОВЫЙ ДЕСЕРТ

Выявление атрибутов

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

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

Упорядочивание атрибутов в соответствии с требованиями к информации

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

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

Анализ атрибутов

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

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

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

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

Остаться должен только один

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

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

Атрибуты, имеющие в составе своего имени слова "индикатор" или "флаг", скорее всего, представляют конкретное значение из области определения атрибута. Конкретное значение является экземпляром атрибута. Использование в модели экземпляров атрибутов - распространенная ошибка. Например, "Индикатор черных волос" имеет значение "да" если присутствуют черные волосы, и значение "нет" если черные волосы отсутствуют. Более предпочтительным будет использование в модели атрибута "Цвет волос", который может иметь конкретное значение "Черный".

Атрибут должен представлять только одну концепцию бизнеса. Он не должен иметь несколько значений для одного экземпляра сущности. На Рисунке 3.1 показаны две сущности, БАНАНОВЫЙ ДЕСЕРТ и СЛИВОЧНАЯ ПОМАДКА. Обе сущности содержат многозначный атрибут с именем "Дата начала или окончания специального предложения". Имя атрибута показывает, что его значение может представлять дату начала специального предложения или дату окончания специального предложения, и у нас нет возможности их различить! Этот атрибут должен быть разделен на два, каждый из которых будет представлять единственный факт.

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

Нормализация: помещение атрибута в соответствующую сущность

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

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

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

Другими преимуществами нормализации являются:

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

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

Функциональная зависимость

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

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

Атрибуты, принадлежащие к одной теме, могут оказаться избыточными. Избыточные атрибуты могут быть сгруппированы в единую сущность или могут использовать общую абстракцию более высокого уровня в качестве характеристических сущностей родительской сущности. На рисунке 3.1 присутствует, по меньшей мере, две общих темы: и Верхушка . Эти атрибуты являются хорошими кандидатами на перенос в другие сущности. Рассмотрим их в аспекте функциональной зависимости. Значение атрибута Вкусовая добавка к мороженому не зависит от значения первичного ключа - Ингредиенты бананового десерта . То же самое касается и ключа Сливочная помадка .

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

Первая нормальная форма

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

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

На рисунке 3.2 перенесены повторяющиеся группы Вкусовая добавка к мороженому и Верхушка в зависимые сущности. Обратите внимание на создание сущности ВКУС.

Рис. 3.2. Устранение избыточных атрибутов

Вторая нормальная форма

Приведение ко второй нормальной форме означает удаление избыточных атрибутов. Избыточными атрибутами могут быть:

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

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

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

Рисунок 3.2 демонстрирует решение для некоторых избыточных атрибутов сущностей БАНАНОВЫЙ ДЕСЕРТ и СЛИВОЧНАЯ ПОМАДКА. Рассмотрим избыточность с точки зрения двух стержневых сущностей. В обеих сущностях присутствуют общие темы: вкусовая добавка к мороженому и верхушка. Это признак того, что стержневые сущности могут быть объединены на более высоком уровне абстракции.

Рисунок 3.3 демонстрирует создание супертипа с именем СМЕСЬ, для которого БАНАНОВЫЙ ДЕСЕРТ и СЛИВОЧНАЯ ПОМАДКА являются его реализациями. Я добавил классификационный атрибут "Тип смеси" в родительскую сущность СМЕСЬ для идентификации является ли СМЕСЬ экземпляром сущности БАНАНОВЫЙ ДЕСЕРТ или СЛИВОЧНАЯ ПОМАДКА. Экземпляр сущности СМЕСЬ может быть экземпляром сущности БАНАНОВЫЙ ДЕСЕРТ или СЛИВОЧНАЯ ПОМАДКА, но не их обеих одновременно.

Рис. 3.3. Избыточность стержневых сущностей устранена за счет перемещения общих атрибутов в более общую сущность СМЕСЬ. Обратите внимание, что первичный ключ "Идентификатор смеси" помещен и в сущности БАНАНОВЫЙ ДЕСЕРТ и СЛИВОЧНАЯ ПОМАДКА.

Третья нормальная форма

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

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

На Рисунке 3.3 атрибуты Взбитые сливки и Вишня не зависят от первичных ключей сущностей БАНАНОВЫЙ ДЕСЕРТ и СЛИВОЧНАЯ ПОМАДКА. Фактически вы должны решить, не являются ли атрибуты Взбитые сливки и Вишня экземплярами сущности ВЕРХУШКА.

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

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

Определение характеристик атрибута

Атрибуты делятся на две группы. Атрибут либо является ключом, либо нет. Рисунок 3.5 показывает ключевые атрибуты для логической модели сущности СМЕСЬ. Заметьте, что, в сущности, атрибуты первичного ключа располагаются над линией внутри сущности, а остальные атрибуты - под линией.

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

Ключевые атрибуты

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

Атрибуты первичного ключа

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

Хороший первичный ключ будет обладать следующими признаками:

  • Значение гарантирует уникальность для каждого из экземпляров
  • Значение не имеет скрытого смысла
  • Область определения значений будет оставаться постоянной с течением времени
  • Значения существуют для каждого из экземпляров сущности

Искусственные первичные ключи

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

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

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

Кандидаты в ключи

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

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

Внешние ключи

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

Миграция атрибутов первичного ключа

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

Неключевые атрибуты

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

В своей книге Strategic Systems Development К. Финклештейн определяет несколько типов неключевых атрибутов:

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

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

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

Простые атрибуты

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

Производные атрибуты

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

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

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

Нахождение области определения атрибута

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

Можно сказать, что область определения атрибута должна содержать, как минимум, два значения. Атрибут, для которого всегда разрешено только одно значение, вероятно, некорректно отображен в модели. На Рисунке 3.5 присутствует два таких атрибута - Банан и Помадка.

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

В Таблице 3.1 приведены области определения логических типов данных сущности СПЕЦИАЛЬНОЕ ПРЕДЛОЖЕНИЕ логической модели СМЕСЬ.

ТАБЛИЦА 3.1. Примеры логических типов данных

Области определения простых и расширенных типов данных

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

  • Datetime - дата/время
  • Number - число
  • String - строка

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

  • Image - изображение
  • Sound - звук
  • Video - видео

Области определения, вводимые пользователем

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

Определение необязательности атрибута

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

В книге Information Engineering: Strategic Systems Development К. Финклештейн определяет свойство обязательности атрибута через серию "правил редактирования":

  • Добавляется сразу, изменить позже - нельзя.
  • Добавляется сразу, изменяется позже.
  • Добавляется позже, изменяется позже.
  • Добавляется позже, изменить потом - нельзя.

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

В Таблице 3.2 указано свойство обязательности для атрибутов сущности СПЕЦИАЛЬНОЕ ПРЕДЛОЖЕНИЕ. Обратите внимание на тот факт, что при создании экземпляра сущности СПЕЦИАЛЬНОЕ ПРЕДЛОЖЕНИЕ значения требуются для всех атрибутов кроме атрибута Дата окончания специального предложения.

Таблица 3.2. Примеры обязательности атрибутов

В таблице 3.2 представлено бизнес-правило, которое говорит, что для экземпляра сущности СПЕЦИАЛЬНОЕ ПРЕДЛОЖЕНИЕ требуется следующая информация:

  • Идентификатор сущности (Идентификатор специального предложения)
  • Идентификатор вкусовой добавки специального предложения (Идентификатор мороженого и Идентификатор вкуса)
  • Дата начала специального предложения (Начало специального предложения)

Дата окончания для каждого экземпляра сущности СПЕЦИАЛЬНОЕ ПРЕДЛОЖЕНИЕ необязательна. Бизнес-правило утверждает, что СПЕЦИАЛЬНОЕ ПРЕДЛОЖЕНИЕ должно иметь начало, но не обязательно должно иметь конец.

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

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

ПРИМЕЧАНИЕ

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

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

Именование атрибутов

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

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

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

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

  • Имя атрибута должно быть достаточно описательным. Подумайте об использовании словосочетаний на основе существительных в форме объект/ модификатор/ класс.
  • По возможности имя атрибута должно включать имя сущности. Используйте "Имя для персоны" вместо просто "Имя".
  • Имя атрибута должно указывать на значения конкретных экземпляров атрибута. Использование одинаковых имен для атрибутов, содержащих различные данные, или разных имен для атрибутов, содержащих одинаковые данные, будет без необходимости вводить в заблуждение разработчиков и конечных пользователей.
  • Имя атрибута должно использовать язык бизнеса вместо языка технических описаний.
  • Имя атрибута не должно содержать специальных символов (таких как!, @, #, $, %, л, &, * и тому подобных) или указывать на принадлежность (Имя, принадлежащее персоне).
  • Имя атрибута не должно содержать акронимов или аббревиатур, если только они не являются частью принятых соглашений именования.

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

Имена атрибутов в форме Объект/ Модификатор/ Класс

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

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

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

  • Идентификатор
  • Число
  • Величина
  • Количество
  • Частота

Примеры имен атрибутов

В рамках корпорации всегда лучше использовать единообразные имена атрибутов. В Таблице 3.3 приведены примеры хороших и плохих имен для атрибутов. Обратите внимание, что слова в имени атрибута отделены пробелами, начинаются с заглавных букв и используют строчные символы для остальных.

ТАБЛИЦА 3.3. Имена атрибутов с пояснениями

Хорошее Имя

Неудачное имя

Пояснение

Person First Name
(Имя персоны)
Name
(Имя)
Name (Имя) - название класса и нуждается в обозначении объекта Person (персона) и в модификаторе First (первое).
Ice Cream Sales Quantity
(Объем продаж мороженого)
The Quantity of Sales
(Объем продаж)
Quantity (Количество) - название класса и должно быть на последнем месте (в английском варианте имени атрибута). "The" и "of" не привносят дополнительного смысла.
Item Cost Amount
(Величина стоимости позиции)
Cost of Item
(Стоимость позиции)
"of" не привносит дополнительного смысла. Название класса "Amount" (величина) указывает пользователю, что должно быть в атрибуте.
Product Identifier
(Идентификатор продукта)
Product Identifiers
(Идентификаторы продуктов)
"Identifiers" (Идентификаторы) - множественное число. Имя атрибута должно быть существительным в единственном числе.
Point of Sale Location Code

POS Code
(Код POS)
"POS" - аббревиатура. Использованное название класса "Code" (код) нуждается в модификаторе.
Person Birth Date
(Дата рождения персоны)
Birthday
(День рождения)
Birthday (День рождения) не содержит названия класса Date (Дата). Включение модификатора и имени объекта проясняет смысл имени атрибута.

Описание атрибутов

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

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

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

Таблица 3.4. Имена и описания атрибутов с пояснениями

Имя атрибута

Хорошее описание

Неудачное описание

Пояснение

Person First Name

(Имяперсоны)

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

Поле с длиной в 40 символов.

Не используется язык бизнеса. Применены технические термины.

Ice Cream Sales Quantity

(Объем продаж мороженого)

Количество мороженого конкретного сорта, проданного в рамках конкретного мероприятия по продаже.

Объем продаж.

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

Item Cost Amount

(Величина стоимости позиции)

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

Шестизначное десятичное число с двумя знаками после запятой.

Слишком техническое описание. Почти ничего не значит для пользователей элемента данных.

Product Identifier

(Идентификатор продукта)

Искусственный уникальный числовой идентификатор для конкретного продукта.

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

Простая перефразировка имени атрибута.

Point of Sale Location Code

(Код местоположения точки продаж)

Уникальный код, идентифицирующий географическое положение точки продаж.

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

Person Birth Date

(Дата рождения персоны)

Дата рождения персоны.

День рождения персоны.

В описании опущено название класса "дата".

Распространенные ошибки при работе с атрибутами

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

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

Моделирование в терминах значений

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

  1. Способ определения возрастных категорий в корпорации со временем может измениться.
  2. Возраст конкретной персоны определенно меняется с течением времени.
  3. Все атрибуты будут представлять значения атрибута Возраст персоны . Естественно, Возраст персоны с течением времени будет меняться, так что лучшим решением будет использование в модели простого атрибута Дата рождения персоны.

Моделирование многозначных атрибутов

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

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

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

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

Моделирование избыточных атрибутов

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

Использование неудачных имен для атрибутов

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

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

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

Использование неудачных описаний для атрибутов

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

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

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

Заключение

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

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

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

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

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

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

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

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

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

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

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

Еще одной интересной практикой в общении с другими людьми является такая:

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

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

Из диалога про излучение и генерирование:

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

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

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

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Вопрос: Какие операторы связи обеспечивают канальную инфраструктуру сети RBNet?

Транстелеком

ВымпелКом

Национальная спутниковая компания

Ростелеком

Вопрос: Какие разрядности выделяют для СБИС?

Вопрос: Какие регистры являются регистрами глобальной и локальной дескрипторных таблиц?

Общие регистры

Регистры общего назначения

Сегментные

Системные

Вопрос: Какие системы позволяют формировать стратегический бизнес-план?

ERP-системы

BPM-системы

OLAP-системы

Вопрос: Какие системы служат для обнаружения в сырых данных ранее неизвестных, нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности?

Системы аналитической обработки

Средства обнаружения знаний

Средства формирования запросов

Транзакционные системы

Вопрос: Какие стратегии реформы телекоммуникаций выделяют для развивающихся стран?

Национализация

Приватизация

Либерализация

Монополизация

Вопрос: Какие сферы интеллектуальной коммуникации выделяют?

Межличностная коммуникация

Психологическая коммуникация

Массовая коммуникация

Научная коммуникация

Вопрос: Какие функции ERP-системы позволяет учитывать динамику и реальное состояние производства?

Функции формирования основного производственного плана

Функции планирования потребностей в материалах

Функции обобщенного планирования загрузки мощностей

Функции оперативного планирования загрузки мощностей

Вопрос: Какие числа имеют одинаковое представление во всех системах счисления?

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

Информация

Сигналы

Сообщения

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

Событие

Вопрос: Каким термином называется процесс развития знаний и способностей людей к восприятию и порождению информации?

Электронизация

Медиатизация

Компьютеризация

Интеллектуализация

Вопрос: Каким термином называется процесс совершенствования средств сбора, хранения и распространения информации, в котором главным носителем информации и данных становится электронный носитель?

Электронизация

Медиатизация

Компьютеризация

Интеллектуализация

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

Электронизация

Медиатизация

Компьютеризация

Интеллектуализация

Вопрос: Каким уровнем активности обладает переход t, если для всякого целого n существует последовательность запусков, в которой t присутствует по крайней мере n раз?

Вопрос: Каким уровнем активности обладает переход t, если для всякой переход t является потенциально живым для сети Петри N с начальной маркировкой M"?

Вопрос: Каким уровнем активности обладает переход t, если существует бесконечная последовательность запусков, в которой t присутствует неограниченно часто?

Вопрос: Какого элемента нет в библиографических (одноконтурных) поисковых системах?

Пассивное запоминающее устройство

Решающее устройство

Вопрос: Какого элемента нет у библиотеки в сравнении с простейшей документальной информационно-поисковой системой?

Активное запоминающее устройство

Преобразователи для индексирования запросов

Решающее устройство

Вопрос: Какое время в среднем должна тратить OLAP-система на поиск ответа на запрос пользователя?

1 секунда

5 секунд

20 секунд

1 минута

Вопрос: Какое графическое представление процесса характеризует параллелизм выполнения действий, составляющих процесс?

Временная диаграмма

Ярусно-параллельный граф

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

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

Вопрос: Какое представление имеет основание системы счисления в любой системе счисления?

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

Оперативное запоминающее устройство

Запоминающее устройство с произвольным доступом

Вопрос: Какое устройство способно выбирать оптимальный маршрут для движения пакета по сети?

Маршрутизатор

Концентратор

Коммутатор

Вопрос: Какой блок динамических имитационных моделей в управлении финансово-хозяйственной деятельностью крупного предприятия рассчитывает состояние капитала и резервов, заемных средств, кредиторской задолженности на конец планового периода?

Планирование экономических показателей

Планирование финансовых показателей

Планирование активов

Планирование пассивов

Вопрос: Какой вектор называется лидером класса?

Вектор с минимальным весом из векторов с одним синдромом

Вектор с максимальным весом из векторов с одним синдромом

Вектор с минимальным весом из векторов с разными синдромами

Вектор с максимальным весом из векторов с разными синдромами

Вопрос: Какой документ в России планирует информатизацию в сфере образования?

- "Электронная Россия"

- "Электронное правительство"

Вопрос: Какой из подуровней канального уровня ЛКС обеспечивает совместное использование общей передающей среды?

Вопрос: Какой код используется, если всякая последовательность кодовых знаков может быть единственным образом разбита на кодовые слова?

Префиксный код

Код переменной длины

Однозначно кодируемый

Однозначно декодируемый

Вопрос: Какой код образуется из абсолютного значения числа и кода знака перед его старшим числовым разрядом?

Обратный

Дополнительный

Вопрос: Какой компании принадлежат веб-комплексы Web of Science, Web of Knowledge и Current Contents Connect?

Thomson Reuters

Вопрос: Какой компании принадлежит реферативная база данных Scopus?

Thomson Reuters

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

База знаний

Интеллектуальный интерфейс

Механизм объяснения

Механизм ввода

Вопрос: Какой метод доступа к передающей среде используется в технологии Ethernet?

Случайный доступ

Маркерный доступ

Интервальный доступ

Вопрос: Какой метод доступа к передающей среде используется в технологии Token Ring?

Случайный доступ

Маркерный доступ

Интервальный доступ

Вопрос: Какой метод повышения надежности использует человек, который не может расшифровать сообщение и просит у источника повторить его еще раз?

Передача в контексте

Дублирование сообщений

Передача с переспросом

Оптимальная передача

Вопрос: Какой метод повышения надежности передачи данных использует человек, который пытаясь передать по телефону с плохой слышимостью слово "СЛОН", сказал "Степа, Лена, Оля, Николай"?

Передача в контексте

Дублирование сообщений

Передача с переспросом

Оптимальная передача

Вопрос: Какой модуль системы поддержки принятия решений обеспечивает одновременный доступ нескольких пользователей к системе через веб-браузер?

База знаний

Модуль интерактивного общения

Модуль принятия решений

Модуль извлечения знаний

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

Модуль принятия решений

Модуль выбора метода

Модуль извлечения знаний

Вопрос: Какой модуль системы поддержки принятия решений отвечает за обеспечение поиска конкретного метода, исходя из особенностей поставленной задачи, используя информационно-справочные функции, предоставляемые системой?

Модуль интерактивного общения

Модуль принятия решений

Модуль выбора метода

Модуль извлечения знаний

Вопрос: Какой показатель используется для оценки цитируемости научного журнала?

Immediacy index

Journal Citation Report

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

Immediacy index

РИНЦ - Journal Citation Report

Вопрос: Какой протокол использовался в сети ARPANET до TCP/IP?

Вопрос: Какой протокол используется для взаимодействия сети RBNet c международными научными сетями?

Вопрос: Какой протокол канального уровня рассчитан на топологию "звезда"?

Вопрос: Какой протокол определяет наилучший маршрут от одной ЭВМ к другой и управляет передачей пакетов?

Вопрос: Какой протокол применяет фирма Novell в операционной системе NetWare на сетевом уровне модели ВОС?

Вопрос: Какой процесс в рамках BPM-систем позволяет своевременно реагировать на возникающие ситуации и отклонения?

Формализация стратегии

Планирование

Мониторинг и анализ

Корректирующие воздействия

Вопрос: Какой способ поиска информации появился первым?

Систематический

Предметный

Алфавитный

Вопрос: Какой статус должны иметь все позиции в заявке на закупку при преобразовании ее в заказ?

Заявлено

Одобрено

Отклонено

Приостановлено

Вопрос: Какой тип кабеля лучше применять для подсистемы кампуса в структурированной кабельной системе?

Неэкранированная витая пара

Экранированная витая пара

Оптоволокно

Коаксиальный кабель

Вопрос: Какой тип ошибок при передаче сообщения встречается наиболее часто?

Замена знака

Вставка знака

Пропуск знака

Вопрос: Какой элемент информационно-поисковой системы является наиболее сложным при компьютерной реализации?

Активное запоминающее устройство

Пассивное запоминающее устройство

Преобразователи для индексирования запросов

Решающее устройство

Вопрос: Какой элемент ЭВМ определяет, какому устройству предназначена команда в системной магистрали?

Адаптер каналов связи

Постоянное запоминающее устройство

Регистр команд

Процессор

Вопрос: Какой этап коммуникационного процесса является первым?

Сбор информации

Аналитико-синтетическая переработка

Хранение информации

Информационный поиск

Вопрос: Какой язык использовался в 70-80 годы прошлого века в деловых приложениях, функционально схожих с современными OLAP-системами?

Вопрос: Какую аббревиатуру используют для метода обработки объектов, когда пришедшие последними к стоку объекты первыми отправляются на дальнейшую обработку?

Вопрос: Какую дату считают официальной датой рождения Интернета?

Вопрос: Какую классификацию используют массовые библиотеки в России?

Библиотечно-библиографическая классификация

Универсальная десятичная классификация

Уникальная восьмеричная классификация

Вопрос: Какую классификацию используют Отечественные научные библиотеки?

Библиотечно-библиографическая классификация

Универсальная десятичная классификация

Десятичная классификация Отле

Десятичная классификация Дьюи

Вопрос: Какую пропускную способность имеет высокоскоростная магистраль Abilene в США?

1.4 Мбит/с

2.4 Мбит/c

2.4 Гбит/с

9.6 Гбит/с

Вопрос: Когда была принята "инициатива Бангемана "?

Вопрос: Когда была согласована "Концепция формирования информационного пространства СНГ"?

Вопрос: Когда выделяются ресурсы при статическом перемещении?

Перед выполнением программы

После выполнения программы

Во время выполнения программы

Вопрос: Когда появилась алфавитно-предметная классификация?

В 20-х годах XVIII века

В 20-х годах XIX века

В 70-х годах XIX века

В 70-х годах XX века

Вопрос: Когда появились библиотечные карточки?

В 20-х годах XVIII века

В 20-х годах XIX века

В 70-х годах XIX века

В 70-х годах XX века

Вопрос: Когда появились персональные компьютеры?

Вопрос: Когда срабатывает переход в одинарной сети Петри?

Входные места перехода содержат хотя бы одну фишку

Входные места перехода содержат все возможные фишки

Выходные места перехода содержат хотя бы одну фишку

Хотя бы одно место перехода содержит одну фишку

Вопрос: Код "Тетраэдр" не способен обнаружить:

1 ошибку

3 ошибки

Четное число ошибок

Нечетное число ошибок

Вопрос: Код исправляет 2 ошибки, если для любых кодовых слов a и b:

Расстояние Хэминга больше или равно 3

Расстояние Хэминга больше или равно 5

Расстояние Хэминга меньше или равно 5

Вопрос: Код обнаруживает 2 ошибки, если для любых кодовых слов a и b:

Вероятности их появления равны

Расстояние Хэминга больше или равно 3

Расстояние Хэминга больше или равно 2

Расстояние Хэминга меньше или равно 3

Вопрос: Кодируемые сообщения источника S располагаются в следующей последовательности: A1, A2,…, An. Метод кодирования Фано применим в случае, если:

Вероятности этих сообщений не равны

Вероятности этих сообщений равны

Вероятности сообщений не убывают

Вероятности сообщений не возрастают

Вопрос: Кодовым расстоянием кода с является:

Максимальное расстояние между различными кодовыми словами

Минимальное расстояние между различными кодовыми словами

Длина самого длинного кодового слова

Длина самого короткого кодового слова

Вопрос: Конъюнкция равна единице, если:

Все переменные равны нулю

Все переменные равны единице

Вопрос: Кто впервые предложил термин "свободное редактирование"?

Арнисон

Вопрос: Кто доказал теорему, согласно которой неравенство Крафта выполняется для любого однозначно декодируемого кода?

Гарфилд

Гарфилд

Вопрос: Кто является изобретателем печатного станка?

Гуттенберг

Вопрос: Линейный код c проверочной матрицей Hc имеет кодовое расстояние pcs s+1 тогда и только тогда, когда …

Любые s столбцов матрицы линейно зависимы

Любые s столбцов матрицы линейно независимы

Только 2 столбца матрицы линейно зависимы

Вопрос: Линейный код c с проверочной матрицей Hc имеет кодовое расстояние pcs4 тогда и только тогда, когда …

Любые 3 столбца матрицы линейно зависимы

Любые 3 столбца матрицы линейно независимы

Любые 2 столбца матрицы линейно зависимы

Любые 2 столбца матрицы линейно независимы

Вопрос: Место называется безопасным, если для всякой достижимой разметки выполняется:

Вопрос: На какие классы делят имитационные модели в отношении поведения зависимых переменных?

Дискретные и непрерывные

Первичные и вторичные

Гибкие и жесткие

Статические и динамические

Вопрос: На какие классы делятся ЛКС по организации управления?

Динамические и статические

Однородные и неоднородные

С централизованным и децентрализованным управлением

Информационно-поисковые и информационно-расчетные

Вопрос: На каком материале хранили информацию древние египтяне?

На бумаге

На пергаментах из телячьих шкур

На папирусе

На глиняных табличках

Вопрос: На каком уровне модели OSI работает мост?

Физическом

Канальном

Сетевом

Транспортном

Вопрос: На каком уровне модели OSI работают маршрутизаторы?

Физическом

Канальном

Сетевом

Транспортном

Вопрос: На каком уровне модели ВОС работают повторители?

Физическом

Канальном

Сетевом

Транспортном

Вопрос: На каком этапе коммуникационного процесса каждая группа сведений, имеющихся в документе, анализируется с точки зрения содержания, а сам документ - с точки зрения его формы?

Сбор информации

Аналитико-синтетическая переработка

Хранение информации

Информационный поиск

Вопрос: На каком этапе разработки имитационной модели осуществляется выбор средств описания реального объекта, методов проектирования, среды программирования?

Вопрос: На каком этапе разработки имитационной модели проводятся анализ вариантов сценариев, принятие решения о путях совершенствования модели, имитационного процесса и выбор новых путей исследования?

Вопрос: На сколько подуровней разделен канальный уровень в ЛКС?

Вопрос: На сколько этапов разбиты мероприятия программы "Электронная Россия"?

Вопрос: На чем обычно строится сверхоперативная память?

Конденсатор

Транзистор

Регистр

Вопрос: Обратный код каких чисел совпадает с их прямым кодом?

Отрицательных

Положительных

Дробных

Вопрос: Общество, в котором более 50% населения занято в сфере информационно-интеллектуальных услуг, называется:

Индустриальным

Постиндустриальным

Информационным

Ноосферным

Вопрос: Общество, в котором более 50% населения занято в сфере услуг, называется:

Индустриальным

Постиндустриальным

Информационным

Ноосферным

Вопрос: Первой революцией в информационном развитии общества стало:

Появление речевых коммуникаций

Изобретение письменности

Изобретение книгопечатания

Появление электронно-вычислительных машин и основанных на них автоматизированных технологий

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

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

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

Вопрос: По какому принципу работает стековая память?

Вопрос: Практическая реализация стратегических целей информационного развития Евросоюза строится на базе …

3-летних планов

5-летних планов

7-летних планов

10-летних планов

Вопрос: Преимуществом неравномерного кодирования перед равномерным является:

Однозначное декодирование

Экономичность

Простота кодирования

Быстрота декодирования

Вопрос: При графическом описании работы конечного автомата вершинами графа являются:

Входы автомата

Выходы автомата

Внутренние состояния автомата

Вопрос: При какой модели информатизации функции государства сводятся к минимуму?

Европейская

Американо-английская

Азиатская

Латиноамериканская

Вопрос: При наличии 4 битовых плоскостей в видеопамяти, сколько значений будет определять атрибутивный вид пиксела на экране?

Вопрос: При табличном описании работы конечного автомата каждому шагу обработки соответствует:

Таблица

Один столбец

Два столбца

Одна строка

Вопрос: Прием решения задач путем сведения сложной задачи к более простой называется…

Рекурсией

Фиксацией

Повторением

Разветвлением

Вопрос: Протоколами какого уровня модели OSI являются Ethernet и Token Ring?

Физического

Канального

Сетевого

Транспортного

Вопрос: Пусть A-некоторый фиксированный алфавит. Множество слов, каждое из которых принадлежит A*, называют:

Естественным языком

Искусственным языком

Объективным языком

Формальным языком

Вопрос: Пусть слова a=1010 и b=11, то результатом конкатенации ab является:

Вопрос: Ребром словарного дерева алфавита А из m символов соединяются слова, отличающиеся по длине на:

M символов

M-1 символов

1 символ

5 символов

Вопрос: С помощью каких процедур находят оптимальный код источника?

Процедура расщепления

Процедура выравнивания

Процедура сжатия

Процедура объединения

Вопрос: Самые древние из дошедших до нас документов представляют собой:

Глиняные плитки

Папирусные свитки

Пергаменты из телячьих шкур

Бумажные книги

Вопрос: Свободное редактирование применительно к Википедии значит:

Любой желающий может редактировать любую статью

Редакторский коллектив может редактировать статьи после публикации

Вопрос: Символом A* обозначается:

Множество всех слов над алфавитом A

Множество всех непустых слов над алфавитом A

Пустое слово алфавита A

Множество слов алфавита A, состоящее из 1

Вопрос: Сколько адресов в трехадресных командах указывают, куда необходимо поместить результат операции?

Вопрос: Сколько бит содержит 1 байт?

Вопрос: Сколько векторов содержит линейная оболочка 3 линейно независимых векторов?

Вопрос: Сколько входов имеет простейшая документальная информационно-поисковая система?

Вопрос: Сколько дуг выходит из каждой вершины графа при графическом описании работы конечного автомата?

Сколько знаков имеется во входном алфавите

Сколько выходов может иметь автомат

Сколько внутренних состояний имеет автомат

Вопрос: Сколько информации может хранить в себе 1 элемент памяти?

Не ограниченное количество

Вопрос: Сколько колец задействовано для передачи данных при нормальном режиме работы в технологии FDDI?

Вопрос: Сколько подсистем выделяют в структурированной кабельной системе?

Вопрос: Сколько различных комбинаций можно составить из 3 линейно независимых векторов?

Вопрос: Сколько различных комбинаций можно составить из n линейно независимых векторов?

Вопрос: Сколько революционных этапов можно выделить в информационном развитии общества?

Вопрос: Сколько стандартных интерфейсов ввода-вывода есть в IBM PC?

Вопрос: Сколько типов кадров поддерживает Ethernet?

Вопрос: Сколько функций содержит описание конечного автомата?

Вопрос: Словарное дерево алфавита A={0,1} начинают с построения:

Корня, которым является пустое слово

Корня, которым является множество всех слов алфавита

Вопрос: Согласно линейной алгебре 1+1 будет равно

Вопрос: Согласно методу декодирования линейного кода по синдрому декодирование осуществляется:

Сложением принятого вектора с лидером класса

Умножением принятого вектора и лидера класса

Вычитанием из принятого вектора лидера класса

Вычитанием из лидера класса принятого вектора

Вопрос: Сокращением какого слова является буква S в тесте FASMI для OLAP-систем?

Вопрос: Функция "штрих Шеффера" это:

Отрицание конъюнкции

Отрицание дизъюнкции

Отрицание равнозначности

Логическая равнозначность

Вопрос: Функция логического сложения принимает значение 1 в случае, если:

Хотя бы одна переменная равна единице

Хотя бы одна переменная равна нулю

Все переменные равны нулю

Вопрос: Функция логической равнозначности принимает значение 1 в случае, если:

Хотя бы одна переменная равна единице

Все переменные равны единице

Все переменные равны нулю

Все переменные имеют одинаковое значение

Вопрос: Целью какой программы стало обеспечение единства образовательного пространства на всей территории России?

- "Электронная Россия"

- "Электронное правительство"

- "Информатизация сферы образования"

+ "Развитие единой образовательной информационной среды"

Вопрос: Частным случаем какой модели представления знаний является фреймовая модель?

Логическая модель

Продукционная модель

Семантическая сеть

Объектно-ориентированная модель

Вопрос: Частными случаями какого понятия являются фонемы и графемы?

Изображение

Вопрос: Число фишек, находящихся в некотором месте p в сети Петри, называется:

Емкостью условия

Емкостью события

Сопротивлением условия

Сопротивлением события

Вопрос: Что было основным активным элементом в компьютерах первого поколения?

Электронная лампа

Транзистор

Резистор

Конденсатор

Вопрос: Что выполняет поиск в библиотеках компилятора и привязку недостающих программ к основной программе?

Триггер

Загрузчик

Транслятор

Редактор связей

Вопрос: Что вычисляется по формуле Шеннона?

Количество информации

Количество разрядов в представлении числа

Быстродействие компьютера

Вероятность появления 0 или 1 в представлении числа

Вопрос: Что используется в Интернете для адресации абонентов и информационных единиц, вплоть до файлов?

Вопрос: Что используется для графического изображения процесса во времени и в пространстве?

Временная диаграмма

Ярусно-параллельный граф

Вопрос: Что используется для построения ЛКС с большой пропускной способностью (сотни мегабит в секунду)?

Силовой провод

Витая пара

Коаксиальный кабель

Оптическое волокно

Вопрос: Что наиболее удобно использовать для классификации большого количества научных публикаций в журналах?

Тезаурус

Каталог

Библиотечные карточки

Вопрос: Что обозначается как \{\varepsilon\}?

Пустой язык любого алфавита

Вопрос: Что обозначается как?

Пустой язык любого алфавита

Формальный язык любого алфавита

Вопрос: Что образуется в результате сопоставления основного смыслового содержания документа с потенциальными запросами потребителей информации?

Поисковый запрос

Библиография

Вопрос: Что позволяет искать информацию по совершенно новым межотраслевым или комплексным проблемам под фамилиями пионеров и наиболее известных специалистов каждой из таких проблем?

Традиционное индексирование

Предкоординатное индексирование

Указатели цитированной литературы

Посткоординатное индексирование

Вопрос: Что располагается на входе простейшей документальной информационно-поисковой системы?

Активное запоминающее устройство

Пассивное запоминающее устройство

Преобразователи для индексирования запросов

Решающее устройство

Вопрос: Что такое ROM?

Постоянное запоминающее устройство

Ассоциативное запоминающее устройство

Внешнее запоминающее устройство

Оперативное запоминающее устройство

Вопрос: Что чаще всего используется для построения ЛКС с малой и средней пропускной способностью?

Силовой провод

Витая пара

Коаксиальный кабель

Оптическое волокно

Вопрос: Что является наименьшей структурной единицей информации?

Килобайт

Мегабайт

Вопрос: Что является составными частями сетей Петри?

Переходы

Последствия

Вопрос: Что является центральным компонентом экспертной системы?

Механизм вывода

База знаний

Механизм приобретения знаний

Механизм объяснения

Вопрос: Чтобы сеть Петри была консервативной, необходимо выполнение следующего условия:

Все ее места ограничены

Число входов в каждый переход равно числу выходов (с учетом кратности)

Общее число входов сети равно общему числу выходов

Все переходы в сети мертвые, а места - ограниченные

Вопрос: Чьи интересы главным образом отражает программа "Электронная Россия"?

Граждан

Государства

Мелкого бизнеса

Крупного бизнеса

Размещено на Allbest.ru

Подобные документы

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

    дипломная работа , добавлен 16.06.2015

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

    научная работа , добавлен 29.01.2009

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

    контрольная работа , добавлен 01.08.2009

    Понятие информационно-поисковых систем. История возникновения сети Internet. Основные алгоритмы работы современных словарных информационно-поисковых систем. Быстрый поиск в базе данных и быстрое реагирование системы. Ранжирование результатов поиска.

    курсовая работа , добавлен 01.06.2012

    Основные принципы построения информационно-поисковых систем. Архитектура современных информационно-поисковых систем WWW. Принцип работы поисковых систем. Процесс поиска, информационный язык, перевод, дескриптор, критерий соответствия, индексирование.

    курсовая работа , добавлен 10.06.2014

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

    дипломная работа , добавлен 19.05.2011

    Понятие, структура и классификация информационных систем. Информационно поисковые системы. Исторические предпосылки развития поисковых систем. Понятие поисковых систем. Особенности поисковых систем: структура сети, структура работы поисковых систем.

    курсовая работа , добавлен 28.03.2005

    Анализ информационно-поисковых систем автоматизации производства. Построение инфологической и логической модели базы данных технологического оборудования для сборочно-монтажных работ. Выбор языка программирования приложения БД. Алгоритм работы программы.

    дипломная работа , добавлен 18.12.2013

    Компоненты документальной информационно-поисковой системы. Результаты индексирования документов и запросов. Иерархическая, фасетная и эмпирическая классификационные схемы. Дескрипторные информационно-поисковые языки. Примеры дескрипторной статьи.

    презентация , добавлен 14.10.2013

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

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 ). Так как многолетний мировой опыт использования информационных систем, построенных на основе баз данных, показывает, что недостатки проекта невозможно устранить любыми ухищрениями в программах приложений, то опытные проектировщики не позволяют себе идти навстречу прикладным программистам (даже тогда, когда они сами являются таковыми).

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

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

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