Войти

Моя школа. Проверки качества данных

Дата актуализации: 07.11.2024.

Таблица address

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 В случае заполнения поле use_address должно содержать одно из целочисленных значений от 1 до 5
 ADDRESS_USE_ADDRESS_INVALID_VALUEselect tb1."id"
from datamart.address as tb1
where tb1.use_address is not null and tb1.use_address not in (1, 2, 3, 4, 5)
 CHECK2 Поле type_address должно содержать одно из целочисленных значений от 1 до 5 ADDRESS_TYPE_ADDRESS_INVALID_VALUEselect tb1."id"
from datamart.address as tb1
where tb1.type_address not in (1, 2, 3, 4, 5)
 CHECK3 Поле text должно соответствовать следующим условиям:
  • Для написания используется кириллица;
  • Допускается наличие точки, запятой, пробела, а также специальных символов обратная косая черта:
    • (
    • )
    • -
    • /
  • Длинна строки от 25 до 160 символов;
  • Допускается наличие цифр от 0 до 9;
  • Не должно начинаться и заканчиваться пробелом.

 ADDRESS_TEXT_INVALID_FORMATПример запроса

Таблица applications

  проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле type_code должно содержать одно из допустимых значений:
    • personally;
    • representative;
    • post;
    • email;
    • courier;
    • rpgu;
    • phone;
    • epgu.
 APPLICATION_TYPE_CODE_INVALID_VALUEselect tb1."id" as "applications_id"
from datamart.applications as tb1
where tb1.type_code not in ( 'personally', 'representative', 'post', 'email', 'courier', 'rpgu', 'phone', 'epgu');
 CHECK2 Поле type_code должно содержать одно из целочисленных значений от 1 до 8 APPLICATION_TYPE_VALUE_INVALIDselect tb1."id" as "applications_id"
from datamart.applications as tb1
where tb1.type_value not in (1, 2, 3, 4, 5, 6, 7, 8)
 CHECK3 Поле code не должно содержать пробел, допустимая длина не менее 1 символа APPLICATION_CODE_INVALID_FORMATПример запроса
 CHECK4 Поле name должно соответствовать следующим условиям: APPLICATION_NAME_INVALID_FORMATПример запроса
 CHECK5 Поле firstname должно соответствовать следующим условиям:
  • В написании используется кириллица (А-я, Ёё)
  • Длина основного слова должна быть от 1 до 27 символов
  • Допускается наличие от 1 до 4 дополнительных слов, которые могут быть разделены пробелом, точкой, дефисом или апострофом ('). Каждое дополнительное слово должно состоять из 2 до 27 символов
  • Допускается наличие римских цифр от I до X (например, для указания поколения), но только в самом конце строки
  • Не допускаются "висячие" пробелы в начале и конце строки, а также двойные пробелы внутри строки
 APPLICATION_FIRSTNAME_INVALID_FORMATПример запроса
 CHECK6 Поле lastname должно соответствовать следующим условиям:
  • В написании используется кириллица (А-я, Ёё)
  • Длина основного слова должна быть от 1 до 27 символов
  • Допускается наличие от 1 до 4 дополнительных слов, которые могут быть разделены пробелом, точкой, дефисом или апострофом ('). Каждое дополнительное слово должно состоять из 2 до 27 символов
  • Допускается наличие римских цифр от I до X (например, для указания поколения), но только в самом конце строки
  • Не допускаются "висячие" пробелы в начале и конце строки, а также двойные пробелы внутри строки
 APPLICATION_LASTNAME_INVALID_FORMATПример запроса
 CHECK7 Если поле patronymic должно соответствовать следующим условиям:
  • В написании используется кириллица (А-я, Ёё)
  • Длина основного слова должна быть от 1 до 27 символов
  • Допускается наличие от 1 до 4 дополнительных слов, которые могут быть разделены пробелом, точкой, дефисом или апострофом ('). Каждое дополнительное слово должно состоять из 2 до 27 символов
  • Допускается наличие римских цифр от I до X (например, для указания поколения), но только в самом конце строки
  • Не допускаются "висячие" пробелы в начале и конце строки, а также двойные пробелы внутри строки
 APPLICATION_PATRONYMIC_INVALID_FORMATПример запроса

 Таблица application_status 

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле code должно содержать одно из допустимых значений:
    • 1
    • 3
    • 4
    • 6
    • 7
    • 9
    • 10
    • 11
    • 14
    • 15
    • 25
 APPLICATION_STATUS_CODE_INVALID_VALUEselect tb1."id"from datamart.application_status as tb1
where tb1.code not in ('1','3','4','6','7','14','15','25','9','10','11')

 Таблица adaptation

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле code должно содержать одно из допустимых значений:
    • 1
    • 12
    • 14
    • 2
    • 22
    • 24
    • 3
    • 32
    • 4
    • 42
    • 5
    • 52
    • 6
    • 61
    • 7
    • 72
 select tb1."id" as "id"
from datamart.adaptation as tb1 
where tb1.code not in (1, 12, 14, 2, 22, 24, 3, 32, 4, 42, 5, 52, 6, 61, 7, 72)

Таблица change_details

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле type_change должно содержать значения от 1 до 8 select tb1."id" as "change_details_id"from datamart.change_details as tb1 where tb1.type_change not in (1, 2, 3, 4, 5, 6, 7, 8)

Таблица changes_event_school

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле type_event должно содержать одно из целочисленных значений от 1 до 22 EVENT_SCHOOL_TYPE_EVENT_INVALID_VALUEselect tb1."id"
from datamart.changes_event_school as tb1 
where tb1.type_event not in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)

Таблица changes_event_student

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле type_event должно содержать одно из целочисленных значений от 1 до 18 EVENT_STUDENT_TYPE_EVENT_INVALID_VALUEselect tb1."id" as "changes_event_student_id"
from datamart.changes_event_student as tb1
where tb1.type_event not in ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 )
 CHECK2 В случае заполнения поле reason должно содержать одно из целочисленных значений от 1 до 9, а также 90 или 99 EVENT_STUDENT_REASON_INVALID_VALUEselect tb1."id" as "changes_event_student_id"from datamart.changes_event_student as tb1
where tb1.reason is not null and tb1.reason not in (1, 2, 3, 4, 5, 6, 7, 8, 9, 90, 99)
 CHECK3 В случае заполнения поле doc_type должно содержать одно из допустимых значений:
    • 10
    • 20
    • 30
    • 40
    • 50
 EVENT_STUDENT_DOC_TYPE_INVALID_VALUEselect tb1."id" as "changes_event_student_id"
from datamart.changes_event_student as tb1
where tb1.doc_type is not null and tb1.doc_type not in (10, 20, 30, 40, 50)

Таблица changes_event_teacher

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле type_event должно содержать одно из целочисленных значений от 1 до 21 EVENT_TEACHER_TYPE_EVENT_INVALID_VALUEselect tb1."id"
from datamart.changes_event_teacher as tb1
where tb1.type_event not in ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 )
 CHECK2В случае заполнения поле reason должно содержать одно из целочисленных значений от 1 до 42, а также 90 или 99
 EVENT_TEACHER_REASON_INVALID_VALUEselect tb1."id"
from datamart.changes_event_teacher as tb1 
where tb1.reason is not null and tb1.reason not in ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 90, 99 ) 
 CHECK3 В случае заполнения поле doc_type должно содержать одно из допустимых значений:
    • 10
    • 20
    • 30
    • 40
    • 50
 EVENT_TEACHER_DOC_TYPE_INVALID_VALUEselect tb1."id"
from datamart.changes_event_teacher as tb1 
where tb1.doc_type is not null and tb1.doc_type not in (10, 20, 30, 40, 50

Таблица classes_periods

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле school_name не должно содержать пробел, допустимая длина не менее 2 символов STUDENT_CP_SCHOOL_NAME_INVALID_FORMATПример запроса
 CHECK2 Поле class_num должно содержать целочисленное значение не больше 12 STUDENT_CP_CLASS_NUM_GRATER_THAN_TWELVE
SELECT tb1."period_id", tb1."class_id", tb1."student_id"
from datamart.classes_periods as tb1
where tb1.class_num > 12
 CHECK3Разница значения года поля period_start_date со значением поля class_year_from должна быть равна 0 или 1
 STUDENT_CP_START_DATE_CLASS_YEAR_DIFFERENCE_INVALIDSELECT tb1."period_id", tb1."class_id", tb1."student_id"
from datamart.classes_periods as tb1
where (CAST(EXTRACT( YEAR FROM tb1.period_start_date ) AS INT) - tb1.class_year_from) not in (0, 1)
 CHECK4Разница значения года поля period_end_date со значением поля class_year_from должна быть равна 0 или 1
 STUDENT_CP_END_DATE_CLASS_YEAR_DIFFERENCE_INVALIDSELECT tb1."period_id", tb1."class_id", tb1."student_id"
from datamart.classes_periods as tb1
where (CAST(EXTRACT( YEAR FROM tb1.period_end_date ) AS INT) - tb1.class_year_from) not in (0, 1)
 CHECK5 Поле period_type_code должно содержать одно из допустимых значений:
    • quarter
    • modul
    • trimester
    • halfyear
 STUDENT_CP_PERIOD_TYPE_CODE_INVALID_VALUESELECT tb1."period_id", tb1."class_id", tb1."student_id"
from datamart.classes_periods as tb1
where tb1.period_type_code not in ('quarter', 'modul', 'trimester', 'halfyear')
 CHECK6  Поле period_type_value должно содержать одно из допустимых значений:
    • 1
    • 2
    • 3
    • 4
 STUDENT_CP_PERIOD_TYPE_VALUE_INVALIDSELECT tb1."period_id", tb1."class_id", tb1."student_id"
from datamart.classes_periods as tb1
where tb1.period_type_value not in (1, 2, 3, 4)
 CHECK7 Поле diary_url не должно заканчиваться символом / STUDENT_CP_DIARY_URL_STARTS_WITH_SLASHSELECT tb1."period_id", tb1."class_id", tb1."student_id"
from datamart.classes_periods as tb1
where tb1.diary_url like '%/'
 CHECK8 Разница значения года поля class_start_date со значением поля class_year_from должна быть равна 0 или 1 STUDENT_CP_CLASS_START_YEAR_DIFFERENCE_INVALIDSELECT tb1."period_id", tb1."class_id", tb1."student_id"
from datamart.classes_periods as tb1
where (CAST(EXTRACT(YEAR FROM class_start_date) AS INT) - tb1.class_year_from) NOT IN (0, 1)
 CHECK9 Поле subjects_count должно содержать целочисленное значение от 1 и более STUDENT_CP_SUBJECT_COUNT_LESS_THAN_ZEROSELECT tb1."period_id", tb1."class_id", tb1."student_id"
from datamart.classes_periods as tb1
where tb1.subjects_count <= 0
 CHECK10 Поле attendance должно содержать одно из допустимых значений:
    • resident
    • part-time
    • extramural
    • family
    • self-education
    • no_data
 STUDENT_CP_ATTENDANCE_INVALID_VALUESELECT tb1."period_id", tb1."class_id", tb1."student_id"
from datamart.classes_periods as tb1
where tb1.attendance not in ('resident', 'part-time', 'extramural', 'family', 'self-education', 'no_data')
 CHECK11 В случае заполнения поле edu_program_name должно содержать одно из допустимых значений:
    • elementary
    • basic
    • secondary
    • additional
 STUDENT_CP_PROGRAM_NAME_INVALID_VALUESELECT tb1."period_id", tb1."class_id", tb1."student_id"
from datamart.classes_periods as tb1
where (tb1.edu_program_name is not NULL and tb1.edu_program_name not in ('elementary', 'basic', 'secondary', 'additional'))
 CHECK12 Поле timezone должно быть заполнено в формате +ЧЧ:ММ или -ЧЧ:ММ STUDENT_CP_TIMEZONE_INVLID_FORMATПример запроса
 CHECK13 Поле class_num должно содержать целочисленное значение не меньше 1 STUDENT_CP_CLASS_NUM_LESS_THAN_ONE SELECT tb1."period_id", tb1."class_id", tb1."student_id"
from datamart.classes_periods as tb1
where tb1.class_num < 1

Таблица colleges

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле full_name не должно содержать пробел, допустимая длина не менее 2 символов Пример запроса
 CHECK2 Поле short_name не должно содержать пробел, допустимая длина не менее 2 символов Пример запроса
 CHECK3 Поле timezone должно быть заполнено в формате +ЧЧ:ММ или -ЧЧ:ММ Пример запроса
 CHECK4 Поле type_code должно содержать одно из допустимых значений:
    • main_edu
    • common_edu
    • higher_edu
    • spo_edu
 SELECT tb1."id" 
from datamart.colleges as tb1
where tb1.type_code not in ( 'main_edu', 'common_edu', 'higher_edu', 'spo_edu' )
 CHECK5 Поле type_value должно содержать одно из целочисленных значений от 1 до 4 SELECT tb1."id" 
from datamart.colleges as tb1
where tb1.type_value is not NULL and tb1.type_value not in (1, 2, 3, 4)
 CHECK6 Поле status_code должно содержать одно из допустимых значений:
    • active
    • cancelled
    • entered-in-error
 SELECT tb1."id" 
from datamart.colleges as tb1
where tb1.status_code not in ('active', 'cancelled', 'entered-in-error')
 CHECK7 Поле status_value должно содержать одно из целочисленных значений от 1 до 3 SELECT tb1."id" 
from datamart.colleges as tb1
where tb1.status_value not in (1, 2, 3)

Таблица commonplanmarks

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле class_num должно содержать целочисленное значение не меньше 1 STUDENT_CPM_CLASS_NUM_LESS_THAN_ONESELECT tb1."period_id" as "commonplanmarks_id", tb1."student_id" as "commonplanmarks_student_id"
from datamart.commonplanmarks as tb1
where tb1.class_num < 1
 CHECK2 Поле class_num должно содержать целочисленное значение не больше 12 STUDENT_CPM_CLASS_NUM_GRATER_THAN_TWELVESELECT tb1."period_id" as "commonplanmarks_id", tb1."student_id" as "commonplanmarks_student_id"
from datamart.commonplanmarks as tb1
where tb1.class_num > 12
 CHECK3 Поле class_year_from должно содержать целочисленное значение не меньше 2010 STUDENT_CPM_CLASS_YEAR_LESS_THAN_LOWER_LIMITSELECT tb1."period_id" as "commonplanmarks_id", tb1."student_id" as "commonplanmarks_student_id"
from datamart.commonplanmarks as tb1
where tb1.class_year_from < 2010
 CHECK4 Поле class_year_from должно содержать целочисленное значение не больше 2030 STUDENT_CPM_CLASS_YEAR_GREATER_THAN_UPPER_LIMITSELECT tb1."period_id" as "commonplanmarks_id", tb1."student_id" as "commonplanmarks_student_id"
from datamart.commonplanmarks as tb1
where tb1.class_year_from > 2030
 CHECK5 Поле mark_scale_code должно содержать одно из допустимых значений:
    • 5-points
    • 10-points
    • 100-points
    • rating
    • pass/fail
    • nomarks
    • 7-points
    • 12-points
 STUDENT_CPM_MARK_SCALE_CODE_INVALID_VALUESELECT tb1."period_id" as "commonplanmarks_id", tb1."student_id" as "commonplanmarks_student_id"
from datamart.commonplanmarks as tb1
where tb1.mark_scale_code not in ('5-points', '10-points', '100-points', 'rating', 'pass/fail', 'nomarks', '7-points', '12-points')
 CHECK6 Поле mark_scale_value должно содержать одно из целочисленных значений от 1 до 8 STUDENT_CPM_MARK_SCALE_VALUE_INVALIDSELECT tb1."period_id" as "commonplanmarks_id", tb1."student_id" as "commonplanmarks_student_id"
from datamart.commonplanmarks as tb1
where tb1.mark_scale_value not in (1, 2, 3, 4, 5, 6, 7, 8)

Таблица diaries

 № проверки Требования к данным Формат ошибки  SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле name не должно содержать пробел, допустимая длина не менее 2 символов Пример запроса
 CHECK2 Запись в поле url должна начинаться с https:// SELECT tb1."id"
from datamart.diaries as tb1
where tb1.url not like 'https://%'
 CHECK3 Поле url не должно заканчиваться символом / SELECT tb1."id"
from datamart.diaries as tb1
where url like '%/'
 CHECK4 Поле esia_mnemonic не должно содержать пробел, допустимая длина не менее 2 символов Пример запроса

Таблица с

 № проверки Требования к данным Формат ошибки  SQL запрос для получения данных не подошедших по требованиям 
 CHECK1 Поле doc_type должно содержать одно из допустимых значений:
    • 1
    • 2
    • 3
 select tb1."id", tb1."num" 
from datamart.documents as tb1
where tb1.doc_type not in (1, 2, 3)

Таблица economy_activity

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле code не должно содержать пробел, допустимая длина не менее 1 символа Пример запроса

Таблица edu_groups

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле version не должно содержать пробел, допустимая длина не менее 1 символа EDU_GROUP_VERSION_INVALID_FORMATПример запроса
 CHECK2 Поле academ_year должно содержать целочисленное значение не меньше 2021 EDU_GROUP_ACADEM_YEAR_LESS_THAN_LOWER_LIMITSELECT tb1."uri"
from datamart.edu_groups as tb1
where tb1.academ_year < 2021
 CHECK3 Поле academ_year должно содержать целочисленное значение не больше 2030 EDU_GROUP_ACADEM_YEAR_GREATER_THAN_UPPER_LIMITSELECT tb1."uri"
from datamart.edu_groups as tb1
where tb1.academ_year > 2030
 CHECK4 Поле total_places не должно содержать значение меньше 0 EDU_GROUP_TOTAL_PLACES_BELOW_ZEROSELECT tb1."uri"
from datamart.edu_groups as tb1
where tb1.total_places < 0
 CHECK5 Поле total_places должно содержать одно из целочисленных значений от 1 до 3 EDU_GROUP_STATUS_INVALID_VALUESELECT tb1."uri"
from datamart.edu_groups as tb1
where tb1."status" not in (1, 2, 3)

Таблица events

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле name не должно содержать пробел, допустимая длина не менее 2 символов Пример запроса
 CHECK2 Поле type_code должно содержать одно из допустимых значений:
    • parent_teacher
    • parents_evening
    • calendar
    • cw
    • othe
 SELECT tb1."student_id", tb1."event_id"from datamart.events as tb1
where tb1.type_code not in ( 'parent_teacher', 'parents_evening', 'calendar', 'cw', 'other' )
 CHECK3 Поле type_value должно содержать одно из целочисленных значений от 1 до 5  SELECT tb1."student_id", tb1."event_id"
from datamart.events as tb1
where tb1.type_value not in (1, 2, 3, 4, 5)
 CHECK4 Поле status_code должно содержать одно из допустимых значений:
    • active
    • cancelled
    • passed
 SELECT tb1."student_id", tb1."event_id"from datamart.events as tb1
where tb1.status_code not in ('active', 'cancelled', 'passed')
 CHECK5 Поле status_value должно содержать одно из целочисленных значений от 1 до 3 SELECT tb1."student_id", tb1."event_id"
from datamart.events as tb1
where tb1.status_value not in (1, 2, 3)
 CHECK6 Поле timezone должно быть заполнено в формате +ЧЧ:ММ или -ЧЧ:ММ Пример запроса

Таблица groupss

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле type_groupss должно содержать одно из допустимых значений:
    • school
    • department
    • parallel
    • class
    • group
 GROUP_TYPE_INVALID_VALUESELECT tb1."id" 
from datamart.groupss as tb1
where tb1.type_groupss not in ('school', 'department', 'parallel', 'class', 'group')
 CHECK2 Поле status должно содержать одно из допустимых значений:
    • active
    • cancelled
    • entered-in-error
 GROUP_STATUS_INVALID_VALUESELECT tb1."id" 
from datamart.groupss as tb1
where tb1.status not in ('active', 'cancelled', 'entered-in-error')
 CHECK3 Поле reason должно содержать одно из допустимых значений:
    • reduction
    • extentsion
    • restructuring
    • new_year
    • other
 GROUP_REASON_INVALID_VALUE
SELECT tb1."id" 
from datamart.groupss as tb1
where tb1.reason not in ( 'reduction', 'extentsion', 'restructuring', 'new_year', 'other' )

Таблица homeworks

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле description не должно содержать пробел,
допустимая длина не менее 1 символа
 HOMEWORK_DESCRIPTION_INVALID_FORMATПример запроса

Таблица ind_businessman_link

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле assurance должно содержать одно из
целочисленных значений от 1 до 4
 IND_BUSINESSMAN_LINK_ASSURANCE_INVALID_VALUEselect tb1."ind_businessman_id", tb1."linked_ind_businessman_id", tb1."assurance"from datamart.ind_businessman_link as tb1
where tb1.assurance not in (1, 2, 3, 4)

Таблица students_link

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле assurance должно содержать одно из
целочисленных значений от 1 до 4
 STUDENT_LINK_ASSURANCE_INVALID_VALUEselect tb1."student_id" as "students_link_student_id"
from datamart.students_link as tb1
where tb1.assurance not in (1,2,3,4)

Таблица lesson_plan

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле lesson_theme не должно содержать пробел,
допустимая длина не менее 2 символов
 LESSON_PLAN_LESSON_THEME_INVALID_FORMATПример запроса
 CHECK2 Поле lesson_number должно содержать одно из целочисленных значений не менее 1 LESSON_PLAN_LESSON_NUMBER_LESS_THAN_ONESELECT tb1."id" as "lesson_plan_id"
from datamart.lesson_plan as tb1
where tb1.lesson_number < 1

Таблица lessons

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле subject_name не должно содержать пробел, допустимая длина не менее 2 символов LESSON_SUBJECT_NAME_INVALID_FORMATПример запроса

Таблица lessonscount

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Значение в поле lessons_count должно быть меньше суммы значений полей not_allowed_skippings_count и sick_day_count STUDENT_LESSONS_COUNT_EXCEEDS_SKIPS_SUMSELECT tb1."period_id", tb1."student_id", tb1."subject_id"
from datamart.lessonscount as tb1
where tb1.lessons_count < ( tb1.allowed_skippings_count + tb1.not_allowed_skippings_count + tb1.sick_day_count )
 CHECK2 Поле subject_name не должно содержать пробел,
допустимая длина не менее 2 символов
 STUDENT_LC_SUBJECT_NAME_INVALID_FORMATПример запроса

Таблица location_function_type

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле code не должно содержать пробел, допустимая длина не
менее 1 символа
 LOCATION_FUNCTION_TYPE_CODE_INVALID_FORMATПример запроса
 CHECK2 Поле name не должно содержать пробел,
допустимая длина не менее 1 символа
 LOCATION_FUNCTION_TYPE_NAME_INVALID_FORMATПример запроса

Таблица location_properties

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле code должно содержать одно из
целочисленных значений от 1 до 33 или 99
 SELECT tb1."id" as "location_properties_id"from datamart.location_properties as tb1
where tb1.code not in (1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 99)
 CHECK2 В случае заполнения поле type_location должно содержать одно из
целочисленных значений от 1 до 7
 SELECT tb1."id" as "location_properties_id"
from datamart.location_properties as tb1
where tb1.type_location is not null and tb1.type_location not in (1, 2, 3, 4, 5, 6, 7)

Таблица marks

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле subject_name не должно содержать пробел, допустимая длина не менее 2 символов MARK_M_SUBJECT_NAME_INVALID_FORMATПример запроса
 CHECK2 Поле work_type_code должно содержать одно из допустимых значений:
    • test
    • ordinary
 MARK_M_WORK_TYPE_CODE_INVALID_VALUESELECT tb1."id"from datamart.marks as tb1
where lower(tb1.work_type_code) not in ('test', 'ordinary')
 CHECK3 Поле work_type_value должно содержать одно из допустимых значений:
    • 1
    • 2
 MARK_M_WORK_TYPE_VALUE_INVALIDSELECT tb1."id"
from datamart.marks as tb1
where tb1.work_type_value not in (1, 2)
 CHECK4 Поле scale_code должно содержать одно из допустимых значений:
    • 5-points
    • 10-points
    • 100-points
    • rating
    • pass/fail
    • nomarks
    • 7-points
    • 12-points
 MARK_M_SCALE_CODE_INVALID_VALUESELECT tb1."id"
from datamart.marks as tb1
where tb1.scale_code not in ( '5-points', '10-points', '100-points', 'rating', 'pass/fail', 'nomarks', '7-points', '12-points' )
 CHECK5 Поле scale_value должно содержать одно из
целочисленных значений от 1 до 8
 MARK_M_SCALE_VALUE_INVALIDSELECT tb1."id"from datamart.marks as tb1
where scale_value not in (1, 2, 3, 4, 5, 6, 7, 8)
 CHECK6 Поле class_num должно содержать целочисленное значение не меньше 1 MARK_M_CLASS_NUM_LESS_THAN_ONE SELECT tb1."id"from datamart.marks as tb1
where tb1.class_num < 1
 CHECK7 Поле class_num должно содержать целочисленное значение не больше 12 MARK_M_CLASS_NUM_GRATER_THAN_TWELVE SELECT tb1."id"from datamart.marks as tb1
where tb1.class_num > 12

Таблица materials

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле name не должно содержать пробел, допустимая длина не менее 3
символов
 MATERIAL_NAME_INVALID_FORMATПример запроса
 CHECK2 В поле size не должны быть значения меньше 0 MATERIAL_SIZE_LESS_THAN_ZEROSELECT tb1."id" as "materials_id"
from datamart.materials as tb1
where tb1.size<0
 CHECK3 Поле link не должно содержать пробел, допустимая длина не менее 3
символов
 MATERIAL_LINK_INVALID_FORMATПример запроса

Таблица operators_systems

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле name_operator не должно содержать пробел,
допустимая длина не менее 1 символа
 OPERATOR_SYSTEM_NAME_INVALID_FORMATПример запроса
 CHECK2 Поле doc_operator не должно содержать пробел,
допустимая длина не менее 1 символа
 OPERATOR_SYSTEM_DOC_INVALID_FORMATПример запроса

Таблица org_alias

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле other_value не должно содержать пробел,
допустимая длина не менее 1 символа
 ORG_ALIASOTHER_VALUE_INVALID_FORMATПример запроса

Таблица organisations

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле ogrn должно содержать только цифры длиной в 13 знаков ORGANISATION_OGRN_INVALID_FORMATПример запроса
 CHECK2 Поле inn должно содержать только цифры длиной в 10 знаков ORGANISATION_INN_INVALID_FORMATПример запроса
 CHECK3 Поле kpp должно содержать только цифры длиной в 9 знаков ORGANISATION_KPP_INVALID_FORMATПример запроса
 CHECK4 Поле name не должно содержать пробел,
допустимая длина не менее 2 символов
 ORGANISATION_NAME_INVALID_FORMATПример запроса
 CHECK5 Поле executive_name не должно содержать пробел,
допустимая длина не менее 2 символов
 ORGANISATION_EXECUTIVE_NAME_INVALID_FORMATПример запроса
 CHECK6 Поле executive_position не должно содержать пробел,
допустимая длина не менее 2 символов
 ORGANISATION_EXECUTIVE_POSITION_INVALID_FORMATПример запроса
 CHECK7 Поле phone не должно содержать пробел,
допустимая длина не менее 5 символов
 ORGANISATION_PHONE_INVALID_FORMATПример запроса

Таблица organisation_unit

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле name не должно содержать пробел,
допустимая длина не менее 1 символа
 ORGANISATION_UNIT_NAME_INVALID_FORMATПример запроса

Таблица payload

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле name не должно содержать пробел, допустимая длина не менее 1 символа Пример запроса
 CHECK2 Поле description не должно содержать пробел, допустимая длина не
менее 1 символа
  Пример запроса

Таблица persons

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле firstname не должно содержать пробел,  допустимая длина не менее 1 символа PERSON_FIRSTNAME_INVALID_FORMATПример запроса
 CHECK2 Поле lastname не должно содержать пробел, допустимая длина не менее 1 символа PERSON_LASTNAME_INVALID_FORMAT
Пример запроса
 CHECK3 В случае заполнения поле patronymic не должно содержать пробел, допустимая длина не
менее 1 символа
 PERSON_PATRONYMIC_INVALID_FORMAT
Пример запроса

Таблица pmarks

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле subject_name не должно содержать пробел, допустимая длина не менее 2 символов MARK_PM_SUBJECT_NAME_INVALID_FORMATПример запроса
 CHECK2 В случае заполнения поле fivepoint_fact должно содержать целые числа или дробные через точку MARK_PM_FIVEPOINT_FACT_INVALID_FORMATПример запроса
 CHECK3 В случае заполнения поле fivepoint_recent_plan должно содержать целые числа или дробные через точку MARK_PM_FIVEPOINT_FINAL_FACT_INVALID_FORMATПример запроса
 CHECK4 Поле class_num должно содержать целочисленное значение не меньше 1 MARK_PM_CLASS_NUM_LESS_THAN_ONESELECT tb1."id"from datamart.pmarks as tb1
where tb1.class_num < 1
 CHECK5 Поле class_num должно содержать целочисленное значение не больше 12 MARK_PM_CLASS_NUM_GRATER_THAN_TWELVESELECT tb1."id"from datamart.pmarks as tb1
where tb1.class_num > 12
 CHECK6 Поле mark_scale_code должно содержать одно из допустимых значений:
    • 5-points
    • 10-points
    • 100-points
    • rating
    • pass/fail
    • nomarks
    • 7-points
    • 12-points
 MARK_PM_MARK_SCALE_CODE_INVALID_VALUESELECT tb1."id"from datamart.pmarks as tb1
where tb1.mark_scale_code not in ('5-points', '10-points', '100-points', 'rating', 'pass/fail', 'nomarks', '7-points', '12-points')
 CHECK7 Поле mark_scale_value должно содержать одно из целочисленных значений от 1 до 8 MARK_PM_MARK_SCALE_VALUE_INVALIDSELECT tb1."id"from datamart.pmarks as tb1
where tb1.mark_scale_value not in (1, 2, 3, 4, 5, 6, 7, 8)

Таблица position_list

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле version не должно содержать пробел, допустимая длина не менее 1 символа POSITION_LIST_VERSION_INVALID_FORMATПример запроса
 CHECK2 Поле academ_year_le_2021 должно содержать целочисленное значение не
меньше 2021
 POSITION_LIST_ACADEM_YEAR_LESS_THAN_LOWER_LIMITSELECT tb1."uri" as "position_list_uri"
from datamart.position_list as tb1
where tb1.academ_year < 2021
 CHECK3 Поле academ_year_ge_2030 должно содержать целочисленное значение не
больше 2030
 POSITION_LIST_ACADEM_YEAR_GREATER_THAN_UPPER_LIMITSELECT tb1."uri" as "position_list_uri"from datamart.position_list as tb1
where tb1.academ_year > 2030
 CHECK4 Поле status должно содержать одно из целочисленных значений от 1 до 3 POSITION_LIST_STATUS_INVALID_VALUESELECT tb1."uri" as "position_list_uri"
from datamart.position_list as tb1
where tb1.status not in (1, 2, 3)
 CHECK5 Поле reason_code должно содержать одно из допустимых значений:
    • personal_reduction
    • personal_extension
    • position_rename
    • salary_change
    • unit_change
    • org_change
    • academ_year_change
    • other
 POSITION_LIST_REASON_CODE_INVALID_VALUESELECT tb1."uri" as "position_list_uri"
from datamart.position_list as tb1
where tb1.reason_code not in ('personal_reduction', 'personal_extension', 'position_rename', 'salary_change', 'unit_change', 'org_change', 'academ_year_change', 'other')
 CHECK6 Поле reason_value должно содержать одно из целочисленных значений от 1 до 8 POSITION_LIST_REASON_VALUE_INVALIDSELECT tb1."uri" as "position_list_uri"
from datamart.position_list as tb1
where tb1 tb1.reason_value not in (1, 2, 3, 4, 5, 6, 7, 8)

Таблица positions

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле name не должно содержать пробел,
допустимая длина не менее 2 символов
 POSITION_NAME_INVALID_FROMATПример запроса
 CHECK2 Поле fte должно содержать значение не меньше 0 POSITION_FTE_LESS_THAN_ZEROSELECT tb1."code"
from datamart.positions as tb1
where tb1.fte < 0

Таблица qualification

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле type_qualification должно содержать одно из целочисленных значений от 1 до 15 QUALIFICATION_TYPE_INVALID_VALUESELECT tb1."id"
from datamart.qualification as tb1
where tb1.type_qualification not in ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 )
 CHECK2 В случае заполнения поле code должно содержать одно из
целочисленных значений от 1 до 3
 QUALIFICATION_CODE_INVALID_VALUESELECT tb1."id"
from datamart.qualification as tb1
where tb1.code is not null and tb1.code not in (1, 2, 3)
 CHECK3 Поле status_code должно содержать одно из допустимых значений:
    • active
    • retired
    • entered-in-error
 QUALIFICATION_STATUS_CODE_INVALID_VALUE SELECT tb1."id"
from datamart.qualification as tb1
where tb1.status_code not in ('active', 'retired', 'entered-in-error')
 CHECK4 В случае заполнения поле status_value должно содержать одно из целочисленных значений от 1 до 3 QUALIFICATION_STATUS_VALUE_INVALIDSELECT tb1."id"
from datamart.qualification as tb1
where tb1.status_value is not null and tb1.status_value not in (1, 2, 3)
 CHECK5 В случае заполнения поле reason_code должно содержать одно из допустимых значений:
    • education
    • retraining
    • qualification
    • attestation
    • reward
    • teacher_experience
    • attestation_comission
    • education_ministry_decision
    • ron_decision
    • court_decision
    • authorized_decision
 QUALIFICATION_REASON_CODE_INVALID_VALUESELECT tb1."id"
from datamart.qualification as tb1
where tb1.reason_code is not null and tb1.reason_code not in ( 'education', 'retraining', 'qualification', 'attestation', 'reward', 'teacher_experience', 'attestation_comission', 'education_ministry_decision', 'ron_decision', 'court_decision', 'authorized_decision' )
 CHECK6 В случае заполнения поле reason_value должно содержать одно из целочисленных значений от 1 до 11 QUALIFICATION_REASON_VALUE_INVALIDSELECT tb1."id"
from datamart.qualification as tb1
where tb1.reason_value is not null and tb1.reason_value not in (1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11)

Таблица region_systems

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле name_system не должно содержать пробел,
допустимая длина не менее 1 символа
 REGION_SYSTEMNAME_INVALID_FORMATПример запроса
 CHECK2 Поле owner_system не должно содержать пробел,
допустимая длина не менее 1 символа
 REGION_SYSTEM_OWNER_INVALID_FORMAT
Пример запроса
 CHECK3 Поле doc_owner не должно содержать пробел,
допустимая длина не менее 1 символа
 REGION_SYSTEM_DOC_INVALID_FORMAT
Пример запроса

Таблица representative_citizenship

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле code должно
содержать одно из допустимых значений:
ABH, AUS, AUT, AZE, ALB,
DZA, ASM, AIA, AGO, AND, ATA, ATG, ARG, ARM, ABW, AFG, BHS, BGD, BRB, BHR, BLR,
BLZ, BEL, BEN,  BMU, BGR, BOL, BES, BIH,
BWA, BRA, IOT, BRN, BFA, BDI, BTN, VUT, HUN, VEN, VGB, VIR, VNM, GAB, GUY, HTI,
GMB, GHA, GLP, GT M, GIN, GNB, DEU, GGY, GIB, HND, HKG, GRD, GRL, GRC, GEO,
GUM, DNK, JEY, DJI, DNR, DMA, DOM, EGY, ZMB, ESH, ZWE, YEM, I SR, IND, IDN,
JOR, IRQ, IRN, IRL, ISL, ESP, ITA, CPV, KAZ, KHM, CMR, CAN, QAT, KEN, CYP, KGZ,
KIR, CHN, CCK, COL, COM, COG, C OD, PRK, KOR, CRI, CIV, CUB, KWT, CUW, LAO,
LVA, LSO, LBR, LBN, LBY, LTU, LIE, LNR, LUX, MUS, MRT, MDG, MYT, MAC, MWI, MY
S, MLI, UMI, MDV, MLT, MAR, MTQ, MHL, MEX, FSM, MOZ, MDA, MCO, MNG, MSR, MMR,
NAM, NRU, NPL, NER, NGA, NLD, NIC, NIU, N ZL, NCL, NOR, ARE, OMN, BVT, IMN,
NFK, CXR, HMD, CYM, COK, TCA, PAK, PLW, PSE, PAN, VAT, PNG, PRY, PER, PCN, POL,
PRT, P RI, MKD, REU, RUS, RWA, ROU, WSM, SMR, STP, SAU, SWZ, SHN, MNP, SYC, BLM,
SEN, MAF, SXM, VCT, KNA, LCA, SPM, SRB, SGP, SYR, SVK, SVN, GBR, GBD, GBN, GBO,
GBP, GBS, USA, SLB, SOM, SDN, SUR, SLE, TJK, TWN, THA, TZA, TLS, TGO, TKL, TON,
TTO,  TUV, TUN, TKM, TUR, UGA, UZB, UKR,
WLF, URY, FRO, FJI, PHL, FIN, FLK, FRA, GUF, PYF, ATF, HRV, CAF, TCD, MNE, CZE,
CHL, CH E, SWE, SJM, LKA, ECU, GNQ, ALA, SLV, ERI, EST, ETH, ZAF, OST, SGS,
SSD, JAM, JPN, EUE, XXA, XXB, XXC, XXX
 CITIZENSHIP_RE_COUNTRY_CODE_INVALID_VALUEПример запроса
 CHECK2 Поле name не должно содержать пробел,
допустимая длина не менее 2 символов
 CITIZENSHIP_RE_COUNTRY_NAME_INVALID_FORMAT Пример запроса

Таблица representative_link

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле assurance должно содержать одно из целочисленных значений от
1 до 4
 REPRESENTATIVELINK_ASSURANCE_INVALID_VALUESELECT tb1."representative_id", tb1."linked_representative_id"
from datamart.representative_link as tb1
where tb1.assurance not in (1, 2, 3, 4)

Таблица representatives

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле auth_link не должно начинаться с
символа /
 REPRESENTATIVE_AUTH_LINK_STARTS_WITH_SLASHSELECT tb1."id" as "representatives_id"
from datamart.representatives as tb1
where tb1.auth_link like '/%'
 CHECK2 Поле firstname должно соответствовать следующим условиям:
  • В написании используется кириллица (А-я, Ёё)
  • Длина основного слова должна быть от 1 до 27 символов
  • Допускается наличие от 1 до 4 дополнительных слов, которые могут быть разделены пробелом, точкой, дефисом или апострофом ('). Каждое дополнительное слово должно состоять из 2 до 27 символов
  • Допускается наличие римских цифр от I до X (например, для указания поколения), но только в самом конце строки
  • Не допускаются "висячие" пробелы в начале и конце строки, а также двойные пробелы внутри строки
 REPRESENTATIVE_FIRST_NAME_INVALID_FORMATПример запроса
 CHECK3 Поле lastname должно соответствовать следующим условиям:
  • В написании используется кириллица (А-я, Ёё)
  • Длина основного слова должна быть от 1 до 27 символов
  • Допускается наличие от 1 до 4 дополнительных слов, которые могут быть разделены пробелом, точкой, дефисом или апострофом ('). Каждое дополнительное слово должно состоять из 2 до 27 символов
  • Допускается наличие римских цифр от I до X (например, для указания поколения), но только в самом конце строки
  • Не допускаются "висячие" пробелы в начале и конце строки, а также двойные пробелы внутри строки
 REPRESENTATIVE_LAST_NAME_INVALID_FORMATПример запроса
 CHECK4 Если поле patronymic должно соответствовать следующим условиям:
  • В написании используется кириллица (А-я, Ёё)
  • Длина основного слова должна быть от 1 до 27 символов
  • Допускается наличие от 1 до 4 дополнительных слов, которые могут быть разделены пробелом, точкой, дефисом или апострофом ('). Каждое дополнительное слово должно состоять из 2 до 27 символов
  • Допускается наличие римских цифр от I до X (например, для указания поколения), но только в самом конце строки
  • Не допускаются "висячие" пробелы в начале и конце строки, а также двойные пробелы внутри строки
 REPRESENTATIVE_PATRONYMIC_INVALID_FORMATПример запроса
 CHECK5 Поле gender_code должно содержать одно из допустимых значений:
  • male
  • female
 REPRESENTATIVE_GENDER_CODE_INVALID_VALUESELECT tb1."id" as "representatives_id"
from datamart.representatives as tb1
where tb1.gender_code not in ('male', 'female')
 CHECK6 Поле gender_value должно содержать одно из допустимых значений:
    • 1
    • 2
 REPRESENTATIVE_GENDER_VALUE_INVALIDSELECT tb1."id" as "representatives_id"
from datamart.representatives as tb1
where tb1.gender_value not in (1, 2)

Таблица restriction

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1
  •  Поле type_restriction должно содержать одно из допустимых значений:
    • 1
    • 2
  • Поле rationale должно содержать одно из допустимых значений:
    • by_court_decision
    • criminal_record
    • conviction
    • incapable
    • medicine_reasons
    • not_defined
 SELECT rest.id
from datamart.restriction as rest
WHERE rest.type_restriction not in (1,2or rest.rationale not in ('by_court_decision','criminal_record','conviction','incapable','medicine_reasons','not_defined')
 CHECK2 Поле status_code должно содержать одно из допустимых значений:
    • active
    • retired
    • entered-in-error
 SELECT rest.id
from datamart.restriction as rest
WHERE rest.status_code not in ('active','retired','entered-in-error')
 CHECK3 В случае заполнения поле status_value должно содержать одно из целочисленных значений от 1 до 3 SELECT rest.id
from datamart.restriction as rest
WHERE rest.status_value is not null and rest.status_value not in (1,2,3)
 CHECK4 В случае заполнения поле reason_code должно содержать одно из допустимых значений:
    • court_decision
    • criminal_case
    • medicine_doc
    • underage_comission_decision
    • criminal_case_termination
 SELECT rest.id
from datamart.restriction as rest
WHERE rest.reason_code is not null and rest.reason_code not in ('court_decision','criminal_case','medicine_doc','underage_comission_decision','criminal_case_termination')
 CHECK5 В случае заполнения поле reason_value должно содержать одно из целочисленных значений от 1 до 5 SELECT rest.id
from datamart.restriction as rest
WHERE rest.reason_value is not null and rest.reason_value not in (1,2,3,4,5)

Таблица schools

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле name должно соответствовать следующим условиям:
  • Для написания используется кириллица, также допускается наличие латинских символов 'I', 'V', 'X' (римские цифры)
  • Допускается наличие цифр от 0 до 9
  • Допускается наличие точки, запятой, пробела, а также специальных символов:
    • (
    • )
    • +
    • -
    • "
    • '
    • «
    • »
    • /
    • :
 SCHOOL_NAME_INVALID_FORMATПример запроса
 CHECK2 Поле short_name должно соответствовать следующим условиям:
  • Для написания используется кириллица, также допускается наличие латинских символов 'I', 'V', 'X' (римские цифры)
  • Допускается наличие цифр от 0 до 9
  • Допускается наличие точки, запятой, пробела, а также специальных символов:
    • (
    • )
    • +
    • -
    •  "
    •  '
    • «
    • »
    • /
    • :
 SCHOOL_SHORT_NAME_INVALID_FORMATПример запроса
 CHECK3 Поле ogrn должно соответствовать следующим условиям:
    • Длина строки - 13 символов
    • Первый символ (признак отнесения государственного регистрационного номера записи) должен быть равен 1 или 5
    • Второй и третий символы (две последние цифры года внесения записи в ЕГРЮЛ) должны выглядеть как значения от 01 до 24
    • Четвертый и пятый символы (кодовое обозначение субъекта РФ) должны выглядеть как значения от 01 до 99, кроме 96 и 98 (таких кодов не существует)
    • Символы с шестого по тринадцатый (номер записи и контрольное число) – любые 8 цифр
 SCHOOL_OGRN_INVALID_FORMATПример запроса
 CHECK4 Поле inn должно соответствовать следующим условиям:
    • Длина строки - 10 символов
    • Первый и второй символы (кодовое обозначение субъекта РФ) должны выглядеть как значения от 01 до 99, кроме 96 и 98 (таких кодов не существует)
    • Символы с третьего по десятый (номер налоговой инспекции и номер записи) – любые 8 цифр
 SCHOOL_INN_INVALID_FORMATПример запроса
 CHECK5 Поле kpp должно соответствовать следующим условиям:
    • Длина строки - 9 символов
    • Первый и второй символы (кодовое обозначение субъекта РФ) должны выглядеть как значения от 01 до 99, кроме 96 и 98 (таких кодов не существует)
    • Третий и четвертый символы (номер ИФНС) – значения от 01 до 99
    • Пятый и шестой символы (причина учета) – значения от 01 до 50
    • Символы с седьмого по девятый (порядковый номер) – любые 3 цифры
 SCHOOL_KPP_INVALID_FORMATПример запроса
 CHECK6 Поле timezone должно быть заполнено в формате +ЧЧ:ММ или -ЧЧ:ММ SCHOOL_TIMEZONE_INVALID_FORMATПример запроса
 CHECK7 Поле type_code должно содержать одно из допустимых значений:
    • main_edu
    • common_edu
    • higher_edu
    • spo_edu
 SCHOOL_TYPE_CODE_INVALID_VALUESELECT sch.id
from datamart.schools as sch
where sch.type_code not in ('main_edu','common_edu','higher_edu','spo_edu'
 CHECK8 В случае заполнения поле type_value должно содержать одно из целочисленных значений от 1 до 4 SCHOOL_TYPE_VALUE_INVALIDSELECT sch.id
from datamart.schools as sch
where sch.type_value is not null and sch.type_value not in (1,2,3,4)
 CHECK9 Поле status_code должно содержать одно из допустимых значений:
    • active
    • cancelled
    • entered-in-error
 SCHOOL_STATUS_CODE_INVALID_VALUESELECT sch.id
from datamart.schools as sch
where sch.status_code not in ('active','cancelled','entered-in-error')
 CHECK10 Поле status_value должно содержать одно из целочисленных значений от 1 до 3 SCHOOL_STATUS_VALUE_INVALIDSELECT sch.id
from datamart.schools as sch
where sch.status_value not in (1,2,3)

Таблица service

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле name не должно содержать пробел, допустимая длина не менее 1 символа Пример запроса
 CHECK2 Поле link не должно содержать пробел, допустимая длина не менее 3 символов  Пример запроса
 CHECK3 Поле status должно содержать одно из целочисленных значений от 1 до 6 SELECT tb1."id" as "service_id"
from datamart.service as tb1
WHERE tb1.status not in (1,2,3,4,5,6)

Таблица service_organisations

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле name_service не должно содержать пробел, допустимая длина не менее 1 символа SERVICE_ORGANISATION_NAME_INVALID_FORMATПример запроса

Таблица skippings

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле type_code должно содержать одно из допустимых значений:
    • allowded
    • notallowded
    • sickday
    • lateness
    • Проверка CHECK2
 SELECT tb1."id" as "skippings_id"
from datamart.skippings as tb1
WHERE tb1.type_code not in ('allowded','notallowded','sickday','lateness')
 CHECK2 В случае заполнения поле type_value должно содержать одно из целочисленных значений от 1 до 4  SELECT tb1."id" as "skippings_id"from datamart.skippings as tb1
WHERE tb1.type_value is not null and tb1.type_value not in (1,2,3,4)

Таблица speciality

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле code должно содержать целое число длиной в 2 символа или дробное в формате dd.d SPECIALITY_CODE_INVALID_FORMATПример запроса
 CHECK2 Поле name не должно содержать пробел, допустимая длина не менее 3 символов SPECIALITY_NAME_INVALID_FORMAT Пример запроса

Таблица statcommon

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 В случае заполнения поле fivepoint_total должно содержать целое число или дробное через точку STUDENT_FIVEPOINT_TOTAL_INVALID_FORMATПример запроса
 CHECK2 В случае заполнения поле fivepoint_test должно содержать целое число или дробное через точку STUDENT_FIVEPOINT_TEST_INVALID_FORMATПример запроса
 CHECK3 Поле class_num должно содержать целочисленное значение не меньше 1 STUDENT_CLASS_NUM_LESS_THAN_ONE SELECT st.period_id, st.start_of_week,st.student_id
from datamart.statcommon as st
where st.class_num < 1
 CHECK4 Поле class_num должно содержать целочисленное значение не больше 12 STUDENT_CLASS_NUM_GRATER_THAN_TWELVE SELECT st.period_id, st.start_of_week,st.student_id
from datamart.statcommon as st
where st.class_num > 12
 CHECK5 Поле mark_scale_code должно содержать одно из допустимых значений:
    • 5-points
    • 10-points
    • 100-points
    • rating
    • pass/fail
    • nomarks
    • 7-points
    • 12-points
 STUDENT_MARK_SCALE_CODE_INVALID_VALUE SELECT st.period_id, st.start_of_week,st.student_id
from datamart.statcommon as st
where st.mark_scale_code not in ('5-points','10-points','100-points','rating','pass/fail','nomarks','7-points','12-points')
 CHECK6 Поле mark_scale_value должно содержать одно из целочисленных значений от 1 до 8 STUDENT_MARK_SCALE_VALUE_INVALIDSELECT st.period_id, st.start_of_week,st.student_id
from datamart.statcommon as st
where st.mark_scale_value not in (1,2,3,4,5,6,7,8) ) and st.class_year_from=2023

Таблица statsubject

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 В случае заполнения поле fivepoint_total должно содержать целое число или дробное через точку STUDENT_STS_FIVEPOINT_TOTAL_INVALID_FORMATПример запроса
 CHECK2 Поле fivepoint_test должно содержать целое число или дробное через точку STUDENT_STS_FIVEPOINT_TEST_INVALID_FORMAT Пример запроса
 CHECK3 Поле class_num содержит целочисленное значение не меньше 1 STUDENT_STS_CLASS_NUM_LESS_THAN_ONE SELECT ss.student_id, ss.start_of_week, ss.subject_id, ss.period_id
from datamart.statsubject as ss
WHERE ss.class_num < 1
 CHECK4 Должны быть выполнены условия:
  • поле class_num содержит целочисленное значение не больше 12
  • поле mark_scale_code содержит одно из допустимый значений:
    • 5-points
    • 10-points
    • 100-points
    • rating
    • pass/fail
    • nomarks
    • 7-points
    • 12-points
 STUDENT_STS_CLASS_NUM_GRATER_THAN_TWELVE SELECT ss.student_id, ss.start_of_week, ss.subject_id, ss.period_id
from datamart.statsubject as ss
WHERE ss.class_num > 12 or ss.mark_scale_code not in ('5-points','10-points','100-points','rating','pass/fail','nomarks','7-points','12-points')
 CHECK5 Поле mark_scale_value содержит одно из целочисленных значений от 1 до 8 STUDENT_STS_MARK_SCALE_VALUE_INVALID SELECT ss.student_id, ss.start_of_week, ss.subject_id, ss.period_id
from datamart.statsubject as ss
WHERE ss.mark_scale_value not in (1,2,3,4,5,6,7,8)

Таблица student_citizenship

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле code должно содержать одно из допустимых значений:

ABH, AUS, AUT, AZE, ALB, DZA, ASM, AIA, AGO, AND, ATA, ATG, ARG, ARM, ABW, AFG, BHS, BGD, BRB, BHR, BLR, BLZ, BEL, BEN, BMU, BGR, BOL, BES, BIH, BWA, BRA, IOT, BRN, BFA, BDI, BTN, VUT, HUN, VEN, VGB, VIR, VNM, GAB, GUY, HTI, GMB, GHA, GLP, GTM, GIN, GNB, DEU, GGY, GIB, HND, HKG, GRD, GRL, GRC, GEO, GUM, DNK, JEY, DJI, DNR, DMA, DOM, EGY, ZMB, ESH, ZWE, YEM, ISR, IND, IDN, JOR, IRQ, IRN, IRL, ISL, ESP, ITA, CPV, KAZ, KHM, CMR, CAN, QAT, KEN, CYP, KGZ, KIR, CHN, CCK, COL, COM, COG, COD, PRK, KOR, CRI, CIV, CUB, KWT, CUW, LAO, LVA, LSO, LBR, LBN, LBY, LTU, LIE, LNR, LUX, MUS, MRT, MDG, MYT, MAC, MWI, MYS, MLI, UMI, MDV, MLT, MAR, MTQ, MHL, MEX, FSM, MOZ, MDA, MCO, MNG, MSR, MMR, NAM, NRU, NPL, NER, NGA, NLD, NIC, NIU, NZL, NCL, NOR, ARE, OMN, BVT, IMN, NFK, CXR, HMD, CYM, COK, TCA, PAK, PLW, PSE, PAN, VAT, PNG, PRY, PER, PCN, POL, PRT, PRI, MKD, REU, RUS, RWA, ROU, WSM, SMR, STP, SAU, SWZ, SHN, MNP, SYC, BLM, SEN, MAF, SXM, VCT, KNA, LCA, SPM, SRB, SGP, SYR, SVK, SVN, GBR, GBD, GBN, GBO, GBP, GBS, USA, SLB, SOM, SDN, SUR, SLE, TJK, TWN, THA, TZA, TLS, TGO, TKL, TON, TTO, TUV, TUN, TKM, TUR, UGA, UZB, UKR, WLF, URY, FRO, FJI, PHL, FIN, FLK, FRA, GUF, PYF, ATF, HRV, CAF, TCD, MNE, CZE, CHL, CHE, SWE, SJM, LKA, ECU, GNQ, ALA, SLV, ERI, EST, ETH, ZAF, OST, SGS, SSD, JAM, JPN, EUE, XXA, XXB, XXC, XXX

 CITIZENSHIP_ST_COUNTRY_CODE_INVALID_VALUESELECT tb1."id" as "student_citizenship_id"
from datamart.student_citizenship as tb1
WHERE tb1.code not in ('ABH','AUS','AUT','AZE','ALB','DZA','ASM','AIA','AGO','AND','ATA','ATG','ARG','ARM','ABW','AFG','BHS','BGD','BRB','BHR','BLR','BLZ','BEL','BEN',' BMU','BGR','BOL','BES','BIH','BWA','BRA','IOT','BRN','BFA','BDI','BTN','VUT','HUN','VEN','VGB','VIR','VNM','GAB','GUY','HTI','GMB','GHA','GLP','GT M','GIN','GNB','DEU','GGY','GIB','HND','HKG','GRD','GRL','GRC','GEO','GUM','DNK','JEY','DJI','DNR','DMA','DOM','EGY','ZMB','ESH','ZWE','YEM','I SR','IND','IDN','JOR','IRQ','IRN','IRL','ISL','ESP','ITA','CPV','KAZ','KHM','CMR','CAN','QAT','KEN','CYP','KGZ','KIR','CHN','CCK','COL','COM','COG','C OD','PRK','KOR','CRI','CIV','CUB','KWT','CUW','LAO','LVA','LSO','LBR','LBN','LBY','LTU','LIE','LNR','LUX','MUS','MRT','MDG','MYT','MAC','MWI','MY S','MLI','UMI','MDV','MLT','MAR','MTQ','MHL','MEX','FSM','MOZ','MDA','MCO','MNG','MSR','MMR','NAM','NRU','NPL','NER','NGA','NLD','NIC','NIU','N ZL','NCL','NOR','ARE','OMN','BVT','IMN','NFK','CXR','HMD','CYM','COK','TCA','PAK','PLW','PSE','PAN','VAT','PNG','PRY','PER','PCN','POL','PRT','P RI','MKD','REU','RUS','RWA','ROU','WSM','SMR','STP','SAU','SWZ','SHN','MNP','SYC','BLM','SEN','MAF','SXM','VCT','KNA','LCA','SPM','SRB','SGP', 'SYR','SVK','SVN','GBR','GBD','GBN','GBO','GBP','GBS','USA','SLB','SOM','SDN','SUR','SLE','TJK','TWN','THA','TZA','TLS','TGO','TKL','TON','TTO',' TUV','TUN','TKM','TUR','UGA','UZB','UKR','WLF','URY','FRO','FJI','PHL','FIN','FLK','FRA','GUF','PYF','ATF','HRV','CAF','TCD','MNE','CZE','CHL','CH E','SWE','SJM','LKA','ECU','GNQ','ALA','SLV','ERI','EST','ETH','ZAF','OST','SGS','SSD','JAM','JPN','EUE','XXA','XXB','XXC','XXX')
 CHECK2 Поле name не должно содержать пробел, допустимая длина не менее 2 символов CITIZENSHIP_ST_COUNTRY_NAME_INVALID_FORMAT Пример запроса

Таблица students

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле auth_link не должно начинаться с символа / STUDENT_AUTH_LINK_STARTS_WITH_SLASHSELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.active='TRUE' AND tb1.auth_link like '/%'
 CHECK2 Поле firstname должно соответствовать следующим условиям:
  • В написании используется кириллица (А-я, Ёё)
  • Длина основного слова должна быть от 1 до 27 символов
  • Допускается наличие от 1 до 4 дополнительных слов, которые могут быть разделены пробелом, точкой, дефисом или апострофом ('). Каждое дополнительное слово должно состоять из 2 до 27 символов
  • Допускается наличие римских цифр от I до X (например, для указания поколения), но только в самом конце строки
  • Не допускаются "висячие" пробелы в начале и конце строки, а также двойные пробелы внутри строки
 STUDENT_FIRST_NAME_INVALID_FORMATПример запроса
 CHECK3 Поле lastname должно соответствовать следующим условиям:
  • В написании используется кириллица (А-я, Ёё)
  • Длина основного слова должна быть от 1 до 27 символов
  • Допускается наличие от 1 до 4 дополнительных слов, которые могут быть разделены пробелом, точкой, дефисом или апострофом ('). Каждое дополнительное слово должно состоять из 2 до 27 символов
  • Допускается наличие римских цифр от I до X (например, для указания поколения), но только в самом конце строки
  • Не допускаются "висячие" пробелы в начале и конце строки, а также двойные пробелы внутри строки
 STUDENT_LAST_NAME_INVALID_FORMATПример запроса
 CHECK4 Если поле patronymic должно соответствовать следующим условиям:
  • В написании используется кириллица (А-я, Ёё)
  • Длина основного слова должна быть от 1 до 27 символов
  • Допускается наличие от 1 до 4 дополнительных слов, которые могут быть разделены пробелом, точкой, дефисом или апострофом ('). Каждое дополнительное слово должно состоять из 2 до 27 символов
  • Допускается наличие римских цифр от I до X (например, для указания поколения), но только в самом конце строки
  • Не допускаются "висячие" пробелы в начале и конце строки, а также двойные пробелы внутри строки
 STUDENT_PATRONYMIC_INVALID_FORMATПример запроса
 CHECK5 Поле hash_gost2012 должно содержать только символы латиницы и цифры длиной в 128 знаков STUDENT_HASH_GOST2012_INVALID_FORMAT SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.hash_gost2012 not similar to '[a-f0-9]{128}'
 CHECK6 В случае заполнения поле hash_gost2012_2 должно содержать только символы латиницы и цифры длиной в 128 знаков STUDENT_HASH_GOST2012_2_INVALID_FORMAT SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.hash_gost2012_2 is not null and tb1.hash_gost2012_2 not similar to '[a-f0-9]{128}'
 CHECK7 В случае заполнения поле поле hash_gost2012_3 должно содержать только символы латиницы и цифры длиной в 128 знаков STUDENT_HASH_GOST2012_3_INVALID_FORMAT SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.hash_gost2012_3 is not null and tb1.hash_gost2012_3 not similar to '[a-f0-9]{128}'
 CHECK8 Поле snils должно содержать только цифры длиной в 11 знаков. Не допускаются записи, где первые 9 цифр – нули STUDENT_SNILS_INVALID_FORMATПример запроса
 CHECK9 Поле numb_passport должно содержать только цифры длиной в 6 знаков. Не допускаются записи, где все цифры – нули STUDENT_PASSPORT_NUMBER_INVALID_FORMATПример запроса
 CHECK10 Поле ser_passport должно соответствовать следующим условиям:
    • содержит только цифры длиной в 4 символа
    • первые 2 цифры должны содержать существующие номера регионов по ОКАТО (недопустимы 00, 06, 13, 16, 31, 72, т.к. таких кодов не существует)
    • третья цифра находится вне диапазона 1-3 (эта цифра определяет год выдачи паспорта)
 STUDENT_PASSPORT_SERIES_INVALID_FORMAT Пример запроса
 CHECK11 Поле gender_code должно содержать одно из допустимых значений:
    • male
    • female
 STUDENT_GENDER_CODE_INVALID_VALUESELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.gender_code not in ('male','female')
 CHECK12 Поле gender_value должно содержать одно из допустимых значений:
    • 1
    • 2
 STUDENT_GENDER_VALUE_INVALIDSELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.gender_value not in (1,2)
 CHECK13 Поле gender_value, содержащее значение 1, должно соответствовать значению male в поле gender_value STUDENT_GENDER_CODE_MALE_MISMATCH SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.gender_code='male' and tb1.gender_value<>1
 CHECK14 Поле gender_value, содержащее значение 2, должно соответствовать значению female в поле gender_code STUDENT_GENDER_CODE_FEMALE_MISMATCH SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.gender_code='female' and tb1.gender_value<>2
 CHECK15 Поле status_code должно содержать одно из допустимых значений:
    • active
    • cancelled
    • entered-in-error
 STUDENT_STATUS_CODE_INVALID_VALUE SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.status_code not in ('active','cancelled','entered-in-error')
 CHECK16 Поле status_value должно содержать одно из допустимых значений:
    • 1
    • 2
    • 3
 STUDENT_STATUS_VALUE_INVALID SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.status_value not in (1,2,3)
 CHECK17 Поле status_value, содержащее значение 1, должно соответствовать значению active в поле status_code STUDENT_STATUS_CODE_ACTIVE_MISMATCH SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.status_code='active' and tb1.status_value<>1
 CHECK18 Поле status_value, содержащее значение 2, должно соответствовать значению cancelled в поле status_code STUDENT_STATUS_CODE_CANCELLED_MISMATCH SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.status_code='cancelled' and tb1.status_value<>2
 CHECK19 Поле status_value, содержащее значение 3, должно соответствовать
значению entered-in-error в поле status_code
STUDENT_STATUS_CODE_ENTERED_IN_ERROR_MISMATCH SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.status_code='entered-in-error' and tb1.status_value<>3
 CHECK20 Поле reason_code должно содержать одно из допустимых значений:
    • start_study
    • finish_study
    • transfer
    • expulsion
    • death
    • academ_vacation
 STUDENT_REASON_CODE_INVALID_VALUE SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.reason_code not in ('start_study','finish_study','transfer','expulsion','death','academ_vacation')
 CHECK21 Поле reason_value должно содержать одно из целочисленных значений от 1 до 6 STUDENT_REASON_VALUE_INVALID SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.reason_value not in (1,2,3,4,5,6)
 CHECK22 Поле reason_value, содержащее значение 1, должно соответствовать значению start_study в поле reason_code STUDENT_REASON_CODE_START_STUDY_MISMATCH SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.reason_code='start_study' and tb1.reason_value<>1
 CHECK23 Поле reason_value, содержащее значение 2, должно соответствовать значению finish_study в поле reason_code STUDENT_REASON_CODE_FINISH_STUDY_MISMATCH SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.reason_code='finish_study' and tb1.reason_value<>2
 CHECK24 Поле reason_value, содержащее значение 3, должно соответствовать значению transfer в поле reason_code STUDENT_REASON_CODE_TRANSFER_MISMATCH SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.reason_code='transfer' and tb1.reason_value<>3
 CHECK25 Поле reason_value, содержащее значение 4, должно соответствовать значению expulsion в поле reason_code STUDENT_REASON_CODE_EXPULSION_MISMATCH SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.reason_code='expulsion' and tb1.reason_value<>4
 CHECK26 Поле reason_value, содержащее значение 5, должно соответствовать значению death в поле reason_code STUDENT_REASON_CODE_DEATH_MISMATCH SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.reason_code='death' and tb1.reason_value<>5
 CHECK27 Поле reason_value, содержащее значение 6, должно соответствовать значению academ_vacation в поле reason_code STUDENT_REASON_CODE_ACADEM_VACATION_MISMATCH SELECT tb1.id as "students_id" 
from datamart.students as tb1
where tb1.reason_code='academ_vacation' and tb1.reason_value<>6
 CHECK28 В случае заполнения поля numb_passport должно быть также заполнено и поле ser_passport STUDENT_PASSPORT_SERIES_OR_NUMBER_MISSING SELECT tb1.id as "students_id" 
from datamart.students as tb1
where COALESCE(tb1.ser_passport, '') = '' AND tb1.numb_passport <> ''
 CHECK29 Поля numb_passport и ser_passport не могут состоять только из единиц или только из двоек STUDENT_PASSPORT_FAKE_SERIES_AND_NUMBER_USED SELECT tb1.id as "students_id" 
from datamart.students as tb1
where (COALESCE(tb1.numb_passport, '') = '' AND tb1.ser_passport <> '') ) OR ( tb1.numb_passport IN ('111111', '222222') AND tb1.ser_passport = '1111' ) )

Таблица students_college

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле auth_link не должно начинаться с символа / select sc.id
from datamart.students_college as sc
where sc.auth_link like '/%'
 CHECK2 Поле firstname не должно содержать пробел, допустимая длина от 2 до 100 символов  Пример запроса
 CHECK3 Поле lastname не должно содержать пробел, допустимая длина от 2 до 100 символов  Пример запроса
 CHECK4 В случае заполнения поле patronymic не должно содержать пробел, допустимая длина от 2 до 100 символов  Пример запроса
 CHECK5 Поле birthplace не должно содержать пробел, допустимая длина не менее 2 символов  Пример запроса
 CHECK6 Поле snils должно содержать только цифры длиной в 11 знаков  Пример запроса
 CHECK7 Поле doc_type содержит одно из допустимый значений:
    • passport_rf
    • temporary_doc
    • passport_international
    • passport_diplomat
    • passport_foreign
    • oters_docs_mvd
    • oters_docs
  select sc.id
from datamart.students_college as sc
where sc.doc_type not in ('passport_rf','temporary_doc','passport_international','passport_diplomat','passport_foreign','others_docs_mvd','others_docs')
 CHECK8 При наличии в поле doc_type значения passport_rf должны быть соблюдены следующие условия:
    • поле num_ser содержит только цифры длиной в 4 знака
    • поел num_doc содержит только цифры длиной в 6 знаков
  Пример запроса
 CHECK9 Соблюдены следующие условия:
  • Поле gender_code должно содержать одно из допустимый значений:
    • male
    • female
  • Поле gender_value должно содержать одно из допустимый значений:
    • 1
    • 2
  select sc.id
from datamart.students_college as sc
where sc.gender_code not in ('male','female') or sc.gender_value not in (1,2)
 CHECK10 Поле gender_value, содержащее значение 1, должно соответствовать значению male в поле gender_code  select sc.id
from datamart.students_college as sc
where sc.gender_code='male' and sc.gender_value<>1
 CHECK11 Поле gender_value, содержащее значение 2, должно соответствовать значению female в поле gender_code  select sc.id
from datamart.students_college as sc
where sc.gender_code='female' and sc.gender_value<>2
 CHECK12 Поле status_code должно содержать одно из допустимый значений:
    • active
    • cancelled
    • entered-in-error
  select sc.id
from datamart.students_college as sc
where sc.status_code not in ('active','cancelled','entered-in-error')
 CHECK13 Поле status_value должно содержать одно из целочисленных значений от 1 до 3  select sc.id
from datamart.students_college as sc
where sc.status_value not in (1,2,3)
 CHECK14 Поле status_value, содержащее значение 1, должно соответствовать значению active в поле status_code  select sc.id
from datamart.students_college as sc
where sc.status_code='active' and sc.status_value<>1
 CHECK15 Поле status_value, содержащее значение 2, должно соответствовать значению cancelled в поле status_code  select sc.id
from datamart.students_college as sc
where sc.status_code='cancelled' and sc.status_value<>2
 CHECK16 Поле status_value, содержащее значение 3, должно соответствовать значению entered-in-error в поле status_code  select sc.id
from datamart.students_college as sc
where sc.status_code='entered-in-error' and sc.status_value<>3
 CHECK17 Поле reason_code должно содержать одно из допустимый значений:
    • start_study
    • finish_study
    • transfer
    • expulsion
    • death
    • academ_vacation
  select sc.id
from datamart.students_college as sc
where sc.reason_code not in ('start_study','finish_study','transfer','expulsion','death','academ_vacation')
 CHECK18 Поле reason_value должно содержать одно из целочисленных значений от 1 до 6  select sc.id
from datamart.students_college as sc
where sc.reason_value not in (1,2,3,4,5,6)
 CHECK19 Поле reason_value, содержащее значение 1, должно соответствовать значению start_study в поле reason_code  select sc.id
from datamart.students_college as sc
where sc.reason_code='start_study' and sc.reason_value<>1
 CHECK20 Поле reason_value, содержащее значение 2, должно соответствовать значению finish_study в поле reason_code  select sc.id
from datamart.students_college as sc
where sc.reason_code='finish_study' and sc.reason_value<>2
 CHECK21 Поле reason_value, содержащее значение 3, должно соответствовать значению transfer в поле reason_code  select sc.id
from datamart.students_college as sc
where sc.reason_code='transfer' and sc.reason_value<>3
 CHECK22 Поле reason_value, содержащее значение 4, должно соответствовать значению expulsion в поле reason_code  select sc.id
from datamart.students_college as sc
where sc.reason_code='expulsion' and sc.reason_value<>4
 CHECK23 Поле reason_value, содержащее значение 5, должно соответствовать значению death в поле reason_code  select sc.id
from datamart.students_college as sc
where sc.reason_code='death' and sc.reason_value<>5
 CHECK24 Поле reason_value, содержащее значение 6, должно соответствовать значению academ_vacation в поле reason_code
  select sc.id
from datamart.students_college as sc
where sc.reason_code='academ_vacation' and sc.reason_value<>6

Таблица students_college

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле assurance должно содержать одно из целочисленных значений от 1 до 4 

Таблица students_representatives

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле relationship_code должно содержать одно из допустимых значений:
    • son
    • daughter
    • grandson
    • granddaughter
    • brother
    • sister
    • nephew
    • niece
    • stepson
    • stepdaughter
    • foster_child
    • ward
    • on_wellfare
    • other
    • not_defined
 STUDENT_RELATIONSHIP_CODE_INVALID_VALUESELECT tb1."student_id" as "relationship_code_student_id" , tb1."representative_id" as "relationship_code_id"
from datamart.students_representatives as tb1
where tb1.relationship_code not in ('son','daughter','grandson','granddaughter','brother','sister','nephew','niece','stepson','stepdaughter','foster_child','ward','on_wellfare','other','not_defined')
 CHECK2 Поле status_code должно содержать одно из допустимых значений:
    • active
    • cancelled
    • entered-in-error
 STUDENT_REPR_STATUS_CODE_INVALID_VALUE SELECT tb1."student_id" as "relationship_code_student_id" , tb1."representative_id" as "relationship_code_id"
from datamart.students_representatives as tb1
where tb1.status_code not in ('active','cancelled','entered-in-error')
 CHECK3 Поле status_value должно содержать одно из допустимых значений:
    • 1
    • 2
    • 3
 STUDENT_REPR_STATUS_VALUE_INVALID SELECT tb1."student_id" as "relationship_code_student_id" , tb1."representative_id" as "relationship_code_id"
from datamart.students_representatives as tb1
where tb1.status_value not in (1,2,3)
 CHECK4 Поле status_value, содержащее значение 1, должно соответствовать значению active в поле status_code STUDENT_REPR_STATUS_CODE_ACTIVE_MISMATCH SELECT tb1."student_id" as "relationship_code_student_id" , tb1."representative_id" as "relationship_code_id"
from datamart.students_representatives as tb1
where tb1.status_code='active' and tb1.status_value<>1
 CHECK5 Поле status_value, содержащее значение 2, должно соответствовать значению cancelled в поле status_code STUDENT_REPR_STATUS_CODE_CANCELLED_MISMATCH SELECT tb1."student_id" as "relationship_code_student_id" , tb1."representative_id" as "relationship_code_id"from datamart.students_representatives as tb1
where tb1.status_code='cancelled' and tb1.status_value<>2
 CHECK6 Поле status_value, содержащее значение 3, должно соответствовать значению entered-in-error в поле status_code STUDENT_REPR_STATUS_CODE_ENTERED_IN_ERROR_MISMATCH SELECT tb1."student_id" as "relationship_code_student_id" , tb1."representative_id" as "relationship_code_id"from datamart.students_representatives as tb1
where tb1.status_code='entered-in-error' and tb1.status_value<>3
 CHECK7 В случае заполнения поле reason_code должно содержать одно из допустимых значений:
    • unreliable_data
    • stop_representant
 STUDENT_REPR_REASON_CODE_INVALID_VALUE SELECT tb1."student_id" as "relationship_code_student_id" , tb1."representative_id" as "relationship_code_id"
from datamart.students_representatives as tb1
where tb1.reason_code is not null and tb1.reason_code not in ('unreliable_data','stop_representant')
 CHECK8 Поле reason_value, содержащее значение 1, должно соответствовать значению unreliable_data в поле reason_code STUDENT_REPR_REASON_VALUE_INVALID SELECT tb1."student_id" as "relationship_code_student_id" , tb1."representative_id" as "relationship_code_id"
from datamart.students_representatives as tb1
where tb1.reason_value is not null and tb1.reason_value not in (1,2)
 CHECK9 Поле reason_value, содержащее значение 1, должно соответствовать
значению unreliable_data в поле reason_code
 STUDENT_REPR_REASON_CODE_UNRELIABLE_DATA_MISMATCH SELECT tb1."student_id" as "relationship_code_student_id" , tb1."representative_id" as "relationship_code_id"
from datamart.students_representatives as tb1
where tb1.reason_code='unreliable_data' and tb1.reason_value<>1 and tb1.reason_code is not null and tb1.reason_value is not null
 CHECK10 Поле reason_value, содержащее значение 2, должно соответствовать
значению stop_representant в поле reason_code
 STUDENT_REPR_REASON_CODE_STOP_REPRESENTANT_MISMATCH SELECT tb1."student_id" as "relationship_code_student_id" , tb1."representative_id" as "relationship_code_id"
from datamart.students_representatives as tb1
where tb1.reason_code='stop_representant' and tb1.reason_value<>2 and tb1.reason_code is not null and tb1.reason_value is not null

Таблица students_training

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле speciality не должно содержать пробел, допустимая длина не менее 2 символов COLLEGE_STUDENT_SPECIALITY_INVALID_FORMATПример запроса
 CHECK2 Поле code_speciality должно заполняться числами в формате dd.dd.dd COLLEGE_STUDENT_SPECIALITY_CODE_INVALID_FORMATПример запроса
 CHECK3 Поле num_courso должно заполняться целочисленными значениями не меньше 0 COLLEGE_STUDENT_COURSE_NUMBER_LESS_THAN_ZERO SELECT tb1."student_id", tb1."colleges_id", tb1."code_speciality"from datamart.students_training as tb1
where tb1.num_courso<0
 CHECK4 Поле num_courso должно заполняться целочисленными значениями не больше 10 COLLEGE_STUDENT_COURSE_NUMBER_GREATER_THAN_TEN SELECT tb1."student_id", tb1."colleges_id", tb1."code_speciality"
from datamart.students_training as tb1
where tb1.num_courso>10
 CHECK5 Поле attendance должно содержать одно из допустимый значений:
    • resident
    • part-time
    • extramural
    • family
    • self-education
    • no_data
    • externat
 COLLEGE_STUDENT_ATTENDANCE_INVALID_VALUE SELECT tb1."student_id", tb1."colleges_id", tb1."code_speciality"
from datamart.students_training as tb1
where tb1.attendance not in ('resident','part-time','extramural','family','self-education','no_data','externat')
 CHECK6 Поле data_start_study должно быть обязательно заполнено COLLEGE_STUDENT_STUDY_START_DATE_NOT_SET
 SELECT tb1."student_id", tb1."colleges_id", tb1."code_speciality"
from datamart.students_training as tb1
where tb1.data_start_study is null

Таблица teacher_citizenship

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле code должно содержать одно из допустимых значений:

ABH, AUS, AUT, AZE, ALB, DZA, ASM, AIA, AGO, AND, ATA, ATG, ARG, ARM, ABW, AFG, BHS, BGD, BRB, BHR, BLR, BLZ, BEL, BEN, BMU, BGR, BOL, BES, BIH, BWA, BRA, IOT, BRN, BFA, BDI, BTN, VUT, HUN, VEN, VGB, VIR, VNM, GAB, GUY, HTI, GMB, GHA, GLP, GT M, GIN, GNB, DEU, GGY, GIB, HND, HKG, GRD, GRL, GRC, GEO, GUM, DNK, JEY, DJI, DNR, DMA, DOM, EGY, ZMB, ESH, ZWE, YEM, I SR, IND, IDN, JOR, IRQ, IRN, IRL, ISL, ESP, ITA, CPV, KAZ, KHM, CMR, CAN, QAT, KEN, CYP, KGZ, KIR, CHN, CCK, COL, COM, COG, C OD, PRK, KOR, CRI, CIV, CUB, KWT, CUW, LAO, LVA, LSO, LBR, LBN, LBY, LTU, LIE, LNR, LUX, MUS, MRT, MDG, MYT, MAC, MWI, MY S, MLI, UMI, MDV, MLT, MAR, MTQ, MHL, MEX, FSM, MOZ, MDA, MCO, MNG, MSR, MMR, NAM, NRU, NPL, NER, NGA, NLD, NIC, NIU, NZL, NCL, NOR, ARE, OMN, BVT, IMN, NFK, CXR, HMD, CYM, COK, TCA, PAK, PLW, PSE, PAN, VAT, PNG, PRY, PER, PCN, POL, PRT, P RI, MKD, REU, RUS, RWA, ROU, WSM, SMR, STP, SAU, SWZ, SHN, MNP, SYC, BLM, SEN, MAF, SXM, VCT, KNA, LCA, SPM, SRB, SGP,SYR, SVK, SVN, GBR, GBD, GBN, GBO, GBP, GBS, USA, SLB, SOM, SDN, SUR, SLE, TJK, TWN, THA, TZA, TLS, TGO, TKL, TON, TTO, TUV, TUN, TKM, TUR, UGA, UZB, UKR, WLF, URY, FRO, FJI, PHL, FIN, FLK, FRA, GUF, PYF, ATF, HRV, CAF, TCD, MNE, CZE, CHL, CH E, SWE, SJM, LKA, ECU, GNQ, ALA, SLV, ERI, EST, ETH, ZAF, OST, SGS, SSD, JAM, JPN, EUE, XXA, XXB, XXC, XXX

 CITIZENSHIP_TR_COUNTRY_CODE_INVALID_VALUESELECT tb1."id" as "teacher_citizenship_id"from datamart.teacher_citizenship as tb1WHERE tb1.code not in ('ABH','AUS','AUT','AZE','ALB','DZA','ASM','AIA','AGO','AND','ATA','ATG','ARG','ARM','ABW','AFG','BHS','BGD','BRB','BHR','BLR','BLZ','BEL','BEN',' BMU','BGR','BOL','BES','BIH','BWA','BRA','IOT','BRN','BFA','BDI','BTN','VUT','HUN','VEN','VGB','VIR','VNM','GAB','GUY','HTI','GMB','GHA','GLP','GT M','GIN','GNB','DEU','GGY','GIB','HND','HKG','GRD','GRL','GRC','GEO','GUM','DNK','JEY','DJI','DNR','DMA','DOM','EGY','ZMB','ESH','ZWE','YEM','I SR','IND','IDN','JOR','IRQ','IRN','IRL','ISL','ESP','ITA','CPV','KAZ','KHM','CMR','CAN','QAT','KEN','CYP','KGZ','KIR','CHN','CCK','COL','COM','COG','C OD','PRK','KOR','CRI','CIV','CUB','KWT','CUW','LAO','LVA','LSO','LBR','LBN','LBY','LTU','LIE','LNR','LUX','MUS','MRT','MDG','MYT','MAC','MWI','MY S','MLI','UMI','MDV','MLT','MAR','MTQ','MHL','MEX','FSM','MOZ','MDA','MCO','MNG','MSR','MMR','NAM','NRU','NPL','NER','NGA','NLD','NIC','NIU','N ZL','NCL','NOR','ARE','OMN','BVT','IMN','NFK','CXR','HMD','CYM','COK','TCA','PAK','PLW','PSE','PAN','VAT','PNG','PRY','PER','PCN','POL','PRT','P RI','MKD','REU','RUS','RWA','ROU','WSM','SMR','STP','SAU','SWZ','SHN','MNP','SYC','BLM','SEN','MAF','SXM','VCT','KNA','LCA','SPM','SRB','SGP', 'SYR','SVK','SVN','GBR','GBD','GBN','GBO','GBP','GBS','USA','SLB','SOM','SDN','SUR','SLE','TJK','TWN','THA','TZA','TLS','TGO','TKL','TON','TTO',' TUV','TUN','TKM','TUR','UGA','UZB','UKR','WLF','URY','FRO','FJI','PHL','FIN','FLK','FRA','GUF','PYF','ATF','HRV','CAF','TCD','MNE','CZE','CHL','CH E','SWE','SJM','LKA','ECU','GNQ','ALA','SLV','ERI','EST','ETH','ZAF','OST','SGS','SSD','JAM','JPN','EUE','XXA','XXB','XXC','XXX')
 CHECK2 Поле name не должно содержать пробел, допустимая длина не менее 2 символов CITIZENSHIP_TR_COUNTRY_NAME_INVALID_FORMAT Пример запроса

Таблица teacher_link

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле должно содержать одно из целочисленных значений от 1 до 4
 TEACHER_LINK_ASSURANCE_INVALID_VALUEselect tb1."teacher_id" as "teacher_link_linked_teacher_id"from datamart.teacher_link as tb1
where tb1.assurance not in (1,2,3,4)

Таблица teacher_role

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 В случае заполнения поле code должно содержать одно из целочисленных значений от 1 до 4 ROLE_TEACHER_CODE_INVALID_VALUESELECT tr.id
from datamart.teacher_role as tr
WHERE tr.code is not null and tr.code not in (1,2,3,4)
 CHECK2 В случае заполнения поле employment должно содержать значения 1 или 2 ROLE_TEACHER_EMPLOYMENT_INVALID_VALUE
 SELECT tr.id
from datamart.teacher_role as tr
WHERE tr.employment is not null and tr.employment not in (1,2)
 CHECK3 Поле status_code должно содержать одно из допустимых значений:
    • active
    • retired
    • entered-in-error
 ROLE_TEACHER_STATUS_CODE_INVALID_VALUE
 SELECT tr.id
from datamart.teacher_role as tr
WHERE tr.status_code not in ('active','retired','entered-in-error')
 CHECK4 В случае заполнения поле status_value должно содержать одно из целочисленных значений от 1 до 3 ROLE_TEACHER_STATUS_VALUE_INVALID
 SELECT tr.id
from datamart.teacher_role as tr
WHERE tr.status_value is not null and tr.status_value not in (1,2,3)
 CHECK5 В случае заполнения поле reason_code должно содержать одно из допустимых значений:
    • unreliable_data
    • stop_to_perform
 ROLE_TEACHER_REASON_CODE_INVALID_VALUE
 SELECT tr.id
from datamart.teacher_role as tr
WHERE tr.reason_code is not null and tr.reason_code not in ('unreliable_data','stop_to_perform')
 CHECK6 В случае заполнения поле reason_value должно содержать значения 1 или 2 ROLE_TEACHER_REASON_VALUE_INVALID
 SELECT tr.id
from datamart.teacher_role as tr
WHERE tr.reason_value is not null and tr.reason_value not in (1,2)

Таблица teachers

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 В случае заполнения поле auth_link не должно начинаться с символа / TEACHER_AUTH_LINK_STARTS_WITH_SLASHSELECT tb1."id"
from datamart.teachers as tb1
where tb1.auth_link is not null and tb1.auth_link like '/%'
 CHECK2 Поле firstname должно соответствовать следующим условиям:
  • В написании используется кириллица (А-я, Ёё)
  • Длина основного слова должна быть от 1 до 27 символов
  • Допускается наличие от 1 до 4 дополнительных слов, которые могут быть разделены пробелом, точкой, дефисом или апострофом ('). Каждое дополнительное слово должно состоять из 2 до 27 символов
  • Допускается наличие римских цифр от I до X (например, для указания поколения), но только в самом конце строки
  • Не допускаются "висячие" пробелы в начале и конце строки, а также двойные пробелы внутри строки
 TEACHER_FIRST_NAME_INVALID_FORMATПример запроса
 CHECK3 Поле lastname должно соответствовать следующим условиям:
  • В написании используется кириллица (А-я, Ёё)
  • Длина основного слова должна быть от 1 до 27 символов
  • Допускается наличие от 1 до 4 дополнительных слов, которые могут быть разделены пробелом, точкой, дефисом или апострофом ('). Каждое дополнительное слово должно состоять из 2 до 27 символов
  • Допускается наличие римских цифр от I до X (например, для указания поколения), но только в самом конце строки
  • Не допускаются "висячие" пробелы в начале и конце строки, а также двойные пробелы внутри строки
 TEACHER_LAST_NAME_INVALID_FORMATПример запроса
 CHECK4 Если поле patronymic должно соответствовать следующим условиям:
  • В написании используется кириллица (А-я, Ёё)
  • Длина основного слова должна быть от 1 до 27 символов
  • Допускается наличие от 1 до 4 дополнительных слов, которые могут быть разделены пробелом, точкой, дефисом или апострофом ('). Каждое дополнительное слово должно состоять из 2 до 27 символов
  • Допускается наличие римских цифр от I до X (например, для указания поколения), но только в самом конце строки
  • Не допускаются "висячие" пробелы в начале и конце строки, а также двойные пробелы внутри строки
 TEACHER_PATRONYMIC_INVALID_FORMATGПример запроса
 CHECK5 Поле hash_gost2012 должно содержать только символы латиницы и цифры длиной в 128 знаков TEACHER_HASH_GOST2012_INVALID_FORMAT SELECT tb1."id"
from datamart.teachers as tb1
where tb1.hash_gost2012 not similar to '[a-f0-9]{128}'
 CHECK6 В случае заполнения поле gender_code должно содержать одно из допустимых значений:
    • male
    • female
 TEACHER_GENDER_CODE_INVALID_VALUE SELECT tb1."id"
from datamart.teachers as tb1
where tb1.gender_code is not null and tb1.gender_code not in ('male','female')
 CHECK7 В случае заполнения поле gender_value должно содержать одно из допустимых значений:
    • 1
    • 2
 TEACHER_GENDER_VALUE_INVALID SELECT tb1."id"
from datamart.teachers as tb1
where tb1.gender_value is not null and tb1.gender_value not in (1,2)
 CHECK8 Поле status_code должно содержать одно из допустимых значений:
    • active
    • cancelled
    • entered-in-error
 TEACHER_STATUS_CODE_INVALID_VALUE SELECT tb1."id"
from datamart.teachers as tb1
where tb1.status_code not in ('active','cancelled','entered-in-error')
 CHECK9 В случае заполнения поле status_value должно содержать одно из целочисленных значений от 1 до 3 TEACHER_STATUS_VALUE_INVALID SELECT tb1."id"from datamart.teachers as tb1
where tb1.status_value is not null and tb1.status_value not in (1,2,3)
 CHECK10 В случае заполнения поле reason_code должно содержать одно из допустимых значений:
    • start_work
    • quit_work
    • pause_work
    • resumption_work
    • death
 TEACHER_REASON_CODE_INVALID_VALUE SELECT tb1."id"
from datamart.teachers as tb1
where tb1.reason_code is not null and tb1.reason_code not in ('start_work','quit_work','pause_work','resumption_work','death')
 CHECK11 В случае заполнения поле reason_value должно содержать одно из целочисленных значений от 1 до 5 TEACHER_REASON_VALUE_INVALID SELECT tb1."id"
from datamart.teachers as tb1
where tb1.reason_value is not null and tb1.reason_value not in (1,2,3,4,5)

Таблица telecom

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 В случае заполнения поле type_contact должно содержать одно из целочисленных значений от 1 до 7 TELECOM_CONTACT_TYPE_INVALID_VALUESELECT tb1."id"from datamart.telecom as tb1
WHERE tb1.type_contact is not null and tb1.type_contact not in (1,2,3,4,5,6,7)
 CHECK2 Поле value_type не должно содержать пробел, допустимая длина не менее 2 символов TELECOM_VALUE_TYPE_INVALID_FORMAT Пример запроса
 CHECK3
 В случае заполнения поле use_cod должно содержать одно из целочисленных значений от 1 до 5
 TELECOM_USE_CODE_INVALID_VALUE SELECT tb1."id"
from datamart.telecom as tb1
WHERE tb1.use_cod is not null and tb1.use_cod not in (1,2,3,4,5)

Таблица unit_plan

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле unit_name не должно содержать пробел, допустимая длина не менее 1 символа UNIT_PLAN_NAME_INVALID_FORMATПример запроса
 CHECK2 Поле description не должно содержать пробел, допустимая длина не менее 2 символов UNIT_PLAN_DESCRIPTION_INVALID_FORMAT Пример запроса
 CHECK3 Поле unit_number не должно содержать пробел, допустимая длина не менее 1 символа UNIT_PLAN_NUMBER_INVALID_FORMAT Пример запроса

Таблица wardship_org_orig

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле name не должно содержать пробел, допустимая длина не менее 3 символов WARDSHIP_ORG_NAME_INVALID_FORMATПример запроса

Таблица wardship_org_type

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле code не должно содержать пробел, допустимая длина не менее 1 символа WARDSHIP_ORG_TYPE_CODE_INVALID_FORMATПример запроса
 CHECK2 Поле name не должно содержать пробел, допустимая длина не менее 1 символа WARDSHIP_ORG_TYPE_NAME_INVALID_FORMAT Пример запроса

Таблица wordship_alias

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле other_value не должно содержать пробел, допустимая длина не менее 1 символа WORDSHIP_ALIAS_VALUE_INVALID_FORMATПример запроса

Таблица ymarks

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1 Поле subject_name не должно содержать пробел, допустимая длина не менее 2 символов MARK_YM_SUBJECT_NAME_INVALID_FORMATПример запроса
 CHECK2 В случае заполнения поле fivepoint_fact должно содержать целое число или дробное число через точку MARK_YM_FIVEPOINT_FACT_INVALID_FORMATПример запроса
 CHECK3 В случае заполнения поле fivepoint_final_fact должно содержать целое число или дробное число через точку MARK_YM_FIVEPOINT_FINAL_FACT_INVALID_FORMATПример запроса
 CHECK4 В случае заполнения поле fivepoint_recent_plan должно содержать целое число или дробное через точку MARK_YM_FIVEPOINT_RECENT_PLAN_INVALID_FORMATПример запроса
 CHECK5 Поле class_num должно содержать целочисленное значение не меньше 1 MARK_YM_CLASS_NUM_LESS_THAN_ONE SELECT tb1."id" as "ymarks_id"
from datamart.ymarks as tb1
where tb1.class_num < 1
 CHECK6 Поле class_num должно содержать целочисленное значение не больше 12MARK_YM_CLASS_NUM_GRATER_THAN_TWELVE SELECT tb1."id" as "ymarks_id"
from datamart.ymarks as tb1
where tb1.class_num > 12
 CHECK7 В случае заполнения поле mark_scale_code должно содержать одно из допустимых значений:
    • 5-points
    • 10-points
    • 100-points
    • rating
    • pass/fail
    • nomarks
    • 7-points
    • 12-points
 MARK_YM_MARK_SCALE_CODE_INVALID_VALUE select tb1."id" as "ymarks_id"from datamart.ymarks as tb1
where tb1.mark_scale_code not in ('5-points','10-points','100-points','rating','pass/fail','nomarks','7-points','12-points')
 CHECK8 В случае заполнения поле mark_scale_value должно содержать одно из целочисленных значений от 1 до 8 MARK_YM_MARK_SCALE_VALUE_INVALID select tb1."id" as "ymarks_id"from datamart.ymarks as tb1
where tb1.mark_scale_value not in (1,2,3,4,5,6,7,8)

Таблица 50_10_statcommon

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1В таблице содержится идентификатор образовательной организации, который отсутвует в таблице schools 
 STATCOMMON_SCHOOL_ID_MISSING select datamart.statcommon."start_of_week", datamart.statcommon."student_id", datamart.statcommon."period_id"
 from datamart.statcommon left join datamart.schools on datamart.schools.id = datamart.statcommon.school_id 
 where datamart.schools.id is null

Таблица 50_23_statcommon

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1В таблице содержится идентификатор ученика, который отсутвует в таблице students 
 STATCOMMON_STUDENT_ID_MISSING selecttb1."start_of_week", tb1."student_id", tb1."period_id" 
from datamart.statcommon tb1 
wherenotexists ( select tb2.id from datamart.students tb2 where tb2.id = tb1.student_id )

Таблица 50_12_commonplanmarks

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1В таблице содержится идентификатор образовательной организации, который отсутвует в таблице schools
 COMMONPLANMARKS_SCHOOL_ID_MISSINGselect datamart.commonplanmarks."student_id", datamart.commonplanmarks."period_id"
from datamart.commonplanmarks left join datamart.schools on datamart.schools.id = datamart.commonplanmarks.school_id 
where datamart.schools.id is null

Таблица 50_27_students_representatives

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1В таблице содержится идентификатор ученика, который отсутвует в таблице students
 STUDENTS_REPRESENTATIVES_STUDENT_ID_MISSING select tb1."student_id", tb1."representative_id"
from datamart.students_representatives tb1 
where not exists ( select tb2.id from datamart.students tb2 where tb2.id = tb1.student_id )

Таблица 50_31_students_representatives

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1В таблице содержится идентификатор представителя ученика, который отсутвует в таблице representatives
 STUDENTS_REPRESENTATIVES_REPRESENTATIVE_ID_MISSINGselect datamart.students_representatives."representative_id", datamart.students_representatives."student_id"
from datamart.students_representatives left join datamart.representatives on datamart.representatives.id = datamart.students_representatives.representative_id 
where datamart.representatives.id is null

Таблица 50_25_commonplanmarks

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1В таблице содержится идентификатор ученика, который отсутвует в таблице students
 COMMONPLANMARKS_STUDENT_ID_MISSINGselect tb1."student_id", tb1."period_id"
from datamart.commonplanmarks tb1 
where not exists (select tb2.id from datamart.students tb2 where tb2.id = tb1.student_id)

Таблица 50_02_schools

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1Для каждой записи в таблице schools должна быть обеспечена возможность получения связанных данных из таблицы diaries  
 SCHOOLS_DIARY_ID_MISSING select tb1.id 
from datamart.schools tb1 
where not exists (select tb2.id from datamart.diaries tb2 where tb2.id = tb1.diary_id)

Таблица 50_04_schools

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1В таблице содержится идентификатор головной образовательной организации, который отсутвует в таблице schools 
 SCHOOLS_PARENT_SCHOOL_ID_MISSINGselect tb1."id"
from datamart.schools tb1 
where tb1.parent_school_id is not null and not exists ( select tb2.id from datamart.schools tb2 where tb2.id = tb1.parent_school_id )

Таблица bus_check2024_001

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1Для записи в таблице schools не обеспечена возможность связывания с юридическим адресом в таблице address по последовательности таблиц: schools - organisations - address_organisations - address. Для каждой школы необходимо обеспечить наличие в таблице address записи о юридическом адресе (address.type_address=5), а так же связующих записей в таблицах organisations и address_organisations
SCHOOLS_REQUIRED_ORGANISATION_ADDRESS_MISSINGselect s.id
from datamart.schools s 
where s.status_value = 1 and not exists (select o.id from datamart.organisations o joindatamart.address_organisations ao on ao.organisation_id = o.id join datamart.address a on a.id = ao.address_id where o.id = s.organisations_id and a.type_address=5)

Таблица bus_check2024_002

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1Для записи в таблице colleges не обеспечена возможность связывания с юридическим адресом в таблице address по последовательности таблиц: colleges - organisations - address_organisations - address. Для каждого учреждения СПО необходимо обеспечить наличие в таблице address записи о юридическом адресе (address.type_address=5), а так же связующих записей в таблицах organisations и address_organisations
 COLLEGES_REQUIRED_ORGANISATION_ADDRESS_MISSINGselect c.id
from datamart.colleges c 
where c.status_value = 1 and not exists (select a.id from datamart.organisations o join datamart.address_organisations ao on ao.organisation_id = o.id join datamart.address a on a.id = ao.address_id where o.id = c.organisations_id and a.type_address=5)

Таблица bus_check2024_008

 № проверки Требования к данным Формат ошибки SQL запрос для получения данных не подошедших по требованиям
 CHECK1Для ученика не обеспечено наличия расписания уроков на предстоящие 7 дней.
STUDENT_HAS_NO_LESSONS_WITHIN_NEXT_SEVEN_DAYSSELECT * FROM {datamart}.students AS st
WHERE st.active = true AND NOT EXISTS ( 
   SELECT lest.student_id FROM {datamart}.lessons_students AS lest 
   JOIN {datamart}.lessons AS le on le.id = lest.lesson_id
   WHERE lest.student_id = st.id
      and le.start_datetime >= CAST(CURRENT_DATE AS timestamp)  
      and le.start_datetime <= CAST(TIMESTAMPADD(day, 7, CURRENT_DATE) AS timestamp)
)

Авторизуйтесь, чтобы оставить комментарий к статье