From 2ef7cb02235f0de96605104506bc5142c80fed37 Mon Sep 17 00:00:00 2001 From: esoe Date: Fri, 5 Apr 2024 14:40:59 +0300 Subject: [PATCH] erd --- .../src/main/docs/erd/erd-course.puml | 40 +++++++++++++++++ .../src/main/docs/erd/erd-program.puml | 29 ++++++++++++ .../src/main/docs/erd/erd-psk.puml | 21 +++++++++ .../src/main/docs/erd/erd-student.puml | 28 ++++++++++++ .../src/main/docs/erd/erd-teacher.puml | 22 ++++++++++ .../src/main/docs/erd/erd.puml | 44 +++++++++++++++---- 6 files changed, 175 insertions(+), 9 deletions(-) create mode 100644 resource-service-api/src/main/docs/erd/erd-course.puml create mode 100644 resource-service-api/src/main/docs/erd/erd-program.puml create mode 100644 resource-service-api/src/main/docs/erd/erd-psk.puml create mode 100644 resource-service-api/src/main/docs/erd/erd-student.puml create mode 100644 resource-service-api/src/main/docs/erd/erd-teacher.puml diff --git a/resource-service-api/src/main/docs/erd/erd-course.puml b/resource-service-api/src/main/docs/erd/erd-course.puml new file mode 100644 index 0000000..7c888b1 --- /dev/null +++ b/resource-service-api/src/main/docs/erd/erd-course.puml @@ -0,0 +1,40 @@ +@startuml ERD +!define primary_key(x) <&key> x +!define foreign_key(x) <&key> x +!define column(x) <&media-record> x +!define table(x) entity x << (T, white) >> + +!include erd-program.puml +!include erd-teacher.puml + +title "Entity Relationship Diagram (ERD): course (данные о группе обученных)" +' left to right direction + +entity "Курс" as courses +entity "Объекты строительства" as building_objects + +table(courses){ + primary_key(id): SERIAL >>"Идентификатор" + column(place): VARCHAR[10] >>"Место проведения занятий" + column(start_date): DATE >>"Дата начала обучения" + column(protocol_date): DATE >>"Дата протокола" + column(protocol_number): VARCHAR[80] >>"Номер протокола" + column(report_period): VARCHAR[80] >>"Отчетный период" + foreign_key(teacher_id): VARCHAR[80] >>"Идентификатор преподавателя" + foreign_key(programm_id): INTEGER >>"Идентификатор программы обучения" + foreign_key(building_object_id): INTEGER >>"Идентификатор объекта строительства" +} + +table(building_objects){ + primary_key(id): SERIAL >>"Идентификатор" + column(name_short): VARCHAR[80] >>"Сокращенное наименование" + column(name_full): VARCHAR[80] >>"Полное наименование" + column(code_full): VARCHAR[80] >>"Код проекта" + column(code_short): VARCHAR[80] >>"Сокращенный код проекта" +} + +courses }-- building_objects +courses }-- programms +courses }-- teachers + +@enduml \ No newline at end of file diff --git a/resource-service-api/src/main/docs/erd/erd-program.puml b/resource-service-api/src/main/docs/erd/erd-program.puml new file mode 100644 index 0000000..61fc011 --- /dev/null +++ b/resource-service-api/src/main/docs/erd/erd-program.puml @@ -0,0 +1,29 @@ +@startuml ERD +!define primary_key(x) <&key> x +!define foreign_key(x) <&key> x +!define column(x) <&media-record> x +!define table(x) entity x << (T, white) >> + +title "Entity Relationship Diagram (ERD): psk (данные производственных и сервисных компаний)" +' left to right direction + +entity "Программы обучения" as programms + +table(programms){ + primary_key(id): SERIAL >>"Идентификатор" + column(name): VARCHAR[200] >>"Наименование программы" + column(lenght): TIME >>"Продолжительность программы обучения" + column(study_direction): VARCHAR[80] >>"Обязательное или производственное обучения" + column(program_price): VARCHAR[80] >>"Стоимость обучения" + foreign_key(program_cretarea_id): INTEGER >>"Идентификатор направления обучения" +} + +table(program_cretareas){ + primary_key(id): SERIAL >>"Идентификатор" + column(name): VARCHAR[200] >>"Наименование направления обучения" + column(name_short): VARCHAR[200] >>"Сокращенное наименование направления обучения" +} + +programms }-- program_cretareas + +@enduml \ No newline at end of file diff --git a/resource-service-api/src/main/docs/erd/erd-psk.puml b/resource-service-api/src/main/docs/erd/erd-psk.puml new file mode 100644 index 0000000..829c553 --- /dev/null +++ b/resource-service-api/src/main/docs/erd/erd-psk.puml @@ -0,0 +1,21 @@ +@startuml ERD +!define primary_key(x) <&key> x +!define foreign_key(x) <&key> x +!define column(x) <&media-record> x +!define table(x) entity x << (T, white) >> + +title "Entity Relationship Diagram (ERD): psk (данные производственных и сервисных компаний)" +' left to right direction + +entity "ПСК" as psk + +table(psk){ + primary_key(id): SERIAL >>"Идентификатор" + column(ownership): VARCHAR[10] >>"Форма собственности ПСК" + column(name_full): VARCHAR[120] >>"Наименование ПСК полное" + column(name_short): VARCHAR[60] >>"Наименование ПСК сокращенное" + column(type): VARCHAR[60] >>"Вид ПСК" + column(inn): VARCHAR[60] >>"ИНН ПСК" +} + +@enduml \ No newline at end of file diff --git a/resource-service-api/src/main/docs/erd/erd-student.puml b/resource-service-api/src/main/docs/erd/erd-student.puml new file mode 100644 index 0000000..001c62b --- /dev/null +++ b/resource-service-api/src/main/docs/erd/erd-student.puml @@ -0,0 +1,28 @@ +@startuml ERD +!define primary_key(x) <&key> x +!define foreign_key(x) <&key> x +!define column(x) <&media-record> x +!define table(x) entity x << (T, white) >> + +!include erd-psk.puml + +title "Entity Relationship Diagram (ERD): students (данные об обученных)" +' left to right direction + +entity "Студенты" as students + +table(students){ + primary_key(id): SERIAL >>"Идентификатор" + column(first_name): VARCHAR[80] >>"Имя обучающегося" + column(second_name): VARCHAR[80] >>"Отчество обучающегося" + column(last_name): VARCHAR[80] >>"Фамилия обучающегося" + column(profession): VARCHAR[80] >>"Профессия обучающегося" + column(category): VARCHAR[80] >>"Категория обучающегося" + column(direction): VARCHAR[80] >>"Структурное подразделение" + column(snils): VARCHAR[80] >>"СНИЛС" + foreign_key(psk_id): INTEGER >>"Данные о ПСК" +} + +psk --{ students + +@enduml \ No newline at end of file diff --git a/resource-service-api/src/main/docs/erd/erd-teacher.puml b/resource-service-api/src/main/docs/erd/erd-teacher.puml new file mode 100644 index 0000000..f84620b --- /dev/null +++ b/resource-service-api/src/main/docs/erd/erd-teacher.puml @@ -0,0 +1,22 @@ +@startuml ERD +!define primary_key(x) <&key> x +!define foreign_key(x) <&key> x +!define column(x) <&media-record> x +!define table(x) entity x << (T, white) >> + +title "Entity Relationship Diagram (ERD): teachers (данные о преподавателях)" +' left to right direction + +entity "Преподаватели" as teachers + +table(teachers){ + primary_key(id): SERIAL >>"Идентификатор" + column(first_name): VARCHAR[80] >>"Имя" + column(second_name): VARCHAR[80] >>"Отчество" + column(last_name): VARCHAR[80] >>"Фамилия" + column(tabel_number): INTEGER >>"Табельный номер" + column(snils): VARCHAR[80] >>"СНИЛС" +} + + +@enduml \ No newline at end of file diff --git a/resource-service-api/src/main/docs/erd/erd.puml b/resource-service-api/src/main/docs/erd/erd.puml index 6b6d88b..d970459 100644 --- a/resource-service-api/src/main/docs/erd/erd.puml +++ b/resource-service-api/src/main/docs/erd/erd.puml @@ -4,20 +4,46 @@ !define column(x) <&media-record> x !define table(x) entity x << (T, white) >> +!include erd-course.puml +!include erd-student.puml + title "Entity Relationship Diagram (ERD): education-records (учет обучений)" ' left to right direction +' Исходные документы entity "Реестр обученных" as repository -entity "Заявка на обучение" as task -entity "Списочный состав" as list - -' Списочный состав обученных -table(list){} - -' Заявка на обучение -table(task){} ' Реестр обученных -table(repository){} +table(repository){ + primary_key(id): LONGSERIAL >>"Идентификатор" + ' column(psk_type): VARCHAR[40] >>"Вид ПСК" + ' column(psk_name): VARCHAR[40] >>"Наименование ПСК" + ' column(direction): VARCHAR[80] >>"Структурное подразделение" + ' column(student_name): VARCHAR[80] >>"ФИО обучающегося" + ' column(student_profession): VARCHAR[80] >>"Профессия обучающегося" + ' column(psk_place): VARCHAR[80] >>"Место проведения занятий" + ' column(edu_program): VARCHAR[80] >>"Программа обучения" + ' column(edu_start_date): DATE >>"Дата начала обучения" + ' column(edu_program_lenght): VARCHAR[80] >>"Продолжительность программы обучения" + ' column(edu_protocol_date): DATE >>"Дата протокола" + ' column(student_category): VARCHAR[80] >>"Категория обучающегося" + ' column(study_direction): VARCHAR[80] >>"Направление обучения" + ' column(program_cretarea): VARCHAR[80] >>"Критерий программы обучения" + ' column(protocol_number): VARCHAR[80] >>"Номер протокола" + column(certificate_number): VARCHAR[80] >>"Номер удостоверения" + column(frdo_number): VARCHAR[80] >>"Номер по ФРДО" + column(eisot_number): VARCHAR[80] >>"Номер по ЕИСОТ" + ' column(program_price): VARCHAR[80] >>"Стоимость обучения" + column(ones): INTEGER >>"Единички" + ' column(report_period): VARCHAR[80] >>"Отчетный период" + ' column(teacher): VARCHAR[80] >>"Преподаватель" + ' column(building_object): VARCHAR[80] >>"Оъект строительства" + ' foreign_key(psk_id): INTEGER >>"Данные о ПСК" + foreign_key(courses_id): INTEGER >>"Данные о Курсе" + foreign_key(student_id): INTEGER >>"Данные о студенте" +} + +courses }-- repository +students }-- repository @enduml \ No newline at end of file