Во-первых, этот дизайн базы данных не очень хорошо работает на реальных данных. Как вы можете оценить мнения, потому что это естественный язык. Например, чем отличаются «Это хорошо, но слишком дорого». «Это не так хорошо, но я люблю культуру ...».
Таким образом, вы должны предоставить более количественную оценку. Я предлагаю добавить столбец с именем «рейтинг» от 1 звезды до 5 звезд. (а 5 лучший).
CREATE TABLE ratings (
ID int
place varchar(255)
opinion varchar(255)
rating int
);
После того, как у вас есть этот дизайн, мы продолжаем задавать вопрос: какое место лучше?
- это может быть место с наибольшим 5-звездочным рейтингом.
- это самый высокий средний рейтинг. например: 3,5 рейтинга выше 3,0 рейтинга.
- ...
Определил, что эта метрика сложная и зависит от метрики, у нас будет соответственно решение. Некоторые решения могут быть реализованы с использованием SQL, некоторые должны использовать конвейер (например, очередь заданий для выполнения сложных задач для оценки).