Иногда мы должны использовать виртуальные столбцы для хранения некоторых данных в базе данных. Это хорошее решение для моего проекта сокращения URL-адресов, поскольку URL-адрес сокращения должен быть крошечным и иметь 62 основания. Таким образом, в PostgreSQL нет столбцов для этих данных. Потому что эти данные должны содержать буквы и цифры и увеличиваться автоматически.
Мои исследования показали, что формат base 62 - хорошее решение для крошечных URL. В приложении или программном обеспечении этого формата выполняется множество решений, но сегодня я хочу использовать это решение для базы данных, потому что я думаю, что база данных более быстрая и надежная для этого.
Поговорим о моей проблеме. Я создаю проект с открытым исходным кодом для сокращения URL-адресов, и в моей таблице URL-адресов есть столбец с коротким ключом URL-адреса. Конечно, программное обеспечение или приложение может вычислить короткий URL-адрес при вставке или обновлении, но если запрос не исходит от программного обеспечения, что будет делать?
Диалог моей схемы базы данных находится здесь
Это просто. У меня есть пользователи и адреса. Таблица пользователей является базовой, а таблица URL-адресов хранит исходный URL-адрес, первичный ключ, дату создания и обновления и ключ.
И я использую функцию триггера для автоматической генерации, потому что мой проект может вводить специальные ключи для url. Это моя функция, и я добавляю триггер для таблицы urls.
Давай попробуем.
Он автоматически генерирует "ключевое" значение для несуществующих ключей. Если есть ключ, он использует это.
Это хорошо.