Перейти к основному содержимому
Версия: 1.20.1

Таблицы в структуре данных

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

Кроме того, каждая таблица в SimpleOne также является записью в таблице Таблицы (sys_db_table).

Свойства таблиц

Свойства таблиц позволяют настраивать таблицы и определять их связь с другими таблицами. В контексте структуры данных основное значение имеют следующие свойства:

  • Наименование – определяет системное название таблицы, используемое в бизнес-логике. Наименование таблицы задается по определенным правилам.
  • Расширяемая – определяет, можно ли от таблицы создавать дочерние таблицы.
  • Родитель – определяет, от какой таблицы дочерняя таблица наследует колонки и бизнес-логику.
  • Контроль версий – определяет, будет ли таблица обрабатываться системой контроля версий.

Связи между таблицами

В системе SimpleOne между таблицами возможны связи типов "один-ко-многим" и "многие-ко-многим".

"Связь "один-ко-многим"


Данный тип связей используется, когда запись в одной таблице может быть соотнесена с несколькими записями в другой таблице. Например запись в таблице Пользователи (user) может быть связана с несколькими Инцидентами (itsm_incident) через поле Кому назначен, но каждый инцидент может быть назначен только на одного пользователя. Связь "один-ко-многим" реализуется в системе при помощи ссылочных колонок.

Связь "многие-ко-многим"


Данный тип связей используется, когда необходимо описать сложные связи между записями двух таблиц. При такой связи записи в одной таблице могут быть соотнесены с несколькими записями в другой таблице. Например, таблицы Пользователи (user) и Группа (sys_group) могут содержать множество записей пользователей и групп соответственно. Пользователь может состоять более чем в одной группе, а группа может включать множество пользователей. В таком случае, эти две таблицы должны быть связаны с использованием связи "многие-ко-многим". Этот тип связи также используется в расширенной модели данных для создания коллекций атрибутов.

Классификация таблиц

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