diff --git a/Работы/web/lab1/css/style.css b/Работы/web/lab1/css/style.css index af143bb..ad9e7ac 100644 --- a/Работы/web/lab1/css/style.css +++ b/Работы/web/lab1/css/style.css @@ -13,7 +13,7 @@ body { .container { max-width: 900px; - margin: 0 auto; + margin: 0; /* внешний отступ */ padding: 0 16px; /* внутренний отступ */ @@ -51,6 +51,7 @@ h2 { display: flex; /* флексбокс для горизонтального расположения */ flex-wrap: wrap; + gap: 8px; /* расстояние между элементами */ } @@ -78,7 +79,6 @@ table { width: 100%; border-collapse: collapse; /* объединение границ таблицы */ - margin-top: 8px; } th, diff --git a/Работы/ИРФМ/L1/README_specialities.md b/Работы/ИРФМ/L1/README_specialities.md new file mode 100644 index 0000000..7225121 --- /dev/null +++ b/Работы/ИРФМ/L1/README_specialities.md @@ -0,0 +1,1117 @@ +# README по лабораторной работе: XML → XSLT → HTML + SQL + +## 1. Что это за работа + +В этой работе берётся XML-файл со списком специальностей НИЯУ МИФИ, затем: + +1. анализируется структура данных; +2. определяется, какие поля есть у сущности `object`; +3. для каждого поля определяется тип данных; +4. для текстовых полей вычисляется максимальная длина значения; +5. определяются ограничения целостности: + - `NOT NULL`, если поле всегда заполнено; + - `CHECK`, если поле принимает от 2 до 5 разных значений; +6. формируется SQL-скрипт для PostgreSQL; +7. пишется XSLT-преобразование; +8. при открытии XML или при запуске Python-скрипта автоматически генерируется HTML-страница с анализом и SQL-кодом. + +Идея работы простая: + +- **XML** хранит исходные данные; +- **XSLT** описывает, как из XML сделать человекочитаемую HTML-страницу; +- **SQL** — это уже результат проектирования таблицы и генерации команд вставки; +- **Python** нужен как запасной способ генерации HTML, если браузер неудобно применяет XSLT. + +--- + +## 2. Короткая теория + +### 2.1. Что такое XML + +XML — это язык разметки для хранения структурированных данных. + +Пример: + +```xml + + 307 + Технологии разделения изотопов и ядерное топливо + 14.05.03 + +``` + +Здесь: + +- `object` — одна запись; +- `id`, `name`, `code` — поля этой записи; +- текст внутри тега — само значение; +- атрибут `type="integer"` — дополнительная информация о значении. + +В этой работе XML используется как **источник данных**. + +--- + +### 2.2. Что такое XSLT + +XSLT — это язык преобразования XML. + +Он позволяет сказать: + +- какие теги брать из XML; +- как их выводить; +- в каком порядке показывать; +- как на основе XML сгенерировать HTML, текст или другой XML. + +В нашей работе XSLT делает сразу две вещи: + +1. показывает **анализ данных**; +2. генерирует **SQL-код**. + +То есть XSLT здесь — это «шаблон», который читает XML и печатает из него понятный результат. + +--- + +### 2.3. Что такое HTML в этой работе + +HTML здесь не пишется вручную как обычная страница сайта. + +Он **генерируется автоматически** из XML через XSLT. + +Это важный смысл задания: показать именно преобразование, а не ручную вёрстку. + +--- + +### 2.4. Что такое SQL в этой работе + +SQL-файл нужен для базы данных PostgreSQL. + +Он содержит: + +1. удаление старых объектов, если они уже есть; +2. создание последовательности; +3. создание таблицы; +4. отдельные `INSERT`-запросы для каждой записи из XML. + +--- + +### 2.5. Что такое `NOT NULL` + +`NOT NULL` означает: значение в этом столбце обязательно должно быть. + +Если в XML поле ни разу не пустое, значит для таблицы логично поставить `NOT NULL`. + +Пример: + +```sql +name VARCHAR(102) NOT NULL +``` + +Это значит, что у записи не может быть пустого `name`. + +--- + +### 2.6. Что такое `CHECK` + +`CHECK` — это ограничение, которое разрешает только некоторые значения. + +Пример: + +```sql +CHECK (level IN ('Специалитет', 'Магистратура', 'Бакалавриат', 'Аспирантура')) +``` + +Это значит: в поле `level` можно записать только одно из этих значений. + +Такое ограничение удобно, когда уникальных вариантов мало и они заранее известны. + +--- + +### 2.7. Что такое последовательность `SEQUENCE` + +Последовательность — это объект БД, который выдаёт новые числа по порядку. + +В PostgreSQL значение берётся так: + +```sql +nextval('specialities_id_seq') +``` + +В задании сказано, что `id` при вставке нужно брать **не из XML**, а из последовательности. + +То есть XML-значение `id` анализируется, но при вставке в таблицу мы используем новый номер из sequence. + +--- + +### 2.8. Почему HTML не читает `.sql` напрямую + +HTML-страница в этой работе строится не из SQL-файла, а из XML через XSLT. + +Схема такая: + +```text +specialities.xml + specialities.xsl -> HTML +``` + +Поэтому если изменить только `.sql`, страница сама не поменяется. +Нужно менять XSLT или заново сгенерировать HTML через XML + XSLT. + +--- + +## 3. Какие файлы есть в работе + +### Основные файлы + +- `specialities.xml` — исходные данные в XML; +- `specialities.xsl` — XSLT-преобразование; +- `specialities.sql` — SQL-скрипт для PostgreSQL; +- `specialities.html` — готовый результат преобразования; +- `transform.py` — Python-скрипт для генерации HTML. + +--- + +## 4. Общая логика работы по шагам + +### Шаг 1. Берём XML + +В XML есть корневой тег `objects`, а внутри него много тегов `object`. +Каждый `object` — одна специальность. + +### Шаг 2. Анализируем поля + +У каждого `object` есть поля: + +- `id` +- `name` +- `code` +- `level` +- `level-id` +- `generation` +- `generation-id` +- `type` +- `type-id` + +### Шаг 3. Для каждого поля определяем свойства + +- тип данных; +- число пустых значений; +- для текста — максимальную длину; +- нужен ли `NOT NULL`; +- нужен ли `CHECK`. + +### Шаг 4. Генерируем SQL-структуру таблицы + +На основе анализа создаются: + +- последовательность `specialities_id_seq`; +- таблица `specialities`; +- ограничения `NOT NULL` и `CHECK`. + +### Шаг 5. Генерируем SQL-вставки + +Для каждого `object` создаётся **отдельный** `INSERT`. + +### Шаг 6. Генерируем HTML + +XSLT выводит на страницу: + +- анализ полей; +- SQL для создания таблицы и sequence; +- SQL `INSERT` для каждого объекта. + +### Шаг 7. При необходимости запускаем Python + +Python-скрипт берёт XML и XSLT и сохраняет готовый HTML-файл. + +--- + +## 5. Подробно по каждому файлу + +# 5.1. Файл `specialities.xml` + +## Что делает файл + +Это исходный набор данных. Он ничего сам не вычисляет. Он только хранит записи. + +## Как устроен файл + +У файла повторяющаяся структура. Поэтому подробно важно понять **первые строки и один типовой блок `object`**. Дальше всё повторяется по той же схеме. + +## Разбор структуры по строкам + +### Строка 1 + +```xml + +``` + +Что делает: +- объявляет XML-документ; +- указывает версию XML; +- задаёт кодировку UTF-8. + +Зачем нужна: +- чтобы парсер понимал, что это XML; +- чтобы русские буквы читались правильно. + +### Строка 2 + +```xml + +``` + +Что делает: +- открывает корневой контейнер; +- атрибут `type="array"` говорит, что внутри набор однотипных объектов. + +Зачем нужна: +- у XML должен быть один корневой элемент; +- все записи нужно куда-то вложить. + +### Строка 3 + +```xml + +``` + +Что делает: +- открывает одну запись. + +Зачем нужна: +- каждая специальность хранится как отдельный объект. + +### Строка 4 + +```xml +307 +``` + +Что делает: +- хранит идентификатор из исходного XML; +- атрибут `type="integer"` подсказывает, что значение числовое. + +Зачем нужна: +- поле участвует в анализе структуры данных; +- по заданию его значение не вставляется в БД напрямую, но само поле всё равно существует в исходном файле. + +### Строка 5 + +```xml +Технологии разделения изотопов и ядерное топливо +``` + +Что делает: +- хранит название специальности. + +Зачем нужна: +- это основной текстовый атрибут записи; +- по нему определяется максимальная длина поля `name`. + +### Строка 6 + +```xml +14.05.03 +``` + +Что делает: +- хранит код специальности. + +Зачем нужна: +- используется в таблице и в `INSERT`. + +### Строка 7 + +```xml +Специалитет +``` + +Что делает: +- хранит уровень образования. + +Зачем нужна: +- по этому полю видно, что допустимых значений немного; +- поэтому для него логично сформировать `CHECK`. + +### Строка 8 + +```xml +1 +``` + +Что делает: +- хранит числовой код уровня. + +Зачем нужна: +- это более компактный числовой эквивалент поля `level`. + +### Строка 9 + +```xml +ФГОС3+ +``` + +Что делает: +- хранит поколение стандарта. + +Зачем нужна: +- используется и в анализе, и в SQL. + +### Строка 10 + +```xml +1 +``` + +Что делает: +- хранит числовой код поколения. + +### Строка 11 + +```xml +специальность +``` + +Что делает: +- хранит тип образовательной позиции. + +### Строка 12 + +```xml +1 +``` + +Что делает: +- хранит числовой код поля `type`. + +### Строка 13 + +```xml + +``` + +Что делает: +- закрывает одну запись. + +### Строки 14 и далее + +Дальше идёт следующий `object` с точно такой же структурой: + +- открывается ``; +- внутри девять полей; +- затем ``. + +То есть весь файл дальше — это просто повторение одной и той же схемы для разных специальностей. + +### Последняя строка файла + +```xml + +``` + +Что делает: +- закрывает корневой контейнер. + +## Простое объяснение + +XML-файл — это как большая таблица, только записанная не в строках Excel, а во вложенных тегах. + +--- + +# 5.2. Файл `specialities.xsl` + +## Что делает файл + +Это главный логический файл работы. + +Он: + +1. читает XML; +2. выводит анализ полей; +3. собирает SQL-код создания таблицы; +4. выводит отдельные `INSERT` по всем объектам; +5. формирует итоговый HTML. + +Ниже — подробный разбор по строкам и блокам. + +## Разбор файла `specialities.xsl` + +### Строка 1 + +```xml + +``` + +Это объявление XML для самого XSLT-файла. + +### Строка 2 + +```xml + +``` + +Что делает: +- открывает XSLT-документ; +- объявляет пространство имён `xsl`; +- указывает, что используется XSLT 1.0. + +Зачем нужно: +- без этого процессор не поймёт, что перед ним XSLT. + +### Строка 3 + +```xml + +``` + +Что делает: +- говорит, что результат преобразования будет HTML; +- кодировка UTF-8; +- `indent="yes"` просит красиво форматировать результат. + +--- + +## Блок ключей: строки 5–11 + +```xml + +... +``` + +Что делают ключи: +- помогают находить уникальные значения; +- используются для формирования `CHECK`. + +Простыми словами: +- если в XML много раз встречается `Специалитет`, ключ позволяет взять это значение один раз, а не печатать его сто раз. + +Используемые ключи: +- `k-level` +- `k-level-id` +- `k-generation` +- `k-generation-id` +- `k-type` +- `k-type-id` + +--- + +## Блок `escape-sql`: строки 13–28 + +Это шаблон для экранирования одинарных кавычек в SQL. + +### Строка 14 + +```xml + +``` + +Создаёт именованный шаблон. + +### Строка 15 + +```xml + +``` + +Принимает входной текст. + +### Строки 16–27 + +Логика такая: +- если в тексте есть `'`, +- то она заменяется на `''`, +- потому что в SQL именно так экранируют одинарную кавычку. + +Зачем это нужно: +- чтобы SQL не ломался на строковых значениях. + +--- + +## Блоки `show-not-null-text` и `sql-not-null`: строки 30–43 + +### `show-not-null-text` + +Выводит на HTML строку: + +```html +Нужен: NOT NULL +``` + +только если число пустых значений равно 0. + +### `sql-not-null` + +Добавляет в SQL-фрагмент текст: + +```sql +NOT NULL +``` + +тоже только если пустых значений нет. + +Это важно, потому что ограничение теперь не написано «по умолчанию», а выводится по фактическому анализу XML. + +--- + +## Главный шаблон `match="/"`: строки 45–118 + +Это входная точка преобразования. + +Когда XSLT начинает работу, он сначала попадает именно сюда. + +### Строки 46–58 + +Создают обычную HTML-обёртку: +- `` +- `` +- `` +- `` +- `<style>` + +### Строки 51–56 + +Простой CSS: +- задаёт шрифт; +- размер заголовков; +- отступы; +- стиль для SQL-блоков. + +### Строки 59–61 + +Начало `<body>` и заголовки страницы. + +### Строки 63–71 + +```xml +<xsl:call-template name="field-id"/> +... +``` + +Что делают: +- вызывают отдельные шаблоны анализа для каждого поля. + +Это удобно, потому что код разбит по частям. + +--- + +## Блок создания SQL-структуры: строки 73–94 + +Этот блок выводит в HTML SQL для: +- `DROP TABLE` +- `DROP SEQUENCE` +- `CREATE SEQUENCE` +- `CREATE TABLE` + +Внутри используется `<xsl:text>`, потому что SQL нужно печатать как обычный текст. + +### Почему в середине идут вызовы `sql-not-null` + +Например: + +```xml +id INTEGER</xsl:text><xsl:call-template name="sql-not-null">... +``` + +Это сделано так, чтобы: +- сначала вывести тип поля; +- потом, если надо, дописать `NOT NULL`. + +То есть SQL формируется динамически. + +--- + +## Блок генерации `INSERT`: строки 96–117 + +### Строка 96 + +```xml +<xsl:for-each select="objects/object"> +``` + +Что делает: +- запускает цикл по всем объектам XML. + +Это ключевая часть задания. + +### Строка 97 + +```xml +<div class="sql"> +``` + +Каждый `INSERT` выводится в отдельном HTML-блоке. + +Зачем это хорошо: +- на странице визуально видно, что для каждого `object` создаётся отдельный запрос. + +### Строки 97–116 + +Печатают SQL вида: + +```sql +INSERT INTO specialities (...) VALUES (...); +``` + +Что важно: +- `id` берётся как `nextval('specialities_id_seq')`; +- остальные значения берутся из XML; +- текстовые поля проходят через `escape-sql`; +- числовые поля выводятся напрямую через `xsl:value-of`. + +--- + +## Шаблоны анализа полей + +Ниже в файле идут шаблоны: + +- `field-id` +- `field-name` +- `field-code` +- `field-level` +- `field-level-id` +- `field-generation` +- `field-generation-id` +- `field-type` +- `field-type-id` + +У них одна и та же идея: + +1. посчитать число пустых значений; +2. вывести тип данных; +3. если поле текстовое — найти самый длинный элемент; +4. если пустых нет — вывести `NOT NULL`; +5. если значений мало — вывести `CHECK`. + +### Как считается число пустых + +Например: + +```xml +count(objects/object/name[not(normalize-space())]) +``` + +Что это значит: +- берём все `name`; +- `normalize-space()` убирает лишние пробелы; +- `not(...)` выбирает пустые; +- `count(...)` считает их. + +### Как находится самый длинный элемент + +Например для `name`: + +```xml +<xsl:for-each select="objects/object/name"> + <xsl:sort select="string-length(.)" data-type="number" order="descending"/> + <xsl:if test="position() = 1"> ... </xsl:if> +</xsl:for-each> +``` + +Логика: +- перебираем все значения; +- сортируем по длине по убыванию; +- берём первое, то есть самое длинное. + +### Как строится `CHECK` + +Например для `level`: + +```xml +<xsl:for-each select="objects/object/level[generate-id() = generate-id(key('k-level', .)[1])]"> +``` + +Логика: +- ключ `k-level` находит группы одинаковых значений; +- `generate-id() = generate-id(...[1])` оставляет только первое вхождение каждого значения; +- в результате выводятся только уникальные варианты. + +Простыми словами: +- если в XML 100 раз встречается `Бакалавриат`, в `CHECK` он попадёт один раз. + +--- + +# 5.3. Файл `specialities.sql` + +## Что делает файл + +Это итоговый SQL-скрипт для PostgreSQL. + +Он нужен, чтобы: +- создать таблицу; +- создать последовательность; +- заполнить таблицу данными. + +## Логика структуры + +Файл очень длинный, потому что содержит много отдельных `INSERT`. +Поэтому подробно разбираем: + +1. заголовок SQL-файла; +2. структуру таблицы; +3. один типовой `INSERT`. + +Дальше все остальные `INSERT` устроены точно так же. + +## Разбор начала файла + +### Строка 1 + +```sql +DROP TABLE IF EXISTS specialities; +``` + +Что делает: +- удаляет таблицу `specialities`, если она уже существует. + +Зачем нужна: +- чтобы скрипт можно было запускать повторно. + +### Строка 2 + +```sql +DROP SEQUENCE IF EXISTS specialities_id_seq; +``` + +Что делает: +- удаляет последовательность, если она уже есть. + +### Строки 4–6 + +```sql +CREATE SEQUENCE specialities_id_seq + START WITH 1 + INCREMENT BY 1; +``` + +Что делают: +- создают последовательность; +- первый номер будет 1; +- дальше увеличение на 1. + +### Строки 8–19 + +Создают таблицу `specialities`. + +#### Строка 9 + +```sql +id INTEGER NOT NULL, +``` + +Числовой идентификатор, обязательный. + +#### Строка 10 + +```sql +name VARCHAR(102) NOT NULL, +``` + +Текстовое поле длиной до 102 символов. + +Почему 102: +- это максимальная длина, найденная в XML. + +#### Строка 11 + +```sql +code VARCHAR(8) NOT NULL, +``` + +Поле кода длиной до 8 символов. + +#### Строки 12–17 + +Поля со встроенными ограничениями `CHECK`. + +Пример: + +```sql +level VARCHAR(12) NOT NULL CHECK (...) +``` + +Это значит: +- хранится текст до 12 символов; +- поле обязательно; +- допустимы только перечисленные значения. + +#### Строка 18 + +```sql +CONSTRAINT pk_specialities PRIMARY KEY (id) +``` + +Создаёт первичный ключ по полю `id`. + +#### Строка 19 + +```sql +); +``` + +Закрывает определение таблицы. + +--- + +## Разбор типового `INSERT` + +Пример: + +```sql +INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Технологии разделения изотопов и ядерное топливо', + '14.05.03', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +); +``` + +### Что здесь происходит + +- указывается таблица `specialities`; +- перечисляются столбцы; +- `id` берётся из sequence, а не из XML; +- остальные поля берутся из XML; +- запрос заканчивается `;`. + +### Почему каждый `INSERT` отдельный + +Потому что задание прямо требует: +- для каждой сущности `object` должен быть отдельный `INSERT`. + +Значит один `object` XML = один `INSERT` SQL. + +--- + +# 5.4. Файл `specialities.html` + +## Что делает файл + +Это уже готовый результат преобразования. + +Если открыть его в браузере, будет видно: +- анализ полей; +- нужные ограничения; +- SQL для создания структуры; +- отдельные SQL-вставки. + +## Важный смысл + +Этот файл не основной источник логики. + +Он нужен как **результат**. + +Источник логики — это `specialities.xsl`. + +Если ты меняешь XSLT, то нужно заново генерировать HTML. + +--- + +# 5.5. Файл `transform.py` + +## Что делает файл + +Этот скрипт применяет XSLT к XML и сохраняет HTML. + +Это запасной и очень удобный способ показать на паре, что HTML генерируется автоматически. + +## Разбор по строкам + +### Строка 1 + +```python +from lxml import etree +``` + +Что делает: +- импортирует библиотеку `lxml`; +- модуль `etree` умеет работать с XML и XSLT. + +### Строка 3 + +```python +# загружаем XML +``` + +Комментарий для пояснения. + +### Строка 4 + +```python +xml = etree.parse("specialities_variant1.xml") +``` + +Что делает: +- читает XML-файл с диска; +- превращает его в дерево XML. + +Если у тебя рабочий файл называется `specialities.xml`, здесь нужно подставить именно это имя. + +### Строка 6 + +```python +# загружаем XSLT +``` + +Комментарий. + +### Строка 7 + +```python +xslt = etree.parse("specialities_report.xsl") +``` + +Что делает: +- читает XSLT-файл. + +Если твой файл называется `specialities.xsl`, здесь тоже нужно использовать актуальное имя. + +### Строка 9 + +```python +# создаем трансформацию +``` + +Комментарий. + +### Строка 10 + +```python +transform = etree.XSLT(xslt) +``` + +Что делает: +- превращает XSLT-документ в исполняемое преобразование. + +### Строка 12 + +```python +# применяем +``` + +Комментарий. + +### Строка 13 + +```python +result = transform(xml) +``` + +Что делает: +- применяет XSLT к XML; +- получает результат в виде HTML-документа. + +### Строка 15 + +```python +# сохраняем HTML +``` + +Комментарий. + +### Строки 16–17 + +```python +with open("specialities_variant1.html", "wb") as f: + f.write(etree.tostring(result, pretty_print=True, encoding="UTF-8")) +``` + +Что делают: +- открывают файл для записи в бинарном режиме; +- сохраняют туда результат преобразования. + +Опять же: имя файла нужно согласовать с твоими текущими названиями. + +### Строка 19 + +```python +print("HTML успешно создан: specialities_variant1.html") +``` + +Что делает: +- печатает сообщение об успехе. + +--- + +## 6. Что в этой работе важно понимать для защиты + +### 1. XML — это источник данных + +Он не создаёт HTML сам по себе и не создаёт SQL сам по себе. +Он только хранит данные. + +### 2. XSLT — это логика преобразования + +Именно XSLT решает: +- что показать на странице; +- как вычислить длины; +- как посчитать пустые; +- как вывести `CHECK`; +- как собрать SQL. + +### 3. HTML — это результат + +HTML уже готовая страница, которую видит пользователь. + +### 4. SQL — это отдельный результат для БД + +SQL-файл можно выполнить в PostgreSQL и получить таблицу с данными. + +### 5. Python — это технический помощник + +Он нужен, когда браузер неудобно применяет XSLT напрямую. + +--- + +## 7. Почему решение считается корректным + +Потому что оно выполняет все ключевые требования задания: + +- используются данные из `specialities.xml`; +- определены поля сущности `object`; +- для каждого поля выполнен анализ; +- для текстовых полей найдена максимальная длина; +- `NOT NULL` ставится по условию «пустых нет»; +- `CHECK` формируется для полей с малым количеством значений; +- создан SQL для PostgreSQL; +- создана последовательность для `id`; +- для каждого `object` генерируется отдельный `INSERT`; +- `id` в `INSERT` берётся из sequence, а не из XML; +- HTML генерируется автоматически через XSLT. + +--- + +## 8. Как запускать + +### Вариант 1. Через браузер + +Если браузер корректно применяет XSLT, можно открыть XML-файл. + +### Вариант 2. Через Python + +Запустить: + +```bash +python transform.py +``` + +После этого появится HTML-файл. + +### Важно + +Имена файлов в `transform.py` должны совпадать с реальными именами файлов в папке. + +--- + +## 9. Что можно коротко сказать преподавателю + +1. `specialities.xml` — это исходные данные по специальностям. +2. `specialities.xsl` — это XSLT-преобразование, которое автоматически строит HTML и SQL по XML. +3. `specialities.sql` — итоговый SQL-скрипт под PostgreSQL: sequence, table и отдельные insert-запросы. +4. `specialities.html` — уже сгенерированный результат. +5. `transform.py` — вспомогательный скрипт для автоматической генерации HTML, если не хочется зависеть от браузера. + +Главная идея работы: **данные берутся из XML, а HTML и SQL получаются автоматически, а не пишутся вручную**. diff --git a/Работы/ИРФМ/L1/specialities.html b/Работы/ИРФМ/L1/specialities.html new file mode 100644 index 0000000..c21eb0b --- /dev/null +++ b/Работы/ИРФМ/L1/specialities.html @@ -0,0 +1,2197 @@ +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>Анализ данных файла specialities.xml + + + +

Анализ данных файла specialities.xml (specialities.xml)

+

Выполнено студентами С22-712: Антипенко Д.А, Гаранян А.Э, Епифанов В.С, Ускова Е.А.

+
+
Анализ поля id
+
Тип данных: integer
+
Число пустых: 0
+
Нужен: NOT NULL
+
+
+
Анализ поля name
+
Тип данных: Текст
+
Самый длинный элемент: + Твердотельная электроника, радиоэлектронные компоненты, микро- и наноэлектроника на квантовых эффектах , длина: 102
+
Число пустых: 0
+
Нужен: NOT NULL
+
+
+
Анализ поля code
+
Тип данных: Текст
+
Самый длинный элемент: + 14.05.03 , длина: 8
+
Число пустых: 0
+
Нужен: NOT NULL
+
+
+
Анализ поля level
+
Тип данных: Текст
+
Самый длинный элемент: + Магистратура , длина: 12
+
Число пустых: 0
+
Нужен: NOT NULL
+
Нужен: CHECK (level IN( + 'Специалитет' , 'Магистратура' , 'Бакалавриат' , 'Аспирантура' + ))
+
+
+
Анализ поля level-id
+
Тип данных: integer
+
Число пустых: 0
+
Нужен: NOT NULL
+
Нужен: CHECK (level_id IN( + '1' , '2' , '0' , '3' + ))
+
+
+
Анализ поля generation
+
Тип данных: Текст
+
Самый длинный элемент: + ФГОС3+ , длина: 6
+
Число пустых: 0
+
Нужен: NOT NULL
+
Нужен: CHECK (generation IN( + 'ФГОС3+' , 'ГОС2' + ))
+
+
+
Анализ поля generation-id
+
Тип данных: integer
+
Число пустых: 0
+
Нужен: NOT NULL
+
Нужен: CHECK (generation_id IN( + '1' , '0' + ))
+
+
+
Анализ поля type
+
Тип данных: Текст
+
Самый длинный элемент: + специальность , длина: 13
+
Число пустых: 0
+
Нужен: NOT NULL
+
Нужен: CHECK (type IN( + 'специальность' , 'направление' + ))
+
+
+
Анализ поля type-id
+
Тип данных: integer
+
Число пустых: 0
+
Нужен: NOT NULL
+
Нужен: CHECK (type_id IN( + '1' , '0' + ))
+
+

SQL-файл

+
DROP TABLE IF EXISTS specialities; +DROP SEQUENCE IF EXISTS specialities_id_seq; + +CREATE SEQUENCE specialities_id_seq + START WITH 1 + INCREMENT BY 1; + +CREATE TABLE specialities ( + id INTEGER NOT NULL, + name VARCHAR(102) NOT NULL, + code VARCHAR(8) NOT NULL, + level VARCHAR(12) NOT NULL CHECK (level IN ('Специалитет', 'Магистратура', 'Бакалавриат', 'Аспирантура')), + level_id INTEGER NOT NULL CHECK (level_id IN (1, 2, 0, 3)), + generation VARCHAR(6) NOT NULL CHECK (generation IN ('ФГОС3+', 'ГОС2')), + generation_id INTEGER NOT NULL CHECK (generation_id IN (1, 0)), + type VARCHAR(13) NOT NULL CHECK (type IN ('специальность', 'направление')), + type_id INTEGER NOT NULL CHECK (type_id IN (1, 0)), + CONSTRAINT pk_specialities PRIMARY KEY (id) +);
+

SQL: INSERT-запросы, сформированные из XML

+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Технологии разделения изотопов и ядерное топливо', + '14.05.03', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Ядерные физика и технологии', + '14.04.02', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Юриспруденция', + '030501', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная математика', + '230401', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информационная безопасность', + '090900', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Конструкторско-технологическое обеспечение машиностроительных производств', + '151900', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика кинетических явлений', + '140303', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная информатика', + '09.03.03', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная математика и информатика', + '01.03.02', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Бизнес-информатика', + '38.04.05', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информационные системы и технологии', + '09.04.02', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Применение и эксплуатация автоматизированных систем специального назначения', + '09.05.01', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Безопасность и нераспространение ядерных материалов', + '140309', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Техническая физика', + '140400', + 'Магистратура', + 2, + 'ГОС2', + 0, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Ядерные физика и технологии', + '140800', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная математика и информатика', + '010501', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Атомные станции: проектирование, эксплуатация и инжиниринг', + '14.05.02', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Юриспруденция', + '40.03.01', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Экономика', + '38.03.01', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная информатика (по областям)', + '080801', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Материаловедение и технологии материалов', + '22.03.01', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Юриспруденция', + '40.04.01', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информационно-аналитические системы безопасности', + '10.05.04', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Материаловедение и технологии материалов', + '150100', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Электроника и автоматика физических установок', + '14.05.04', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Международные отношения', + '41.03.05', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Технологии разделения изотопов и ядерное топливо', + '141405', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Безопасность информационных технологий в правоохранительной сфере', + '10.05.05', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Экономика', + '080100', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная информатика', + '230700', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Ядерные физика и технологии', + '14.03.02', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информатика и вычислительная техника', + '09.04.01', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Бизнес-информатика', + '38.03.05', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Системный анализ и управление', + '27.03.03', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информационная безопасность', + '090900', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Ядерная энергетика и теплофизика', + '14.04.01', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информатика и вычислительная техника', + '230100', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Вычислительные машины, комплексы, системы и сети', + '230101', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная математика и информатика', + '010400', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная математика', + '01.03.04', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Комплексная защита объектов информатизации', + '090104', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная математика и информатика', + '010400', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Правовое обеспечение национальной безопасности', + '40.05.01', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика', + '03.03.02', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информационная безопасность', + '10.03.01', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика металлов', + '150702', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика пучков заряженных частиц и ускорительная техника', + '140304', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Медицинская физика', + '010707', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная математика и информатика', + '01.04.02', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информационная безопасность', + '10.04.01', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Комплексное обеспечение информационной безопасности автоматизированных систем', + '090105', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладные математика и физика', + '03.04.01', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Материаловедение и технологии материалов', + '22.04.01', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная информатика', + '09.04.03', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Международные отношения', + '030701', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Ядерные реакторы и материалы', + '14.05.01', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная математика и информатика', + '010500', + 'Бакалавриат', + 0, + 'ГОС2', + 0, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладные математика и физика', + '010600', + 'Бакалавриат', + 0, + 'ГОС2', + 0, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информатика и вычислительная техника', + '09.03.01', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Программная инженерия', + '09.04.04', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная математика и информатика', + '010500', + 'Магистратура', + 2, + 'ГОС2', + 0, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика', + '010700', + 'Бакалавриат', + 0, + 'ГОС2', + 0, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Менеджмент', + '080500', + 'Бакалавриат', + 0, + 'ГОС2', + 0, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика', + '011200', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информационная безопасность автоматизированных систем', + '10.05.03', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладные математика и физика', + '010900', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Материаловедение и технологии материалов', + '150100', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Математические методы в экономике', + '080116', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика', + '011200', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Экономика и управление на предприятии (по отраслям)', + '080502', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Международные отношения', + '41.04.05', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика', + '03.04.02', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладные математика и физика', + '010600', + 'Магистратура', + 2, + 'ГОС2', + 0, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Электроника и микроэлектроника', + '210100', + 'Магистратура', + 2, + 'ГОС2', + 0, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Менеджмент', + '38.03.02', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Финансы и кредит', + '080105', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информатика и вычислительная техника', + '230100', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Экономика', + '080100', + 'Бакалавриат', + 0, + 'ГОС2', + 0, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика конденсированного состояния вещества', + '140301', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Ядерные реакторы и энергетические установки', + '140305', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информационная безопасность автоматизированных систем', + '090303', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика атомного ядра и частиц', + '140302', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Менеджмент', + '38.04.02', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информационные системы и технологии', + '09.03.02', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Бухгалтерский учет, анализ и аудит', + '080109', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Программная инженерия', + '231000', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладные математика и физика', + '03.03.01', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Экономика', + '38.04.01', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Ядерные физика и технологии', + '140800', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Конструкторско-технологическое обеспечение машиностроительных производств', + '15.04.05', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Автоматизированные системы обработки информации и управления', + '230102', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Прикладная математика', + '01.04.04', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Экономическая безопасность', + '38.05.01', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Радиационная безопасность человека и окружающей среды', + '140307', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Экономика', + '080100', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Менеджмент', + '080200', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Программная инженерия', + '09.03.04', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Системный анализ и управление', + '27.04.03', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Менеджмент', + '080200', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Ядерная энергетика и теплофизика', + '140700', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Электроника и автоматика физических установок', + '140306', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Дифференциальные уравнения', + '01.01.02', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Приборы и методы экспериментальной физики', + '01.04.01', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика и астрономия', + '03.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Теоретическая физика', + '01.04.02', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика конденсированного состояния', + '01.04.07', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика плазмы', + '01.04.08', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Электрофизика, электрофизические установки', + '01.04.13', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Теплофизика и теоретическая теплотехника', + '01.04.14', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Электро- и теплотехника', + '13.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика атомного ядра и элементарных частиц', + '01.04.16', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика пучков заряженных частиц и ускорительная техника', + '01.04.20', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Лазерная физика', + '01.04.21', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физика высоких энергий', + '01.04.23', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информационно-измерительные и управляющие системы (по отраслям)', + '05.11.16', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Управление в технических системах', + '27.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Системный анализ, управление и обработка информации (по отраслям)', + '05.13.01', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информатика и вычислительная техника', + '09.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Элементы и устройства вычислительной техники и систем управления', + '05.13.05', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Автоматизация и управление технологическими процессами и производствами (по отраслям)', + '05.13.06', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей', + '05.13.11', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Математическое моделирование, численные методы и комплексы программ', + '05.13.18', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Компьютерные и информационные науки ', + '02.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Методы и системы защиты информации, информационная безопасность', + '05.13.19', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Информационная безопасность', + '10.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Ядерные энергетические установки, включая проектирование, эксплуатацию и вывод из эксплуатации', + '05.14.03', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Ядерная, тепловая и возобновляемая энергетика и сопутствующие технологии', + '14.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Твердотельная электроника, радиоэлектронные компоненты, микро- и наноэлектроника на квантовых эффектах', + '05.27.01', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Электроника, радиотехника и системы связи', + '11.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Экономика и управление народным хозяйством (по отраслям и сферам деятельности)', + '08.00.05', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Экономика', + '38.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Бухгалтерский учет, статистика', + '08.00.12', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Математические и инструментальные методы экономики', + '08.00.13', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Административное право, финансовое право, информационное право', + '12.00.14', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Юриспруденция', + '40.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Материаловедение', + '05.16.09', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Химическая технология', + '18.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Порошковая металлургия и композиционные материалы', + '05.16.06', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Технологии материалов', + '22.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Лазерная техника и лазерные технологии', + '12.03.05', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Математика и механика', + '01.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Юриспруденция', + '030900', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Компьютерные и информаионные науки', + '02.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Психология', + '37.04.01', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Лазерная техника и лазерные технологии', + '12.04.05', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Физико-технические науки и технологии', + '16.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Экономическая безопасность', + '080101', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Химические науки', + '04.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Фотоника, приборостроение, оптические и биотехнические системы и технологии', + '12.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Машиностроение', + '15.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Психологические науки', + '37.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Биологические науки', + '06.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Электроника и наноэлектроника', + '11.04.04', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Электроника и наноэлектроника', + '11.03.04', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Авиационная и ракетно-космическая техника', + '24.06.01', + 'Аспирантура', + 3, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Биология', + '06.03.01', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Лечебное дело', + '31.05.01', + 'Специалитет', + 1, + 'ФГОС3+', + 1, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Менеджмент организации', + '080507', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Приборостроение', + '12.03.01', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Химия', + '04.03.01', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Химия, физика и механика материалов', + '04.04.02', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Экология и природопользование', + '05.03.06', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Атомные электрические станции и установки', + '140404', + 'Специалитет', + 1, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Ядерная энергетика и теплофизика', + '14.03.01', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Технология редких, рассеянных и радиоактивных элементов', + '05.17.02', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Технология электрохимических процессов и защита от коррозии', + '05.17.03', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Химическая технология топлива и высокоэнергетических веществ', + '05.17.07', + 'Аспирантура', + 3, + 'ГОС2', + 0, + 'специальность', + 1 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Фотоника и оптоинформатика', + '12.04.03', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Биотехнические системы и технологии', + '12.03.04', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Фотоника и оптоинформатика', + '12.03.03', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Высокотехнологические плазменные и энергетические установки', + '16.03.02', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Высокотехнологические плазменные и энергетические установки', + '16.04.02', + 'Магистратура', + 2, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + 'Мехатроника и робототехника', + '15.03.06', + 'Бакалавриат', + 0, + 'ФГОС3+', + 1, + 'направление', + 0 +);
+ + diff --git a/Работы/ИРФМ/L1/specialities.xml b/Работы/ИРФМ/L1/specialities.xml new file mode 100644 index 0000000..287036a --- /dev/null +++ b/Работы/ИРФМ/L1/specialities.xml @@ -0,0 +1,1908 @@ + + + + + + 307 + Технологии разделения изотопов и ядерное топливо + 14.05.03 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 308 + Ядерные физика и технологии + 14.04.02 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 309 + Юриспруденция + 030501 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 310 + Прикладная математика + 230401 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 311 + Информационная безопасность + 090900 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 312 + Конструкторско-технологическое обеспечение машиностроительных производств + 151900 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 313 + Физика кинетических явлений + 140303 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 314 + Прикладная информатика + 09.03.03 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 315 + Прикладная математика и информатика + 01.03.02 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 316 + Бизнес-информатика + 38.04.05 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 317 + Информационные системы и технологии + 09.04.02 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 318 + Применение и эксплуатация автоматизированных систем специального назначения + 09.05.01 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 319 + Безопасность и нераспространение ядерных материалов + 140309 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 320 + Техническая физика + 140400 + Магистратура + 2 + ГОС2 + 0 + направление + 0 + + + 321 + Ядерные физика и технологии + 140800 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 322 + Прикладная математика и информатика + 010501 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 323 + Атомные станции: проектирование, эксплуатация и инжиниринг + 14.05.02 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 324 + Юриспруденция + 40.03.01 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 325 + Экономика + 38.03.01 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 326 + Прикладная информатика (по областям) + 080801 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 327 + Материаловедение и технологии материалов + 22.03.01 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 328 + Юриспруденция + 40.04.01 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 329 + Информационно-аналитические системы безопасности + 10.05.04 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 330 + Материаловедение и технологии материалов + 150100 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 331 + Электроника и автоматика физических установок + 14.05.04 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 332 + Международные отношения + 41.03.05 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 333 + Технологии разделения изотопов и ядерное топливо + 141405 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 334 + Безопасность информационных технологий в правоохранительной сфере + 10.05.05 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 335 + Экономика + 080100 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 336 + Прикладная информатика + 230700 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 337 + Ядерные физика и технологии + 14.03.02 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 338 + Информатика и вычислительная техника + 09.04.01 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 339 + Бизнес-информатика + 38.03.05 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 340 + Системный анализ и управление + 27.03.03 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 341 + Информационная безопасность + 090900 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 342 + Ядерная энергетика и теплофизика + 14.04.01 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 343 + Информатика и вычислительная техника + 230100 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 344 + Вычислительные машины, комплексы, системы и сети + 230101 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 345 + Прикладная математика и информатика + 010400 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 346 + Прикладная математика + 01.03.04 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 347 + Комплексная защита объектов информатизации + 090104 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 348 + Прикладная математика и информатика + 010400 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 349 + Правовое обеспечение национальной безопасности + 40.05.01 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 350 + Физика + 03.03.02 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 351 + Информационная безопасность + 10.03.01 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 352 + Физика металлов + 150702 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 353 + Физика пучков заряженных частиц и ускорительная техника + 140304 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 354 + Медицинская физика + 010707 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 355 + Прикладная математика и информатика + 01.04.02 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 357 + Информационная безопасность + 10.04.01 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 358 + Комплексное обеспечение информационной безопасности автоматизированных систем + 090105 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 359 + Прикладные математика и физика + 03.04.01 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 360 + Материаловедение и технологии материалов + 22.04.01 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 361 + Прикладная информатика + 09.04.03 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 362 + Международные отношения + 030701 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 363 + Ядерные реакторы и материалы + 14.05.01 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 364 + Прикладная математика и информатика + 010500 + Бакалавриат + 0 + ГОС2 + 0 + направление + 0 + + + 365 + Прикладные математика и физика + 010600 + Бакалавриат + 0 + ГОС2 + 0 + направление + 0 + + + 366 + Информатика и вычислительная техника + 09.03.01 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 367 + Программная инженерия + 09.04.04 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 368 + Прикладная математика и информатика + 010500 + Магистратура + 2 + ГОС2 + 0 + направление + 0 + + + 369 + Физика + 010700 + Бакалавриат + 0 + ГОС2 + 0 + направление + 0 + + + 370 + Менеджмент + 080500 + Бакалавриат + 0 + ГОС2 + 0 + направление + 0 + + + 371 + Физика + 011200 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 372 + Информационная безопасность автоматизированных систем + 10.05.03 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 373 + Прикладные математика и физика + 010900 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 374 + Материаловедение и технологии материалов + 150100 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 375 + Математические методы в экономике + 080116 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 376 + Физика + 011200 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 377 + Экономика и управление на предприятии (по отраслям) + 080502 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 378 + Международные отношения + 41.04.05 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 379 + Физика + 03.04.02 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 380 + Прикладные математика и физика + 010600 + Магистратура + 2 + ГОС2 + 0 + направление + 0 + + + 381 + Электроника и микроэлектроника + 210100 + Магистратура + 2 + ГОС2 + 0 + направление + 0 + + + 382 + Менеджмент + 38.03.02 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 383 + Финансы и кредит + 080105 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 384 + Информатика и вычислительная техника + 230100 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 385 + Экономика + 080100 + Бакалавриат + 0 + ГОС2 + 0 + направление + 0 + + + 386 + Физика конденсированного состояния вещества + 140301 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 387 + Ядерные реакторы и энергетические установки + 140305 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 388 + Информационная безопасность автоматизированных систем + 090303 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 389 + Физика атомного ядра и частиц + 140302 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 390 + Менеджмент + 38.04.02 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 391 + Информационные системы и технологии + 09.03.02 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 392 + Бухгалтерский учет, анализ и аудит + 080109 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 393 + Программная инженерия + 231000 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 394 + Прикладные математика и физика + 03.03.01 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 395 + Экономика + 38.04.01 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 396 + Ядерные физика и технологии + 140800 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 397 + Конструкторско-технологическое обеспечение машиностроительных производств + 15.04.05 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 398 + Автоматизированные системы обработки информации и управления + 230102 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 399 + Прикладная математика + 01.04.04 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 400 + Экономическая безопасность + 38.05.01 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 401 + Радиационная безопасность человека и окружающей среды + 140307 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 402 + Экономика + 080100 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 403 + Менеджмент + 080200 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 404 + Программная инженерия + 09.03.04 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 405 + Системный анализ и управление + 27.04.03 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 406 + Менеджмент + 080200 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 407 + Ядерная энергетика и теплофизика + 140700 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 408 + Электроника и автоматика физических установок + 140306 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 409 + Дифференциальные уравнения + 01.01.02 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 410 + Приборы и методы экспериментальной физики + 01.04.01 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 411 + Физика и астрономия + 03.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 412 + Теоретическая физика + 01.04.02 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 413 + Физика конденсированного состояния + 01.04.07 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 414 + Физика плазмы + 01.04.08 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 415 + Электрофизика, электрофизические установки + 01.04.13 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 416 + Теплофизика и теоретическая теплотехника + 01.04.14 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 417 + Электро- и теплотехника + 13.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 418 + Физика атомного ядра и элементарных частиц + 01.04.16 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 419 + Физика пучков заряженных частиц и ускорительная техника + 01.04.20 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 420 + Лазерная физика + 01.04.21 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 421 + Физика высоких энергий + 01.04.23 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 422 + Информационно-измерительные и управляющие системы (по отраслям) + 05.11.16 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 423 + Управление в технических системах + 27.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 424 + Системный анализ, управление и обработка информации (по отраслям) + 05.13.01 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 425 + Информатика и вычислительная техника + 09.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 426 + Элементы и устройства вычислительной техники и систем управления + 05.13.05 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 427 + Автоматизация и управление технологическими процессами и производствами (по отраслям) + 05.13.06 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 428 + Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей + 05.13.11 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 429 + Математическое моделирование, численные методы и комплексы программ + 05.13.18 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 430 + Компьютерные и информационные науки  + 02.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 431 + Методы и системы защиты информации, информационная безопасность + 05.13.19 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 432 + Информационная безопасность + 10.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 433 + Ядерные энергетические установки, включая проектирование, эксплуатацию и вывод из эксплуатации + 05.14.03 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 434 + Ядерная, тепловая и возобновляемая энергетика и сопутствующие технологии + 14.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 435 + Твердотельная электроника, радиоэлектронные компоненты, микро- и наноэлектроника на квантовых эффектах + 05.27.01 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 436 + Электроника, радиотехника и системы связи + 11.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 437 + Экономика и управление народным хозяйством (по отраслям и сферам деятельности) + 08.00.05 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 438 + Экономика + 38.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 439 + Бухгалтерский учет, статистика + 08.00.12 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 440 + Математические и инструментальные методы экономики + 08.00.13 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 441 + Административное право, финансовое право, информационное право + 12.00.14 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 442 + Юриспруденция + 40.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 443 + Материаловедение + 05.16.09 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 444 + Химическая технология + 18.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 445 + Порошковая металлургия и композиционные материалы + 05.16.06 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 446 + Технологии материалов + 22.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 447 + Лазерная техника и лазерные технологии + 12.03.05 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 448 + Математика и механика + 01.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 449 + Юриспруденция + 030900 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 450 + Компьютерные и информаионные науки + 02.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 451 + Психология + 37.04.01 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 452 + Лазерная техника и лазерные технологии + 12.04.05 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 454 + Физико-технические науки и технологии + 16.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 356 + Экономическая безопасность + 080101 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 455 + Химические науки + 04.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 453 + Фотоника, приборостроение, оптические и биотехнические системы и технологии + 12.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 456 + Машиностроение + 15.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 457 + Психологические науки + 37.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 458 + Биологические науки + 06.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 459 + Электроника и наноэлектроника + 11.04.04 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 460 + Электроника и наноэлектроника + 11.03.04 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 461 + Авиационная и ракетно-космическая техника + 24.06.01 + Аспирантура + 3 + ФГОС3+ + 1 + направление + 0 + + + 462 + Биология + 06.03.01 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 463 + Лечебное дело + 31.05.01 + Специалитет + 1 + ФГОС3+ + 1 + специальность + 1 + + + 464 + Менеджмент организации + 080507 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 465 + Приборостроение + 12.03.01 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 466 + Химия + 04.03.01 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 467 + Химия, физика и механика материалов + 04.04.02 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 468 + Экология и природопользование + 05.03.06 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 469 + Атомные электрические станции и установки + 140404 + Специалитет + 1 + ГОС2 + 0 + специальность + 1 + + + 470 + Ядерная энергетика и теплофизика + 14.03.01 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 500 + Технология редких, рассеянных и радиоактивных элементов + 05.17.02 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 501 + Технология электрохимических процессов и защита от коррозии + 05.17.03 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 502 + Химическая технология топлива и высокоэнергетических веществ + 05.17.07 + Аспирантура + 3 + ГОС2 + 0 + специальность + 1 + + + 503 + Фотоника и оптоинформатика + 12.04.03 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 504 + Биотехнические системы и технологии + 12.03.04 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 505 + Фотоника и оптоинформатика + 12.03.03 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 506 + Высокотехнологические плазменные и энергетические установки + 16.03.02 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + + 507 + Высокотехнологические плазменные и энергетические установки + 16.04.02 + Магистратура + 2 + ФГОС3+ + 1 + направление + 0 + + + 508 + Мехатроника и робототехника + 15.03.06 + Бакалавриат + 0 + ФГОС3+ + 1 + направление + 0 + + \ No newline at end of file diff --git a/Работы/ИРФМ/L1/specialities.xsl b/Работы/ИРФМ/L1/specialities.xsl new file mode 100644 index 0000000..715d933 --- /dev/null +++ b/Работы/ИРФМ/L1/specialities.xsl @@ -0,0 +1,297 @@ + + + + + + + + + + + + + + + + + + + '' + + + + + + + + + + + + + + + +
Нужен: NOT NULL
+
+
+ + + + + NOT NULL + + + + + + + + Анализ данных файла specialities.xml + + + +

Анализ данных файла specialities.xml (specialities.xml)

+

Выполнено студентами С22-712: Антипенко Д.А, Гаранян А.Э, Епифанов В.С, Ускова Е.А.

+ + + + + + + + + + + +

SQL-файл

+
DROP TABLE IF EXISTS specialities; +DROP SEQUENCE IF EXISTS specialities_id_seq; + +CREATE SEQUENCE specialities_id_seq + START WITH 1 + INCREMENT BY 1; + +CREATE TABLE specialities ( + id INTEGER, + name VARCHAR(102), + code VARCHAR(8), + level VARCHAR(12) CHECK (level IN ('Специалитет', 'Магистратура', 'Бакалавриат', 'Аспирантура')), + level_id INTEGER CHECK (level_id IN (1, 2, 0, 3)), + generation VARCHAR(6) CHECK (generation IN ('ФГОС3+', 'ГОС2')), + generation_id INTEGER CHECK (generation_id IN (1, 0)), + type VARCHAR(13) CHECK (type IN ('специальность', 'направление')), + type_id INTEGER CHECK (type_id IN (1, 0)), + CONSTRAINT pk_specialities PRIMARY KEY (id) +);
+ +

SQL: INSERT-запросы, сформированные из XML

+ +
INSERT INTO specialities (id, name, code, level, level_id, generation, generation_id, type, type_id) +VALUES ( + nextval('specialities_id_seq'), + '', + '', + '', + , + '', + , + '', + +);
+
+ + +
+ + + +
+
Анализ поля id
+
Тип данных: integer
+
Число пустых:
+ + + +
+
+ + + +
+
Анализ поля name
+
Тип данных: Текст
+
Самый длинный элемент: + + + + , длина: + + +
+
Число пустых:
+ + + +
+
+ + + +
+
Анализ поля code
+
Тип данных: Текст
+
Самый длинный элемент: + + + + , длина: + + +
+
Число пустых:
+ + + +
+
+ + + +
+
Анализ поля level
+
Тип данных: Текст
+
Самый длинный элемент: + + + + , длина: + + +
+
Число пустых:
+ + + +
Нужен: CHECK (level IN( + + '' + , + + ))
+
+
+ + + +
+
Анализ поля level-id
+
Тип данных: integer
+
Число пустых:
+ + + +
Нужен: CHECK (level_id IN( + + '' + , + + ))
+
+
+ + + +
+
Анализ поля generation
+
Тип данных: Текст
+
Самый длинный элемент: + + + + , длина: + + +
+
Число пустых:
+ + + +
Нужен: CHECK (generation IN( + + '' + , + + ))
+
+
+ + + +
+
Анализ поля generation-id
+
Тип данных: integer
+
Число пустых:
+ + + +
Нужен: CHECK (generation_id IN( + + '' + , + + ))
+
+
+ + + +
+
Анализ поля type
+
Тип данных: Текст
+
Самый длинный элемент: + + + + , длина: + + +
+
Число пустых:
+ + + +
Нужен: CHECK (type IN( + + '' + , + + ))
+
+
+ + + +
+
Анализ поля type-id
+
Тип данных: integer
+
Число пустых:
+ + + +
Нужен: CHECK (type_id IN( + + '' + , + + ))
+
+
+
diff --git a/Работы/ИРФМ/L1/transform.py b/Работы/ИРФМ/L1/transform.py new file mode 100644 index 0000000..bf59a0a --- /dev/null +++ b/Работы/ИРФМ/L1/transform.py @@ -0,0 +1,19 @@ +from lxml import etree + +# загружаем XML +xml = etree.parse("specialities.xml") + +# загружаем XSLT +xslt = etree.parse("specialities.xsl") + +# создаем трансформацию +transform = etree.XSLT(xslt) + +# применяем +result = transform(xml) + +# сохраняем HTML +with open("specialities.html", "wb") as f: + f.write(etree.tostring(result, pretty_print=True, encoding="UTF-8")) + +print("HTML успешно создан: specialities.html") \ No newline at end of file diff --git a/Работы/МИАД/.~lock.antipenko_excel.xlsx# b/Работы/МИАД/.~lock.antipenko_excel.xlsx# new file mode 100644 index 0000000..46cdf47 --- /dev/null +++ b/Работы/МИАД/.~lock.antipenko_excel.xlsx# @@ -0,0 +1 @@ +,ada,arch-x1,18.03.2026 11:19,/home/ada/.local/share/onlyoffice; \ No newline at end of file diff --git a/Работы/МИАД/antipenko_excel.xlsx b/Работы/МИАД/antipenko_excel.xlsx index 99efe99..40459cd 100644 Binary files a/Работы/МИАД/antipenko_excel.xlsx and b/Работы/МИАД/antipenko_excel.xlsx differ diff --git a/Работы/РИАС/Lab2/С22-712_Ускова_ЛР2.docx b/Работы/РИАС/Lab2/С22-712_Ускова_ЛР2.docx new file mode 100644 index 0000000..c257246 Binary files /dev/null and b/Работы/РИАС/Lab2/С22-712_Ускова_ЛР2.docx differ