У меня есть продукт SAAS, который создается Spring MVC и Hibernate. Как правило, продукты SAAS позволяют пользователю настраивать продукт, например добавлять дополнительные поля в таблицу.
Итак, я хочу предоставить пользователям гибкость, создать собственные поля в таблицах для себя.
Просьба предоставить все жизнеспособные решения для его достижения.
Большое вам спасибо за помощь.Добавление пользовательских полей в мое приложение
ответ
Я предполагаю, что вы пытаетесь вернуть это в реляционную базу данных. Основная проблема заключается в том, что реляционные базы данных хранят вещи в таблицах, а таблицы действительно не обрабатывают данные свободной формы.
Таким образом, одно из решений заключается в использовании гибкой структуры документов, такой как XML (и, возможно, сбой базы данных), но базы данных имеют хорошие функции, поэтому давайте также рассмотрим подходы к базе данных.
Вы можете создать «пользовательские поля» таблицу, которая будет иметь столбцов (составной первичный ключ) для
ExtendedTable ColumnName
, но вы также должны хранить данные где-то
(ExtendedKey) DataItem
И теперь мы попадаем в действительно неприятные биты. Как бы вы применили ограничения к этим данным? Я имею в виду, какой тип будет DataItem
? Общее решение будет довольно сложным (являющимся типом базы данных свободной формы). Надеемся, вы можете ограничить решение, чтобы решить только те проблемы, которые вам нужны.
Другим подходом является использование одного «лишнего» столбца, который содержит запись XML, которая встраивает свои собственные расширения «столбцы и значения», но если вы хотите отобразить таблицу эффективно, вам придется разбирать каждый XML-документ в каждом поле, что не является идеальным.
Ни один из этих подходов не будет хорошо работать с существующим языком SQL-запросов, поэтому вы начнете создавать свой собственный язык запросов.
Предлагаю вам вернуться к реальным требованиям к данным, вместо того, чтобы подметать их под столом с помощью «и всего, что может потребоваться» набора столбцов на вашем столе.
Ваше требование - наилучший вариант использования для баз данных NoSQL (например, MongoDB).
Динамического создание таблиц реляционных баз данных & столбцов (модифицирующие схемы) по запросам пользователей в приложении не является наилучшей практикой, поскольку они связаны с DDL операций, которые являются очень мощными и в том случае, если вы не обращаться с ними осторожно, вся база данных приложения переходит в несогласованное состояние.
Я не хочу использовать NoSql, у меня Mysql работает gr8. можете ли вы привести пример (ExtendedKey) DataItem, как предлагается ниже –
Каков размер данных для каждой строки? Это огромно? – developer
Я не мог понять ваш вопрос –
- 1. Yii: добавление пользовательских полей
- 2. Добавление пользовательских полей в orengehrm
- 3. добавление пользовательских полей динамически модели
- 4. Добавление/отображение пользовательских полей в Shopify
- 5. Добавление изображения в мое приложение
- 6. Добавление Fgallery в мое приложение
- 7. Добавление ActivityIndicator в мое приложение
- 8. Добавление ToolBar в мое приложение
- 9. Добавление пользовательских полей ввода в Wordpress поиск
- 10. Добавление пользовательских полей регистрации пользователя в django
- 11. Добавление пользовательских полей для пользователей в django
- 12. IdentityServer3 - добавление пользовательских полей формы в FormPostResponse.html
- 13. Добавление пользовательских полей товара в трафарет BigCommerce?
- 14. Sitecore - добавление пользовательских полей в редактор пользователя
- 15. Добавление графического интерфейса в мое приложение
- 16. Добавление пользовательских полей по умолчанию на страницах
- 17. Добавление пользовательских полей для Nav-меню пункта
- 18. SilverStripe модуль UserForm, добавление пользовательских полей
- 19. добавление пользовательского шрифта в мое приложение
- 20. Добавление электронной почты в мое приложение Rails
- 21. Добавление значка в мое законченное приложение
- 22. Добавление youtube видео в мое приложение
- 23. Добавление gesture builder в мое приложение?
- 24. Добавление видео YouTube в мое приложение
- 25. Добавление API Twitter в мое приложение
- 26. Kivy: добавление панели инструментов в мое приложение
- 27. Добавление карты Google в мое приложение meteor
- 28. Добавление ярлыков быстрого набора в мое приложение
- 29. Высокопроизводительных полей Пользовательских пользовательских
- 30. Добавление пользовательских шаблонов в стороннее приложение Django
Можете ли вы дать мне некоторый проблеск примера (ExtendedKey) подхода DataItem. –