Раздел “Схема”¶
Раздел предназначен для просмотра и редактирования схемы данных.
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”. Это позволяет изолированно обновлять или переносить библиотеку между разными версиями платформы и проектными решениями.
Посмотреть все объекты схемы, относящиеся к какой-либо библиотеке можно с помощью специального фильтра, расположенного в верхней части окна. После выбора в выпадающем списке библиотеки в дереве будут отображены только те объекты, которые относятся к данной библиотеке: