Перейти к содержанию

Раздел “Схема”

Раздел предназначен для просмотра и редактирования схемы данных.

Warning

Перед внесением каких-либо изменений в схему сделайте резервную копию базы данных, а также убедитесь, что пользователи сейчас не работают с системой.

Схема данных представлена в виде дерева.

В отдельных ветвях содержатся пользовательские Таблицы, Процедуры, Функции, Миграции и Библиотеки.

Каждая из этих ветвей содержит объекты соответствующего типа (таблицы/ процедуры/ функции/ миграции/ библиотеки), разделенные на группы (группа задается в свойстве “Группа” самого объекта).

Изначально объект не входит ни в одну группу.

Действия, доступные через контекстное меню (вызывается щелчком правой кнопкой мыши по элементу дерева):

Действие
Команда в контекстном меню
Добавить колонку в выделенную таблицу Добавить физическую колонку
Добавить ссылочную колонку Добавить комплексную колонку
Добавить первичный ключ Добавить первичный ключ
Добавить уникальный ключ Добавить уникальный ключ
Добавить индекс Добавить индекс
Добавить таблицу Добавить таблицу
Добавить миграцию Добавить миграцию
Добавить хранимую процедуру Добавить хранимую процедуру
Добавить функцию Добавить функцию
Удалить выделенный объект Удалить
Сохранить изменения в схеме данных Сочетание клавиш Ctrl+S

Поиск какого-либо объекта можно выполнить, введя часть названия в поисковое поле:

Импорт схемы данных/библиотеки из файла

Для того, чтобы импортировать (“накатить”) новую схему данных из файлов, нажмите кнопку Импорт - Файл схемы…

Появится диалог выбора основного файла структуры БД. Такой файл имеет расширение *.tsd и обычно называется tessa.tsd. Выбираем файл, откроется окно с информацией по связанным со схемой библиотекам:

Нажав на Х слева от названия библиотеки её можно исключить из импортируемой схемы. Для подключения дополнительной библиотеки надо нажать на соответствующую кнопку и в файловой системе выбрать файл библиотеки, имеющий расширение *.tsp.

После нажатия на кнопку ОК система определит, есть ли в новой схеме БД и текущей отличия и покажет диалог со списком отличий.

Нажмите кнопку “Сохранить”. Система начнет применять изменения одно за другим. Применяемое изменение подсвечивается желтым. Успешно примененное изменение подсвечивается зеленым цветом. Дождитесь выполнения всех шагов и нажмите кнопку “Закрыть”.

Note

Если при обновлении произошла ошибка, то применение изменений останавливается, и ошибочный шаг подсвечивается красным. Двойной клик по этому шагу покажет диалог с детальным описанием ошибки.

Если требуется к текущей схеме данных импортировать библиотеку, нажмите кнопку Импорт - Файл библиотеки… Появится диалог выбора файла библиотеки *.tsp. Выберите нужный файл и далее система выдаст список изменений, которые будут внесены в схему данных, для подтверждения сохранения нажать “Сохранить”.

Сохранение схемы данных

После внесения каких-либо изменений для сохранения схемы непосредственно в базу данных необходимо нажать на Сохранить всё:

В появившемся диалоговом окне будет отображен список изменений, для сохранения нажмите “Сохранить”:

В случае, если изменений в схеме данных не будет найдено, в диалоговом окне будет выведено соответствующее сообщение:

Создание таблиц

Для создания таблицы вызовите контекстное меню (щелкнув правой кнопкой мыши по узлу Таблицы) и выберите пункт “Добавить таблицу”:

Найдите новую таблицу. Она создалась с именем Table в разделе (без группы):

Задайте параметры таблицы:

  • Название – название таблицы (название таблицы используется при создании карточек и представлений, поэтому нежелательно его будет изменять в дальнейшем);

  • Группа – группа таблицы нужна для удобства работы со схемой данных (таблица будет отображаться в другой группе сразу после изменения поля);

  • Описание – описание таблицы;

  • Библиотека - библиотека, в которой будет храниться данная таблица, по умолчанию - Default;

  • Используется для типа - тип объекта, с которым ассоциированы данные в создаваемой таблице. Указывается в зависимости от типа объекта системы, для которого предназначена таблица

    • Не указан – тип не определён;

    • Карточки;

    • Задания;

    • Файлы;

  • Тип секции – тип данных, хранимых в таблице

    • Перечисление;

    • Строковая – одиночные записи. На один объект (карточка, задание и т.п.) одна запись в таблице;

    • Коллекционная – коллекционные записи. На один объект может приходиться несколько записей в таблице;

    • Иерархическая – иерархические записи. Тоже самое, что и коллекционные, но с поддержкой иерархии записей;

  • Виртуальная – является ли таблица виртуальной.

Important

Для упрощения процесса обновления на новые версии платформы крайне желательно все объекты схемы данных (такие как таблицы, колонки и т.п.), добавляемые и изменяемые в рамках проектного решения, сохранять в отдельной библиотеке. Подробнее библиотеки рассмотрены в разделе Создание библиотек.

Добавьте в таблицу необходимые колонки, ключи и индексы. Для этого вызовите контекстное меню (кликнув по таблице правой кнопкой мыши) и выберите нужный пункт, либо используйте горячие клавиши (см. выше).

После того, как настройка таблицы будет завершена, необходимо её сохранить. Для сохранения нажмите “Ctrl+S”, затем в появившемся диалоговом окне со списком изменений нажмите “Сохранить”:

Пример создания таблицы для хранения значений перечисления

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

Шаг 1: Создайте таблицу с Используется для типа - Не указан и Тип секции - Перечисление:

Шаг 2: Добавьте в таблицу колонку с первичным ключом (ID), колонку с названием элементов перечисления и другие необходимые поля:

Шаг 3: Добавьте в таблицу первичный ключ (в данном примере ключевое поле – ID):

Чтобы задать ключевое поле, в разделе Индексируемые колонки из выпадающего списка выберите нужное поле и далее нажмите на кнопку +.

Шаг 4: Сохраните созданную таблицу с помощью сочетания клавиш “Ctrl+S”:

Шаг 5: Заполните значения перечисления в разделе “Записи”:

Добавление записи: заполните поочерёдно пустые поля (необходимо выделить поле левой кнопкой мыши и ввести значение) и нажмите “Enter”.

Удаление записи: выделите строку (щелчком левой кнопки мыши по полю записи) и нажмите “Delete”.

Шаг 6: Сохраните добавленные записи с помощью сочетания клавиш “Ctrl+S”:

Пример создания поля со ссылкой на поле другой таблицы

Данный тип поля позволит хранить в таблице ссылку на другую таблицу (справочник, перечисление, список объектов, и др.).

Добавьте новую комплексную колонку в таблицу, задайте для нее Тип - Reference(Typified).

Из выпадающего списка выберите таблицу (“Ссылка на таблицу”), на которую должно ссылаться поле.

Сохраните изменения с помощью сочетания клавиш “Ctrl+S”.

Пример создания автоинкрементной колонки

Данная настройка позволяет создавать автоинкрементные колонки, значения для которых определяются СУБД автоматически. Для них возможно задать начальное значение и шаг, с которым выделяются следующие значения. Если в настройках колонки эти значения не заданы, то используются значения по умолчанию (1 для начального значения и 1 для шага). Отрицательные значения шага позволяют сделать убывающий список.

Для создания автоинкрементной колонки для таблицы должны быть выполнены следующие условия:

  • Колонка должна иметь целочисленный тип;

  • Тип колонки должен быть Not Null;

  • У колонки не должно быть задано значение по умолчанию;

  • Таблица не должна иметь “Записей” в схеме данных;

Important

Для СУБД MSSQL для одной таблицы может быть создана только одна автоинкрементная колонка.

При указании настройки “Автоинкрементная колонка” или изменении ее настроек для созданной колонки с таблицей, в которой есть данные, следует учитывать, что поведение будет различно для разных СУБД:

  • MSSQL: все данные колонки затрутся и заполнятся новыми, в соответствии с настройками автоинкремента;

  • Postgres: данные колонки сохранятся, однако взятие следующего значения будет производиться с начала (начальное значение);

Important

В случае, если данная колонка использовалась как первичный ключ или по ней настроен уникальный индекс, изменение/установка автоинкремента для колонки может привести к ошибкам при добавлении значений в данную строку.

Создание библиотек

Библиотеки могут использоваться для разработки изолированных решений и далее подключаться к основной схеме данных.

Important

Для упрощения процесса обновления на новые версии платформы крайне желательно все объекты схемы данных (такие как таблицы, колонки и т.п.), добавляемые и изменяемые в рамках проектного решения, сохранять в отдельной библиотеке.

Библиотека хранится отдельно от основной схемы и описывает:

  • Новые таблицы (с колонками, ключами, индексами и записями);

  • Новые колонки в таблицах основной схемы;

  • Новые индексы в таблицах основной схемы;

  • Новые ограничения (constraints) в таблицах основной схемы;

  • Новые предопределенные строки в таблицах-перечислениях основной схемы;

  • Новые миграции;

  • Новые функции;

  • Новые процедуры.

Создать новую библиотеку можно с помощью контекстного меню на узле Библиотеки:

Для новой библиотеки указываем уникальное название и описание (при необходимости).

Далее мы можем выполнить перенос каких-либо объектов в данную библиотеку: таблицы, колонки, записи, функции и т.д.:

После внесения изменений схему данных необходимо сохранить.

Tip

Все объекты, добавляемые и изменяемые в библиотеке, сохраняются в отдельную подпапку с именем библиотеки внутри папки “Partitions”. Это позволяет изолированно обновлять или переносить библиотеку между разными версиями платформы и проектными решениями.

Посмотреть все объекты схемы, относящиеся к какой-либо библиотеке можно с помощью специального фильтра, расположенного в верхней части окна. После выбора в выпадающем списке библиотеки в дереве будут отображены только те объекты, которые относятся к данной библиотеке:

Back to top