Якорная модель
Якорное моделирование — это метод моделирования хранилища данных, подходящий для информации, которая со временем меняется как по структуре, так и по содержанию, который обеспечивает графическую нотацию, используемую для концептуального моделирования, аналогичную моделированию сущностей и отношений, с расширениями для работы с временными данными. Методика моделирования использует четыре модели моделирования: якорь, атрибут, ссылку и узел, каждая из которых отражает различные аспекты моделируемой области, затем полученные модели можно перевести в физические проекты баз данных с использованием формализованных правил таблицы в реляционной базе данных в основном будут находиться в шестой нормальной форме. Философия и историяЯкорное моделирование было создано для того, чтобы воспользоваться преимуществами высокой степени нормализации базы данных и избежать его недостатков. Получаются такие преимущества, как способность не разрушать модель, избегать пустых (то есть null) значений и не допускать избыточности информации. Проблемы производительности из-за дополнительных объединений в значительной степени устранены благодаря функции в современных механизмах баз данных, называемой «устранение таблицы». Первые хранилища данных на якорных моделях были построены в Швеции, первая из них (2004) — для страховой компании. В 2007 году методика использовалась в нескольких хранилищах данных и одной OLTP-системе, и она была представлена на международном уровне Ларсом Рёнбеком конференции TDWI (Института хранилищ данных) в Амстердаме[1]. Это вызвало интерес к технике, чтобы получить более формальное описание. С тех пор исследования, связанные с моделированием якорей, проводятся в сотрудничестве между создателями — Улле Регардтом и Ларсом Рёнбеком, а также с участием специалистов кафедры компьютерных и системных наук Стокгольмского университета. Первая работа[2], в которой дано формальное описание технологии, была представлена на 28-й Международной конференции по концептуальному моделированию[3] и получила награду за лучшую статью. Материал по якорному моделированию доступен в рамках лицензии Creative Commons. Также доступен онлайн-инструмент для моделирования, который можно использовать свободно и с открытым исходным кодом. Основные понятияМоделирование якорей включает четыре основные концепции моделирования: якоря, атрибуты, связи и узлы, которые используются для моделирования сущностей и событий, атрибуты используются для моделирования свойств якорей, связи моделируют отношения между якорями, узлы используются для моделирования общих свойств, таких как состояния. Атрибуты и отношения можно интерпретировать, когда необходимо сохранить изменения в информации, которую они моделируют. Примерная модель, показывающая различные графические символы для четырёх концепций модели, приведена ниже. Символы напоминают те, что используются в модели моделированию сущностей и связей, с несколькими расширениями[уточнить]. Двойной контур по атрибуту или привязке указывает, что сохраняется история изменений, и также доступен символ узла (обведённый квадрат с закругленными краями). Временные аспектыЯкорное моделирование управляет двумя типами информационной эволюции[уточнить], структурными изменениями и изменениями контента. Изменения в структуре информации представлены через расширения. Высокая степень нормализации данных позволяет неразрушающим образом добавлять надлежащие концепции моделирования, необходимые для фиксации изменений, таким образом, что каждая предыдущая схема базы данных всегда остаётся в виде подмножества Текущей схемы. Поскольку существующая схема не тронута, это даёт преимущество, поскольку она может развиваться в базе данных очень итеративным образом и не вызывать никаких простоев. Изменения в содержании информации осуществляются путём эмуляции аналогичных функций временной базы данных в реляционной базе данных. В моделировании с привязкой фрагменты информации могут быть привязаны к моментам времени или к промежуткам времени (как открытые, так и закрытые). Временные моменты, когда происходят события, моделируются с использованием атрибутов, например, дат рождения людей или времени покупки. Интервалы времени, в которые действительна ценность, фиксируются через историзацию[неизвестный термин] атрибутов и связей, например, изменения цвета волос человека или период времени, в течение которого человек был женат. В реляционной базе данных это достигается добавлением одного столбца с типом данных, достаточно гранулированным, чтобы фиксировать скорость изменений в таблице, Соответствующий историческому атрибуту или связи. Это добавляет небольшую сложность, так как более чем одна строка в таблице должна быть исследована, чтобы узнать, закрыт ли интервал или нет. Точки или интервалы времени, непосредственно не связанные с моделируемым доменом, такие как информация о точках времени, введенная в базу данных, обрабатываются посредством использования метаданных в моделировании привязки, а не в любой из вышеупомянутых конструкций. Если необходимо сохранить информацию о таких изменениях в базе данных, можно использовать моделирование с привязкой к бидемоповым[неизвестный термин] якорям, где в дополнение к обновлениям удалённые операторы становятся неразрушающими. Реляционное представлениеВ якорном моделировании существует взаимно-однозначное соответствие между символами, используемыми в концептуальной модели, и таблицами в реляционной базе данных. Каждый якорь, атрибут, связь и узел имеют соответствующую таблицу в базе данных с однозначно определённой структурой. Таким образом, концептуальная модель может быть переведена в схему реляционной базы данных, используя простые автоматизированные правила, и наоборот. Это отличается от многих других методов моделирования, в которых существуют сложные и иногда субъективные шаги трансляции между концептуальным, логическим и физическим уровнями. Таблицы привязки содержат один столбец, в котором хранятся идентификационные данные. Идентичность считается единственным свойством объекта, который всегда присутствует и неизменен. Поскольку тождества редко доступны из моделируемого домена, они вместо этого технически сгенерированы, как правило из возрастающей числовой последовательности. Примером якоря для идентификации племянников Donald Duck является набор из 1 кортежей: Узлы можно рассматривать как сочетание якоря и одного атрибута. Таблицы узлов содержат два столбца: один для идентификатора и один для значения. Благодаря хранению идентичностей и ценностей, узлы не могут быть истолкованы. Их полезность исходит из возможности сократить требования к памяти и повысить производительность, поскольку таблицы, ссылающиеся на узлы, могут хранить короткое значение, а не длинную строку. Пример узла для гендерных групп — это набор из двух кортежей: Таблицы статических атрибутов содержат два столбца, один для идентификатора объекта, которому принадлежит значение, и один для фактического значения свойства. В исторических таблицах атрибутов имеется дополнительный столбец для хранения начальной точки временного интервала. В узловой таблице атрибутов столбец значений — это идентификатор, который ссылается на таблицу узлов. Примером статического атрибута для их имен является набор из 2-х кортежей: Примером заузленного статического атрибута для их гендерных групп является набор из двух кортежей: Примером атрибута с историей для (изменяющихся) цветов их нарядов является набор из 3-х кортежей: Статические связующие таблицы связывают два или более якоря друг с другом и содержат две или более столбцов для хранения идентификаторов. В исторически сложившихся связующих таблицах имеется дополнительный столбец для хранения начальной точки временного интервала. Связные таблицы с узлом имеют дополнительный столбец для каждого ссылочного узла. Примером статической связи для отношения родного брата является набор из двух кортежей: Все результирующие таблицы будут находиться в шестой нормальной форме, за исключением связей, в которых не все столбцы являются частью первичного ключа. Примечания
|