Code Monkey home page Code Monkey logo

tsv19su254052 / loadworkdata-scripts Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 6.98 MB

ПЕТ-проект. Авиационный процессинг, телеметрия и телематика. SQL-ные базы данных и XML-ные структуры данных, запросы, схемы, преобразования

License: MIT License

XSLT 0.71% TSQL 98.94% XQuery 0.35%
dtd sql sql-server xdr xsd xsd-schema xslt xml xpath xquery xml-parser

loadworkdata-scripts's Introduction

SQL-ные базы данных и XML-ные структуры данных, запросы, схемы, преобразования.

Структура хранилища с базами данных Снежинка - в центре таблицы с рабочими и оперативными данными (далее по тексту данными), с краев таблицы со справочными данными (далее по тексту справочниками). Далее в работе базы со справочниками на терминальном сервере с MS SQL Server Developer 15-й (выбор компонентов см. снимок экрана ниже),

Установка v14 Выбор компонентов

база с данными на сервере СУБД с MS SQL Server Enterprice 15-й (выбор компонентов см. снимок экрана ниже).

Установка ENU 004

Интерпретаторы Java и Python устанавливаются дополнительно заранее. Модули машинного обучения подкидываются в процессе установки. Отладка автономными распределенными запросами и хранимыми процедурами с разнесенными транзакциями, иногда обернутыми в обработку исключения.

Подключение 003 и результаты распределенного запроса

Подключение 002 и результаты распределенного запроса

Таблица летательных аппаратов гибридная и содержит поля, которые правятся вручную и которые заполняются в процессе загрузки данных.

Модель восстановления баз данных - Полная, так как предусматривается одновременная работа множества клиентов и в хранимых процедурах используются помеченные транзакции. Обслуживание баз данных (проверка целостности, обслуживание индексов, бэкапы) делается обычным способом - на время все действия клиентов ставим на паузу до уведомления о возобновлении работы. Права пользователей на доступ к базам данных соответсвуют их учеткам Windows на SQL Server-е.

Файлы данных *.mdf размещаем на корпоративном быстром желательно SAS-овском HDD средней емкости (интенсивное чтение и запись в разные места), файлы журналов *.ldf - на обычном SATA-овом HDD большой емкости (медленная дозапись в конец), файлы данных и журнала tempdb - на NVMe средней емкости.

Отчеты по базам данных:

SSMS 001

СУБД Полная - Простая - Сжатие - Полная 001 003

СУБД Полная - Простая - Сжатие - Полная 001 004

SSMS СУБД Полная - Простая - Сжатие - Полная 001 002

SSMS СУБД Полная - Простая - Сжатие - Полная 002

tempdb Удалил все записи авиаперелетов

Собрал XML-ные поля в таблицах:

SSMS Делаем XML-ные поля

Считаем, что в XML-ном поле регистрации может быть только один тэг с аттрибутом-строкой, обозначающим какую-то одну регистрацию. Начало временного диапазона со следующей регистрацией считаем окончанием временного диапазона использования с предыдущей. Заполняем только ручным вводом.

Считаем, что в каждом XML-ном поле авиакомпании может быть только один тэг с аттрибутом-идентификатором, указывающим на какую-то одну авиакомпанию. Начало временного диапазона в следующей авиакомпании считаем окончанием временного диапазона использования в предыдущей. Аттрибуты-идентификаторы в разных XML-ных полях могут указывать на одну и ту же авиакомпанию (см. второй абзац "Считаем, что ...").

SSMS - сделал XML-ное поле хабов

Теперь можно не писать XSD-схему вручную с нуля, а сгенерировать в Management Studio (аскетичнее, архаичнее, но срабатывает точнее)

SSMS - XML-код - Создать схему

или в pyCharm-е (удобнее в плане подсветки синтаксиса и автодополнения, есть навигация по структуре).

pyCharm - генерация XSD-схемы

Добавил подмодуль Schematron-а в pyCharm-е:

pyCharm - добавил подмодуль Schematron-а в BaseX

Подправил собранную XSD-схему:

pyCharm - собираю XSD-схему

Вставил собранную XSD-схему в скрипт привязки и привязал ее к базе:

SSMS - привязал схему

Для удобства восприятия можно привязать к базе несколько коллекций XSD-схем, вставив в каждый скрипт привязки по одной XSD-схеме.

Коротко отмечу, что в начале XSD-схемы объявляются:

В XSD-схеме определяем элементы, каждый под своим именем. Полученные таким образом или с помощью XSLT-преобразования схемы вставляем в общую схему в соответствии с порядком просмотра XML-ных полей. В сложных случаях можно пользоваться Schematron-ом как импортированным модулем внутри среды управления BaseX.

Base X - установил плагин Schematron-а

Имя корневого тэга XML-ного поля соответствует имени элемента XSD-схемы. Исходный текст XSD-схемы вставляем в SQL-ный скрипт ее привязки к базе данных. Набрал эталонные XML-ные файлы по хабам и привязал их к собранной XSD-схеме в Management Studio:

SSMS - собираю исходные XML-ный файлы по хабам с привязкой к собранной XSD-схеме

Результаты привязки:

SSMS Сборка XSD-схемы

SSMS - привязал схему к базе 001

Поправки по терминологии:

  • Коллекцию схем XML в Management Studio точнее называть XSD-схемой.
  • Созданием схемы в SQL-ном скрипте правильнее называть привязкой XSD-схемы, потому что она уже собрана и сохранена файлом типа *.xsd.
  • DTD-схемы (старые и малофункциональные) и XDR-схемы (были в ходу короткое время до появления XSD-схем) уже мало применяются.

XML-ные поля пропускаем через XSD-схему:

  • программно на входе хранимой процедуры,
  • программно при вставке или при обновлении строки,
  • при редактировании XML-ного файла с привязкой к XSD-схеме в Management Studio,
  • при ручном вводе XML-ного поля при вызове хранимой процедуры в Management Studio.

loadworkdata-scripts's People

Contributors

tsv19su avatar tsv19su254052 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.