최근에 테이블에 너무 많은 열이 있거나 모델의 속성이 너무 많아 코드 냄새에 대해 다른 개발자와 논의한 적이 있습니다. 어떤 사람들은 너무 많은 애트리뷰트를 가진 모델이 너무 많은 일을하고 있으며 분할되어야한다고 주장한다. 그러나 실제로 모델에 이러한 속성이 필요한 경우 어떻게해야합니까?열이 너무 많은 테이블에 냄새가 나는 이유는 무엇입니까?
users
테이블의 예를 들어 보겠습니다.
사용자는 등 first_name
, last_name
, street_name
, city
, state
, age
을 가질 수 있습니다. 인수에 따르면, street_name
, city
및 state
을 다른 테이블로 옮겨야한다고 가정합니다. 관련 데이터가이 방법으로 그룹화된다는 데 동의하지만 응용 프로그램이 자신의 주소를 사용하여 사용자를 쿼리하는 경우 2 테이블에 있기 때문에 더 비싼 작업이되지는 않습니까?
그래서 많은 특성을 가진 테이블을 모델링하는 올바른 방법은 무엇입니까? 은 (우리는 또한 이러한 경우를 고려해야합니다 1. 행의 수가 될 것 때 적은 행의 수는 거대 할 예정 2)이 꽤 격식을 중요시하는 질문
데이터베이스에 연령을 저장해서는 안됩니다. 귀하의 데이터가 모두 부정확하게됩니다. – podiluska