2012-02-11 5 views
0

Скажем, я создаю что-то знакомое для Facebook, где пользователь может добавлять интересы к своему профилю.Данные профиля в одной или нескольких таблицах в MySQL

Один из способов сделать это - иметь поле «интересы» в таблице профилей и перечислить идентификатор интересов. Чтобы полевые интересы выглядели следующим образом: 1,4,43,66, где каждое число относится к интересам в таблице интересов. Затем мне пришлось бы взорвать поля интересов с помощью PHP, чтобы получить имя каждого интересного.

Другой способ сделать это, чтобы иметь третью таблицу, которая выглядит следующим образом:

profileID, interestID 
1   1 
1   4 
1   43 
1   66 

Что бы достичь того же.

Я не очень много работал с базами данных. Я использую MySQL. Каков наилучший способ? Дайте мне знать, если вы не поймете.

Благодарим за помощь!

ответ

1

Ваш второй подход - это тот, с которым нужно идти. Все это зависит от ваших требований, но второе - более гибкое. С обоими вы можете ответить на вопрос: «Каковы интересы пользователя X?», Но только со вторым вы можете ответить «Какие пользователи интересуются Y?». Кроме того, он позволяет вам выполнить соединение, поэтому вместо выполнения двух поисковых запросов/запросов вы можете сделать это.

+0

Спасибо! Есть ли недостатки со вторым подходом? –

+0

Второй подход был бы самым стандартным. Никаких особых недостатков, которые я вижу. – Art

Смежные вопросы