В настоящее время я занимаюсь разработкой веб-сайта, управляемого базой данных. Основная причина в учебных целях, но я не буду лгать, есть небольшое количество тщеславия!
Хотя я считаю, что мой дизайн базы данных довольно хорош до сих пор, я все еще не совсем уверен в наилучшем способе хранения статей или других больших текстов. Я знаю, что большинство СУБД имеют тип данных TEXT или эквивалент и могут содержать огромное количество текста. Однако сохранение полной статьи в виде одной длинной строки приводит к недовольному чтению, поэтому форматирование будет необходимо.
Я сохраняю текст статьи вместе со всеми тегами HTML или BBcode - или лучше просто создать страницу в HTML или XML-документе и сохранить путь к этому файлу в БД?
Мне очень нравится идея хранения статей как XML-документа, так как я могу легко разметить статью с помощью настраиваемых тегов и использовать функции PHP XML и XSLT для преобразования XML в HTML [или, в любом случае, в любом другом формате]. Это также позволяет автору определять, когда создавать разрывы строк/страниц. Разумеется, этот подход потребует дополнительного кодирования [которое я не боюсь], но оно создает проблему с возможностью поиска статей.
Я знаю, что MySQL, например, имеет синтаксис SQL для поиска определенных терминов/фраз внутри строк, хранящихся в текстовом поле. Если бы я должен хранить текст в отдельных файлах, как я мог бы подходить к поиску этих статей?
Существует довольно много, что я написал здесь по такому простому вопросу, поэтому я сломаю его:
1: Есть ли "лучший" способ хранения больших объемов форматированного текста непосредственно в базе данных или
2: лучше ли держать пути к этому тексту в виде HTML/XML/любых документов.
Если 2, есть ли элегантный способ сделать этот текст доступным для поиска?
Спасибо за ваше время:)