Skip to content

Commit

Permalink
added scheme puml
Browse files Browse the repository at this point in the history
  • Loading branch information
denisushakov committed Dec 27, 2024
1 parent 4fb684b commit ea9a45a
Show file tree
Hide file tree
Showing 3 changed files with 342 additions and 1 deletion.
Binary file not shown.
341 changes: 341 additions & 0 deletions docs/puml/ОбъектнаяМодельСхемаЗапроса.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,341 @@
@startuml queryScheme

skinparam class {
BackgroundColor LightYellow
}

left to right direction
title Схемы запросов

class СхемаЗапроса #line.bold {
*ПакетЗапросов
}

enum ПакетЗапросовСхемыЗапроса #line.bold {
}

class ЗапросУничтоженияТаблицыСхемыЗапроса #line.bold {
*ИмяТаблицы : СТРОКА
}

class ЗапросВыбораСхемыЗапроса #line.bold {
*Автопорядок : БУЛЕВО
--
*ВыбиратьРазрешенные : БУЛЕВО
--
*ВыраженияИтогов
--
*ДоступныеТаблицы
--
*Индекс
--
*Колонки
--
*КонтрольныеТочкиИтогов
--
*ОбщиеИтоги : БУЛЕВО
--
*Операторы
--
*Порядок
--
*ТаблицыДляПомещения : СТРОКА
}

class ВыраженияИтогов #line.bold {
*ВыражениеИтога
}

class ВыражениеИтога #line.bold {
*Выражение : ВЫРАЖЕНИЕ
--
*Поле
}

enum ДоступныеТаблицы #line.bold {
}

class ДоступнаяТаблица #line.bold {
*Тип : СТРОКА
--
*Параметры
--
*Поля
}

class ГруппаДоступныхТаблиц #line.bold {
*Представление : СТРОКА
--
*Состав
}

enum Параметры #line.bold {
}

class ПараметрДоступнойТаблицы #line.bold {
*Варианты : ФИКСИРОВАННЫЙМАССИВ
--
*ДоступныеПоля
--
*Имя : СТРОКА
--
*ТипЗначения : ОПИСАНИЕТИПОВ
--
*ТипПараметра
}

abstract ТипПараметраДоступнойТаблицы #line.bold {
*Вариант
--
*Значение
--
*Массив
--
*Порядок
--
*СписокПолей
--
*Условие
}

enum ДоступныеПоля #line.bold {
}

class ДоступноеПоле #line.bold {
*Имя : СТРОКА
--
*Поля
--
*Роль
--
*ТипЗначения : ОПИСАНИЕТИПОВ
}

class РольПоля #line.bold {
*Измерение : БУЛЕВО
--
*Ресурс : БУЛЕВО
}

class ДоступнаяВложеннаяТаблица #line.bold {
*Имя : СТРОКА
--
*Поля
}

enum ВыраженияИндекса #line.bold {
*ВыражениеИндекса
}

class ВыражениеИндекса #line.bold {
*Выражение : ВЫРАЖЕНИЕ
}

enum Колонки #line.bold {
}

class КолонкаВложеннаяТаблица #line.bold {
*Колонки
--
*Поля
--
*Псевдоним : СТРОКА
}

class Колонка #line.bold {
*Поля
--
*Псевдоним : СТРОКА
--
*ТипЗначения : ОПИСАНИЕТИПОВ
}

enum ПоляКолонки #line.bold {
}

enum КонтрольныеТочкиИтогов #line.bold {
}

class КонтрольнаяТочкаИтогов #line.bold {
*Выражение : ВЫРАЖЕНИЕ
--
*ИмяКолонки : СТРОКА
--
*КонецПериодаДополнения : СТРОКА
--
*НачалоПериодаДополнения : СТРОКА
--
*ТипДополненияПериодами : ТИПДОПОЛНЕНИЯПЕРИОДАМИ
--
*ТипКонтрольнойТочки : ТИПКОНТРОЛЬНОЙТОЧКИ
}

enum ВыраженияПорядка #line.bold {
}

class ВыражениеПорядка #line.bold {
*Направление : НАПРАВЛЕНИЕПОРЯДКА
}

enum Операторы #line.bold {
}

class ОператорВыбрать #line.bold {
*ВыбираемыеПоля
--
*ВыбиратьДляИзменения : БУЛЕВО
--
*ВыбиратьРазличные : БУЛЕВО
--
*Группировка
--
*Источники
--
*КоличествоПолучаемыхЗаписей : ЧИСЛО
--
*Отбор
--
*ТаблицыДляИзменения
--
*ТипОбъединения : ТИПОБЪЕДИНЕНИЯ
}

enum Поля #line.bold {
}

class ВложеннаяТаблица #line.bold {
*Имя : СТРОКА
--
*Поля
}

enum Источники #line.bold {
}

class Источник #line.bold {
*Источник
--
*Соединения
}

class ВложенныйЗапрос #line.bold {
*ДоступныеПоля
--
*Запрос
--
*Псевдоним : СТРОКА
}

class ОписаниеВременнойТаблицы #line.bold {
*ДоступныеПоля
--
*Псевдоним : СТРОКА
}

class Таблица #line.bold {
*ДоступныеПоля
--
*ИмяТаблицы : СТРОКА
--
*Параметры
--
*Псевдоним : СТРОКА
}

enum ПараметрыТаблицы #line.bold {
}

class ПараметрТаблицы #line.bold {
*Выражение : ВЫРАЖЕНИЕ
}

enum Выражения #line.bold {
}

enum ТаблицыДляИзменения #line.bold {
}

class ТаблицаДляИзменения #line.bold {
*ИмяТаблицы : СТРОКА
}

СхемаЗапроса <- ПакетЗапросовСхемыЗапроса
ЗапросВыбораСхемыЗапроса -left-> ПакетЗапросовСхемыЗапроса
ПакетЗапросовСхемыЗапроса <- ЗапросУничтоженияТаблицыСхемыЗапроса

ДоступнаяТаблица -up-> ДоступныеТаблицы

ГруппаДоступныхТаблиц -up-> ДоступныеТаблицы
ДоступныеТаблицы --> ГруппаДоступныхТаблиц::Состав

КолонкаВложеннаяТаблица -up-> Колонки
Колонки -right-> КолонкаВложеннаяТаблица::Колонки

Колонка -up-> Колонки

Колонка -up-> ВыражениеИтога::Поле

ПоляКолонки -up-> Колонка::Поля
ПоляКолонки -right-> КолонкаВложеннаяТаблица::Поля

ДоступнаяТаблица::Параметры <-- Параметры
ДоступнаяТаблица::Поля <-- ДоступныеПоля

ПараметрДоступнойТаблицы -up-> Параметры
ДоступныеПоля --> ПараметрДоступнойТаблицы::Поля
ТипПараметраДоступнойТаблицы -up-> ПараметрДоступнойТаблицы::ТипПараметра

КонтрольнаяТочкаИтогов -up-> КонтрольныеТочкиИтогов

ВыражениеИндекса -up-> ВыраженияИндекса::ВыражениеИндекса

ВыражениеИтога -up-> ВыраженияИтогов::ВыражениеИтога

ЗапросВыбораСхемыЗапроса::ВыраженияИтогов <-- ВыраженияИтогов
ЗапросВыбораСхемыЗапроса::ДоступныеТаблицы <-- ДоступныеТаблицы
ЗапросВыбораСхемыЗапроса::Индекс <-- ВыраженияИндекса
ЗапросВыбораСхемыЗапроса::Колонки <-- Колонки
ЗапросВыбораСхемыЗапроса::КонтрольныеТочкиИтогов <-- КонтрольныеТочкиИтогов

ЗапросВыбораСхемыЗапроса::Операторы <-- Операторы
ОператорВыбрать -up-> Операторы

Поля -up-> ОператорВыбрать::ВыбираемыеПоля
ВложеннаяТаблица -up-> Поля
Выражения -up-> ВложеннаяТаблица::Поля
ВложеннаяТаблица -up-> ПоляКолонки

Выражения -up-> ОператорВыбрать::Группировка

Источники -up-> ОператорВыбрать::Источники
Источник -up-> Источники

Выражения -up-> ОператорВыбрать::Отбор
ТаблицыДляИзменения -up-> ОператорВыбрать::ТаблицыДляИзменения
ТаблицаДляИзменения -up-> ТаблицыДляИзменения

ЗапросВыбораСхемыЗапроса::Порядок <-- ВыраженияПорядка
ВыражениеПорядка -up-> ВыраженияПорядка

ЗапросВыбораСхемыЗапроса::Операторы --> ВложенныйЗапрос::Запрос
ДоступныеПоля -up-> ВложенныйЗапрос::ДоступныеПоля
ВложенныйЗапрос -up-> Источник::Источник

ОписаниеВременнойТаблицы -up-> Источник::Источник
ДоступныеПоля -up-> ОписаниеВременнойТаблицы::ДоступныеПоля

Таблица -up-> Источник::Источник
ДоступныеПоля -up-> Таблица::ДоступныеПоля
ПараметрыТаблицы -up-> Таблица::Параметры

ПараметрТаблицы -up-> ПараметрыТаблицы

ДоступноеПоле -up-> ДоступныеПоля
ДоступнаяВложеннаяТаблица -up-> ДоступныеПоля

ДоступныеПоля --> ДоступноеПоле::Поля
ДоступныеПоля --> ДоступнаяВложеннаяТаблица::Поля

РольПоля -up-> ДоступноеПоле::Роль

@enduml
2 changes: 1 addition & 1 deletion docs/СхемыЗапросов.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
- Улучшить читаемость и поддержку кода.
- Минимизировать вероятность ошибок, связанных с изменением текстов запросов.

![Объектная модель схемы запроса](./images/ОбъектнаяМодельСхемаЗапроса.png)
![Объектная модель схемы запроса](./puml/ОбъектнаяМодельСхемаЗапроса.puml)

## Требования для работы со схемой запросов

Expand Down

0 comments on commit ea9a45a

Please sign in to comment.