Я хочу разработать довольно простое php-приложение, где пользователи могли бы предлагать и оценивать имена (например, чтобы найти лучшую собачью или детскую фамилию).
Я хотел бы поместить все данные в базу данных psql и показать все на веб-странице (сначала я хочу показать лучшие имена, поэтому мне нужно отсортировать каждое имя по средним оценкам):
Names | User01_Marks | User02_Marks | Average
------------------------------------------------
name_03 | 15 | 13 | 14
name_01 | 9 | 15 | 12
name_02 | 5 | 7 | 6
Я хотел бы получить реальные советы разработчиков, чтобы узнать, что является лучшим решением для базы данных.
Нужно ли создавать одну или несколько таблиц?
Я уже пытался поместить всю информацию в 3 разных баз:
1) Имена (куда я положил имена, например: name_01, name_02):
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL UNIQUE
2) Пользователи (куда я положил своих пользователей. Например: User01, User02):
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL UNIQUE
3) Оценки (где будет отметка пользователя, связанная с именем: 10, 15):
PRIMARY KEY (names_id, users_id),
names_id INTEGER NOT NULL REFERENCES names(id),
users_id INTEGER NOT NULL REFERENCES users(id),
mark integer CHECK (mark <= 20)
Но, похоже, очень сложно найти хороший запрос, чтобы получить тот же результат, что и выше.
Я мог бы поместить все в уникальную базу, но это, кажется, ленивый путь 🙂
Заранее спасибо за обратную связь
Задача ещё не решена.
Других решений пока нет …