2014-12-27 4 views
0

데이터베이스의 다중 선택 값을 저장하는 가장 좋은 방법은 무엇입니까? 레일 : 다중 선택 값 저장 및 검색

나는 "사람"모델을 가지고 있고 여러 값

내가 같은 테이블에 배열로 자신의 기본 설정을 저장하거나 다음과 같은 구조로 다른 테이블을 생성해야 할 수 있습니다 사람들의 기본 설정을 저장해야?

People_Preferences - person_id로 - Preference_id가 (한 preference_id 저장)

나는 사람들의 환경 설정을 기준으로 필터링 할 수 있어야합니다.

어느 접근 방식이 가장 좋습니까? 아니면 더 나은 접근 방식이 있습니까?

답변

1

Person 테이블의 "people_preferences"조인 테이블과 Person 모델의 preferences habtm 관계와 Preference to Person의 habtm이 필요한 것 같습니다. 그것은 주저없이 내 추천 것입니다.

하지만 요인의 범위에 따라 달라집니다. Postgres는 조인이 필요 없다는 것을 의미하는 배열 유형과 외래 키를 보관하는 데 사용할 수있는 intarray 유형을 지원하지만 배열 값이 다른 테이블의 행을 참조 할 때 참조 무결성을 얻기가 어렵습니다. 당신이 mysql을 사용한다면 이것은 실제로 선택 사항이 아니다.