Entities/Relations

Sergey ShishkinSergey Shishkin
2 min read

ER-модель (Реляционная модель данных *, Отношение - реляционная модель, ORM) … См. Relation.

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

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

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

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

Предопределенные классы отношений включают:

Scalar relations like

  • +Symbol символические данные

  • +String строка (просто общий случай символов)

  • +Number число (целое и с фиксированной точкой)

  • +Date значения календарных дат, представленные с помощью числа

  • +Time значения даты-времени, представленные с помощью числа

  • +Blob "большие бинарные объекты" хронящиеся в отдельных файлах

  • +Bool T или NIL

Object-to-object relations

  • +Link ссылка на некоторую другую сущность

  • +Hook ссылка на сущность, содуржащую деревья индексов локального объекта

  • +Joint двунаправленная ссылка на какую-то другую сущность

Container prefix classes like

  • +List список лбых других примитивов (примитивных типов) или типов объектных отношений

  • +Bag список, содержащий смесь разных типов

Index prefix classes

  • +Ref индекс с другими примитивами или сущностями как ключами

  • +Key уникальный индекс с другими примитивами или сущностями как ключами

  • +Idx полный текстовый индекс, типичный для строк

  • +Fold свернутый текстовый индекс

  • +IdxFold свернутый подстрочный индекс

  • +Sn толерантный индекс, использующий модифицированный Soundex-Algorithm

And a catch-all class

  • +Any не специфицируемое, то есть можеть быть любым из вышеуказанных

https://picolisp.tiddlyhost.com/#Entities%2FRelations

0
Subscribe to my newsletter

Read articles from Sergey Shishkin directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Sergey Shishkin
Sergey Shishkin

Всегда чему-то учусь!