Перечень статей   Цветовые обозначения   Choose language


Гиперкуб из базы данных

Существует типичная операция просмотра таблицы базы данных как гиперкуба: одна колонка содержит значение в узле многомерного куба, остальные колонки - указывают многомерные координаты (меньшее количество отсчетов координат демонстрируется в браузере, большее количество отсчетов все еще не запрошено с базы данных). Пример такого гиперкуба изображен ниже, где "h" и "H" - заголовки измерений (например, "покупатель", "товар", "город" и т.д.), "v" и "V" - отсчеты многомерных координат (имена покупателей, названия товаров, названия городов), "a" - значение в узле многомерного куба.

-----------------------------------------------------
|           | H |         V         |       V       |
|           -----------------------------------------
|           | H |   V   |     V     |   V   |   V   |
|           -----------------------------------------
|           | H | V | V | V | V | V | V | V | V | V |
-----------------------------------------------------
| h | h | h |
-------------   -------------------------------------
|   |   | v |   | a | a | a | a | a | a | a | a | a |
|   |   |---|   |-----------------------------------|
|   | v | v |   | a | a | a | a | a | a | a | a | a |
|   |   |---|   |-----------------------------------|
| v |   | v |   | a | a | a | a | a | a | a | a | a |
|   |---|---|   |-----------------------------------|
|   |   | v |   | a | a | a | a | a | a | a | a | a |
|   | v |---|   |-----------------------------------|
|   |   | v |   | a | a | a | a | a | a | a | a | a |
|---|---|---|   |-----------------------------------|
|   |   | v |   | a | a | a | a | a | a | a | a | a |
|   |   |---|   |-----------------------------------|
|   |   | v |   | a | a | a | a | a | a | a | a | a |
|   | v |---|   |-----------------------------------|
|   |   | v |   | a | a | a | a | a | a | a | a | a |
|   |   |---|   |-----------------------------------|
|   |   | v |   | a | a | a | a | a | a | a | a | a |
|   |---|---|   |-----------------------------------|
| v |   | v |   | a | a | a | a | a | a | a | a | a |
|   |   |---|   |-----------------------------------|
|   | v | v |   | a | a | a | a | a | a | a | a | a |
|   |   |---|   |-----------------------------------|
|   |   | v |   | a | a | a | a | a | a | a | a | a |
|   |---|---|   |-----------------------------------|
|   |   | v |   | a | a | a | a | a | a | a | a | a |
|   | v |---|   |-----------------------------------|
|   |   | v |   | a | a | a | a | a | a | a | a | a |
-------------   -------------------------------------
Введем html-элемент dialogue, демонстрирующий записи таблицы базы данных в виде гиперкуба (чтобы таблица базы данных демонстрировалась именно в таком виде, а не в виде таблицы или дерева, свойство type должно быть равно cube). В атрибуте roll укажем название таблицы базы данных

<dialogue roll="A"/>

dialogue {
  type: cube;
}
или SQL-запрос
<dialogue roll="select * from A where a15=100"/>

dialogue {
  type: cube;
}
а в свойствах
dialogue {
  thead1: §a3;
  thead2: §a4;
  thead3: §a9;
  tside1: §a3;
  tside2: §a2;
  tside3: §a5;
  tbody:  §a7;
}
а также

Связь с базой данных будет происходить по отдельному TCP-порту по протоколу SQL5. Когда браузер встречает этот html-элемент в процессе загрузки документа, он: Примечание: поле представления (view) A ссылается на ту же самую колонку некой таблицы C, на которую ссылается поля таблицы B, вошедшее в представление.

Отображаемые значения демонстрируются так:

P.S.

dialogue с любым значением свойства type (равным record, tree, или cube) может быть главным html-элементом для dialogue также с любым значением свойства type. Сам html-документ, запросы от всех dialogue, содержащихся в нем, ответы на запросы идут последовательно по одному и тому же TCP-соединению (ответы разделены друг от друга и от html-документа баментом <?new/?>, ответы приходят после окончания получения html-документа).



Тюрин Дмитрий



Перечень статей   Цветовые обозначения   Choose language