2025-08-07 18:06:55 +03:00

5.7 KiB
Raw Permalink Blame History

Модель DataBaseColumn

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

Пространство имён

namespace goodboyalex\php_db_components_pack\models;

Автор и версия

  • Автор: Александр Бабаев
  • Версия: 1.0
  • Дата начала поддержки: с версии 1.0

Назначение

Класс DataBaseColumn используется для точного описания характеристик колонки в базе данных. Он позволяет указать тип данных, длину, обязательность, уникальность, наличие первичного ключа, внешний ключ, проверку данных и прочие аспекты, влияющие на корректную работу с базой данных.

Основные элементы класса

Поля

Поля класса DataBaseColumn

Имя поля Тип поля Описание
Name string Имя колонки в базе данных.
Type Tuple Тип данных колонки, где первый элемент — тип данных (например, DBType::STRING), второй — максимальная длина (например, 255).
IsNotNull bool Признак, указывающий, разрешена ли установка значения NULL в колонку.
IsUnique bool Признак, указывающий, что каждое значение в колонке должно быть уникальным.
IsPrimaryKey bool Признак, указывающий, что колонка является первичным ключом.
ForeignWith Tuple Внешний ключ, связанный с другой таблицей, где первый элемент — имя таблицы, второй — имя колонки.
Check ConditionBuilder Контрольные условия для вносимых данных, представлены объектом ConditionBuilder.
Default mixed Значение по умолчанию для колонки. Может быть любого подходящего типа данных.
IsAutoIncrement bool Признак, указывающий, что значение колонки генерируется автоматически при добавлении новой записи (авто-инкремент).

Конструктор

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

Пример использования

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

use goodboyalex\php_db_components_pack\models\DataBaseColumn;
use goodboyalex\php_db_components_pack\enums\DBType;

// Создаём объект колонки
$column = new DataBaseColumn(
    // Имя колонки
    'username',
    // Тип данных (строка, максимум 255 символов)
    new Tuple(DBType::STRING, 255),
    // Запрет пустых значений (NOT NULL)
    true,
    // Уникальные значения (UNIQUE)
    true,
    // Не является первичным ключом
    false,
    // Без внешнего ключа
    new Tuple(null, null),
    // Без проверок
    new ConditionBuilder(),
    // Значение по умолчанию (пустая строка)
    '',
    // Авто-инкремент отключён
    false
);

Дополнительная информация

Класс DataBaseColumn является мощным инструментом для детализации структуры колонок базы данных. Он предоставляет широкие возможности для настройки различных аспектов колонки, таких как тип данных, ограничения, связи и прочее. Это существенно облегчает работу с базой данных и способствует повышению качества проектирования моделей данных.

На главную