Предположим веб-приложение, похожее на сайт знакомств, в котором каждый профиль может иметь одного или нескольких пользователей. Каждый пользователь, скажем, имеет следующие столбцы: имя, возраст, пол.
Я думаю, что дизайн БД будет выглядеть примерно так:
TABLE profile
=============================
| profile_id | name |
=============================
| 1 | Dynamic Duo |
-----------------------------
TABLE user
================================================
| user_id | profile_id | name | age | gender |
================================================
| 1 | 1 | Batman | 35 | Male |
------------------------------------------------
| 2 | 1 | Robin | 25 | Male |
------------------------------------------------
Хороший ли дизайн БД? Как мне запросить следующее:
- Найти все профили, где пол пользователя = Мужской
- Найти все профили, где пол мужчины и женщины
- Найти все профили, где пол пользователя - мужской и женский, возраст каждого пользователя> 20 и <40 </li>.
- Найти все профили, где есть более 2 связанных пользователей
Если дизайн БД не может поддерживать такие запросы, какой дизайн будет?