Иногда мы должны использовать виртуальные столбцы для хранения некоторых данных в базе данных. Это хорошее решение для моего проекта сокращения URL-адресов, поскольку URL-адрес сокращения должен быть крошечным и иметь 62 основания. Таким образом, в PostgreSQL нет столбцов для этих данных. Потому что эти данные должны содержать буквы и цифры и увеличиваться автоматически.

Мои исследования показали, что формат base 62 - хорошее решение для крошечных URL. В приложении или программном обеспечении этого формата выполняется множество решений, но сегодня я хочу использовать это решение для базы данных, потому что я думаю, что база данных более быстрая и надежная для этого.

Поговорим о моей проблеме. Я создаю проект с открытым исходным кодом для сокращения URL-адресов, и в моей таблице URL-адресов есть столбец с коротким ключом URL-адреса. Конечно, программное обеспечение или приложение может вычислить короткий URL-адрес при вставке или обновлении, но если запрос не исходит от программного обеспечения, что будет делать?

Диалог моей схемы базы данных находится здесь

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

И я использую функцию триггера для автоматической генерации, потому что мой проект может вводить специальные ключи для url. Это моя функция, и я добавляю триггер для таблицы urls.

Давай попробуем.

Он автоматически генерирует "ключевое" значение для несуществующих ключей. Если есть ключ, он использует это.

Это хорошо.