Я думаю, что для решения проблемы, как это несколько важных моментов следует считать:
Насколько важна эффективность запросов к базе данных (и это зависит на размер базы данных, на частоту запросов, на загрузку по серверу и т. д.)
Какие обновления сделаны для данных: часто ли изменяется текст (страницы)? Эти обновления изменяют ссылки?
И еще одна мелочь: как вы предпочитаете, чтобы сбалансировать работу между сервером базы данных и приложения, с точки зрения сложности программирования, производительности и т.д.
Если я понял вашу проблему правильно (и я не уверен в этом), всегда необходимо переводить «ссылки» с уровня приложения на уровень базы данных (в противном случае у вас не должно быть особых проблем). Если это так, то я думаю, что у вас есть следующие варианты:
поддерживает связь с «семантикой базы данных»: то есть превратить их в связи с полями через пару значений (первичный ключ записи, имя (или номер) указанного поля). Затем у вас есть два подпараметра: поддерживайте эти ссылки внутри текста или извлекайте их в (под) таблице, содержащей две конечные точки ссылок (начальная точка должна быть чем-то вроде [key of record, name of поле, положение в тексте, где есть ссылка: конечная точка может быть просто [клавиша записи, имя поля]).
Оставьте «текстовую семантику» для ссылки, сохранив ее внутри текста и создайте какую-то URL-подобную нотацию, которая может быть легко преобразована в ссылку базы данных или, альтернативно, может использоваться для выполнения поиск в базе данных.
Чтобы оценить, какой вариант выбрать, чем, следует рассмотреть приведенные выше пункты об эффективности и типах обновлений.
Вам нужны ссылки на другие таблицы? Или в поля строк таблицы? Или фрагмент текстов внутри полей? И в каком формате изначально это текстовые поля? HTML? – Renzo
Я хочу иметь ссылки на уровне строки.С точки зрения CMS это будет похоже на ссылку на страницу на другую страницу или ссылку на страницу для изображения. Само по себе текстовые поля будут в любом формате разметки, который мне нужен для поддержки этой ссылки. – szxk
Таким образом, ссылка может представлять собой пару первичных ключей строки и имени поля, что-то вроде этого. Это сделает запрос SQL более эффективным. Затем в вашем приложении вы можете перевести эту ссылку в то, что необходимо (html-ссылка, ссылка на уценку и т. Д.). Или, может быть, вы могли бы хранить ссылки отдельно от текстов, в другой таблице, с несколькими атрибутами начальной точки ссылки, конечной точкой ссылки. – Renzo