Нор (якорная стоянка)
- 1 year ago
- 0
- 0
Якорное моделирование — технология моделирования хранилищ данных , подходящая для информации, которая со временем изменяется как по структуре, так и по содержанию. Обеспечивает графическое обозначение [ уточнить ] , используемое для концептуального моделирования, аналогичное моделированию сущностей и связей , с расширениями для работы с временными данными. В методике моделирования используются четыре модели моделирования: якорь, атрибут, связь и узел, каждый из которых отражает различные аспекты моделируемого домена. Полученные модели могут быть переведены в физические проекты баз данных с использованием формализованных правил. Когда такой перевод сделан, таблицы в реляционной базе данных будут в основном в шестой нормальной форме .
Якорное моделирование было создано для того, чтобы воспользоваться преимуществами высокой степени нормализации базы данных и избежать его недостатков. Получаются такие преимущества, как способность не разрушать модель, избегать пустых (то есть null ) значений и не допускать избыточности информации. Проблемы производительности из-за дополнительных объединений в значительной степени устранены благодаря функции в современных механизмах баз данных, называемой « ».
Первые хранилища данных на якорных моделях были построены в Швеции , первая из них (2004) — для страховой компании. В 2007 году методика использовалась в нескольких хранилищах данных и одной OLTP -системе, и она была представлена на международном уровне Ларсом Рёнбеком конференции (Института хранилищ данных) в Амстердаме . Это вызвало интерес к технике, чтобы получить более формальное описание. С тех пор исследования, связанные с моделированием якорей, проводятся в сотрудничестве между создателями — Улле Регардтом и Ларсом Рёнбеком, а также с участием специалистов кафедры компьютерных и системных наук Стокгольмского университета . Первая работа , в дано формальное описание технологии, была представлена на 28-й Международной конференции по концептуальному моделированию и получила награду за лучшую статью.
Материал по якорному моделированию доступен в рамках лицензии Creative Commons . Также доступен онлайн-инструмент для моделирования, который можно использовать свободно и с открытым исходным кодом.
Якорное моделирование имеет четыре основные концепции моделирования: якоря, атрибуты, связи и узлы. Якоря используются для моделирования сущностей и событий, атрибуты используются для моделирования свойств якорей, связи моделируют отношения между якорями, узлы используются для моделирования общих свойств, таких как состояния. Атрибуты и связи могут быть истолкованы, когда изменения в информации, которую они моделируют, необходимо сохранить.
Примерная модель, показывающая различные графические символы для четырёх концепций модели, приведена ниже. Символы напоминают те, что используются в модели моделированию сущностей и связей , с несколькими расширениями [ уточнить ] . Двойной контур по атрибуту или привязке указывает, что сохраняется история изменений, и также доступен символ узла (обведённый квадрат с закругленными краями).
Якорное моделирование управляет двумя типами информационной эволюции [ уточнить ] , структурными изменениями и изменениями контента. Изменения в структуре информации представлены через расширения. Высокая степень нормализации данных позволяет неразрушающим образом добавлять надлежащие концепции моделирования, необходимые для фиксации изменений, таким образом, что каждая предыдущая схема базы данных всегда остаётся в виде подмножества Текущей схемы. Поскольку существующая схема не тронута, это даёт преимущество, поскольку она может развиваться в базе данных очень итеративным образом и не вызывать никаких простоев.
Изменения в содержании информации осуществляются путём эмуляции аналогичных функций временной базы данных в реляционной базе данных . В моделировании с привязкой фрагменты информации могут быть привязаны к моментам времени или к промежуткам времени (как открытые, так и закрытые). Временные моменты, когда происходят события, моделируются с использованием атрибутов, например, дат рождения людей или времени покупки. Интервалы времени, в которые действительна ценность, фиксируются через историзацию [ неизвестный термин ] атрибутов и связей, например, изменения цвета волос человека или период времени, в течение которого человек был женат. В реляционной базе данных это достигается добавлением одного столбца с типом данных , достаточно гранулированным, чтобы фиксировать скорость изменений в таблице, Соответствующий историческому атрибуту или связи. Это добавляет небольшую сложность, так как более чем одна строка в таблице должна быть исследована, чтобы узнать, закрыт ли интервал или нет.
Точки или интервалы времени, непосредственно не связанные с моделируемым доменом, такие как информация о точках времени, введенная в базу данных, обрабатываются посредством использования метаданных в моделировании привязки, а не в любой из вышеупомянутых конструкций. Если необходимо сохранить информацию о таких изменениях в базе данных, можно использовать моделирование с привязкой к бидемоповым [ неизвестный термин ] якорям, где в дополнение к обновлениям удалённые операторы становятся неразрушающими.
В якорном моделировании существует взаимно-однозначное соответствие между символами, используемыми в концептуальной модели, и таблицами в реляционной базе данных. Каждый якорь, атрибут, связь и узел имеют соответствующую таблицу в базе данных с однозначно определённой структурой. Таким образом, концептуальная модель может быть переведена в схему реляционной базы данных, используя простые автоматизированные правила, и наоборот. Это отличается от многих других методов моделирования, в которых существуют сложные и иногда субъективные шаги трансляции между концептуальным, логическим и физическим уровнями.
Таблицы привязки содержат один столбец, в котором хранятся идентификационные данные. Идентичность считается единственным свойством объекта, который всегда присутствует и неизменен. Поскольку тождества редко доступны из моделируемого домена, они вместо этого технически сгенерированы, как правило из возрастающей числовой последовательности.
Примером якоря для идентификации племянников
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⟩}
Все результирующие таблицы будут находиться в шестой нормальной форме , за исключением связей, в которых не все столбцы являются частью первичного ключа.