내가 지금처럼 사용자 테이블과 데이터베이스가 :이 정보를 저장하는 가장 좋은 방법은 무엇입니까?
table users:
user_id (int)
user_name (varchar)
etc..
이 사용자는 같은 요구 사항 몇 가지를 입력 할 수 있습니다 :
- 최소 급여 (int)를
- 는 운전 면허증을 가지고 (BOOL)
- 내 다른 요구 (텍스트) 반환 값
user_id: 1,
user_name: 'John Doe',
user_requirements: {
minimal_salary: 2000,
drivers_license: true,
demands: 'These are my demands..'
}
것은 무엇 데이터베이스에이를 저장하는 가장 좋은 방법이 될 것입니다 다음 User->get(user_id);
의이 같은해야?
1 대 1 릴레이션을 사용할 수 있습니다. (조인 또는 별도의 쿼리 비용이 필요합니다.) 1 개의 테이블에 모두 저장할 수 있습니다. (코드에서 약간의 조정이 필요합니다.) 요구 사항 표의 유형 (int/bool/text)을 사용하여이를 여러 관계로 정규화 할 수 있습니다.
편집
참고 : 이미 사용자 테이블에 25 개 컬럼을 가지고, 그래서 수요의 3 ~ 6까지 열을 추가 할 경우 어떤 차이를 만들 것? 눈을 들어 보면 1 개의 테이블에 많은 정보를 얻을 수 있습니다.
별도의 테이블에 넣는 이유는 사용자가 요구하는 것이 자체적 인 개체라는 것입니다. 프론트 엔드에서 user-> get() 함수가 호출 될 때만이 데이터를 사용할 필요가 있습니다. 내가 사용자의 정보를 사용해야하는 다른 모든 시간에는 요구가있을 필요가 없습니다. – pascalvgemert
요구 사항은 어떤 종류입니까? 위에는 간단한 문자열로 표시되는 것처럼 보입니다. –
책임을 분담하면 자신의 정보와 함께 사용자의 요구 사항 (예 : 사용자 업데이트 등)을 갖게됩니다. 하지만 아마도 지금은 어렵다고 생각합니다. – pascalvgemert