Якорная модель: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
{{плохой перевод|en|Anchor modelling|27 июня 2017}}
{{плохой перевод|en|Anchor modeling|27 июня 2017}}


'''Якорное моделирование''' - это технология моделирования гибкой базы данных, подходящая для информации, которая со временем изменяется как по структуре, так и по содержанию. Он обеспечивает графическое обозначение, используемое для концептуального моделирования, аналогичное [[Entity-Relationship|моделированию отношений сущностей]], с расширениями для работы с временными данными. В методике моделирования используются четыре модели моделирования: якорь, атрибут, связь и узел, каждый из которых отражает различные аспекты моделируемого домена. Полученные модели могут быть переведены в физические проекты баз данных с использованием формализованных правил. Когда такой перевод сделан, таблицы в реляционной базе данных будут в основном в [[Шестая нормальная форма|шестой нормальной форме]].
'''Якорное моделирование''' - это технология моделирования гибкой базы данных, подходящая для информации, которая со временем изменяется как по структуре, так и по содержанию. Он обеспечивает графическое обозначение, используемое для концептуального моделирования, аналогичное [[Entity-Relationship|моделированию отношений сущностей]], с расширениями для работы с временными данными. В методике моделирования используются четыре модели моделирования: якорь, атрибут, связь и узел, каждый из которых отражает различные аспекты моделируемого домена. Полученные модели могут быть переведены в физические проекты баз данных с использованием формализованных правил. Когда такой перевод сделан, таблицы в реляционной базе данных будут в основном в [[Шестая нормальная форма|шестой нормальной форме]].

Версия от 11:22, 27 июня 2017

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

Философия и история

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

Самые ранние установки, использующие анкерное моделирование, были сделаны в Швеции, причем первая из них была датирована 2004 годом, когда был построен склад хранилища данных для страховой компании с использованием этой технологии. В 2007 году методика использовалась в нескольких хранилищах данных и одной OLTP системе, и она была представлена на международном уровне Ларсом Рёнбэком в TDWI (The Data Warehousing Institute) конференции в Амстердам.[1]Это вызвало интерес к технике, чтобы получить более формальное описание. С тех пор исследования, связанные с моделированием якорей, проводятся в сотрудничестве между создателями Olle Regardt и Lars Rönnbäck и командой на кафедре компьютерных и системных наук, Стокгольмский университет. Первая работа,[2] в которой формализовано якорное моделирование, была представлена на 28-й Международной конференции по концептуальному моделированию[3] и получила награду за лучшую статью.

Это исследование можно www.anchormodeling.com,Где материал по анкерному моделированию становится общедоступным и бесплатным для использования в рамках лицензии Creative Commons. Также доступен онлайн-инструмент для моделирования, который можно использовать свободно и с открытым исходным кодом.

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

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

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

Anchor Modeling Example

Временные аспекты

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

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

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

Реляционное представление

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

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

Примером анкера для идентификации племянников Donald Duck является набор из 1 кортежей:
{⟨#42⟩, ⟨#43⟩, ⟨#44⟩}

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

Пример узла для гендерных групп - это набор из двух кортежей:
{⟨#1, 'Male'⟩, ⟨#2, 'Female'⟩}

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

Примером статического атрибута для их имен является набор из 2-х кортежей:
{⟨#42, 'Huey'⟩, ⟨#43, 'Dewey'⟩, ⟨#44, 'Louie'⟩}

Примером заузленного статического атрибута для их гендерных групп является набор из двух кортежей:
{⟨#42, #1⟩, ⟨#43, #1⟩, ⟨#44, #1⟩}

Примером атрибута с историей для (изменяющихся) цветов их нарядов является набор из 3-х кортежей:
{⟨#44, 'Orange', 1938-04-15⟩, ⟨#44, 'Green', 1939-04-28⟩, ⟨#44, 'Blue', 1940-12-13⟩}

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

Примером статической связи для отношения родного брата является набор из двух кортежей:
{⟨#42, #43⟩, ⟨#42, #44⟩, ⟨#43, #42⟩, ⟨#43, #44⟩, ⟨#44, #42⟩, ⟨#44, #43⟩}

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

Ссылки

  1. 6th TDWI European Conference - TDWI homepage Архивировано 20 июля 2011 года.
  2. "Anchor Modeling". Proceedings of the 28th International Conference on Conceptual Modeling. ER '09. Gramado, Brazil: Springer-Verlag: 234—250. 2009. ISBN 978-3-642-04839-5. {{cite journal}}: Неизвестный параметр |authors= игнорируется (справка)
  3. 28th International Conference on Conceptual Modeling - ER'09 homepage