Инструменты пользователя

Инструменты сайта


orientdb:31:create_view

SQL - CREATE VIEW

Создает новое представление в схеме.

Синтаксис:

CREATE VIEW <viewName> 
FROM (<query>) 
[ 
   METADATA {
     [updateIntervalSeconds: <number> ],
     [watchClasses: ["className1", "classNameN"] ] 
     [nodes: ["nodeName1", "nodeNameN"] ],
     [indexes: [
        {
           TYPE:"indexType", 
           [engine:"indexEngineName"], 
           properties: {propertyName1:"propertyType1", propertyNameN:"propertyTypeN"}
        }*
      ]
     ]
     [
        updatable: (TRUE | FALSE), 
        originRidField: "fieldName"
     ],
 
 
   } 
]
  • <viewName>: Определяет имя представления, которое вы хотите создать. Вы должны использовать для первого символа букву, подчеркивание или доллар, для всех остальных символов вы можете использовать буквы, цифры, подчеркивания и доллар.
  • <query>: SQL-запрос, результаты которого будут сохранены как содержимое представления.
  • updateIntervalSeconds: по умолчанию содержимое представления обновляется через фиксированные интервалы, повторно выполняя запрос. Вы можете изменить этот интервал, установив этот параметр.
  • watchClasses: по умолчанию представление обновляется с фиксированными интервалами, независимо от того, изменились ли исходные данные или нет. Установив watchClasses, вы даете OrientDB некоторую информацию, чтобы избежать обновления представления, когда в этом нет необходимости: если вы установите этот параметр, представление будет обновляться только при вставке / обновлении / удалении одной или нескольких записей в наблюдаемых классах. в противном случае представление не обновляется.
  • nodes: в распределенной конфигурации, по умолчанию представление развернуто на всех узлах. Устанавливая атрибуты узлов, вы можете указать, в каких узлах вы хотите, чтобы представление было заполнено (в других узлах представление все еще будет присутствовать, но оно будет пустым).
  • indexes: Вы можете определить один или несколько индексов в представлении, они будут использоваться для оптимизации запросов. type это тип индекса. «NOTUNIQUE» или «FULLTEXT»; engine (необязательно) - это индексный движок, который будет использоваться (например, «LUCENE»); properties - это набор свойств (имя: тип, например, surname: «STRING»), которые будут проиндексированы. Также они должны быть указаны в том же порядке, в котором вы хотите, чтобы они отображались в индексе.
  • updatable и originRidField: По умолчанию, представление является объектом только для чтения, а это означает, что вы не можете вручную изменить его содержимое напрямую. Вы можете настроить представление так, чтобы оно было обновляемым, чтобы вы могли изменять его содержимое вручную (обновлять записи), и эти изменения будут отражаются на исходных записях. originRidField - это поле в представлении, которое будет содержать RID документа, который является источником отдельной записи в представлении. Обновляемые представления не могут быть созданы из совокупных запросов.

Примеры

  • создайте представление Manager : предположим, что у вас есть класс Employee с логическим свойством isManager, которое определяет, является ли сотрудник руководителем или нет
CREATE VIEW Manager FROM (SELECT FROM Employee WHERE isManager = TRUE)
  • создайте представление, которое будет обновляется только каждые два часа
CREATE VIEW Manager 
FROM (
      SELECT FROM Employee 
      WHERE isManager = TRUE
     ) 
METADATA {updateIntervalSeconds:2*60*60}
  • создайте представление с индексацией
CREATE VIEW Manager 
FROM (SELECT name, surname FROM Employee WHERE isManager = TRUE) 
METADATA {
  indexes: [
    {TYPE:"NOTUNIQUE", properties:{name:"STRING", surname:"STRING"}}
  ]
}
orientdb/31/create_view.txt · Последнее изменение: 2020/04/24 19:45 — admin