2011-01-26 3 views
0

내 db에 아파트를 저장해야한다고 가정 해 봅시다. 아파트에는 크기, 면적, 가구 등 여러 가지 속성이 있습니다.데이터베이스 디자인 : 많은 열 대 어레이가있는 여러 열

더 나은 점은 각 값을 별도의 열에 저장하거나 배열에 여러 개의 열을 포함시키는 것입니다.

+2

* 먼저 일반 양식 * :

는 데이터베이스 정규화에 살펴보고 각 열은 원자이다. 따라서 전체 배열을 단일 열에 채우지는 않을 것입니다. 그것은 지저분 해지고 언젠가는 조만간 "디자인"이 당신을 기다리게 할 것입니다. 하지 마. –

답변

2

저는 Joel에 따라 달라집니다. 얼마나 많은 열에. 그래도 가치있는 일이라면, 나는 항상 쉬운 방법으로 시작하고 '흥미로운'속성 당 하나의 컬럼을 수행합니다. 물론 질의하고자하는 모든 것이거나 ($/sq-ft)에 수학을하는 것이 가장 쉽습니다.

'표시'된 일부 블록을 그룹화 할 수는 있지만 그럴 필요는 없습니다.

1

하나의 단답형으로이 질문에 답할 수 없습니다. 우리가 말하고있는 컬럼의 수와, 그들이 합리적으로 분해되어 (즉, 표준화 된) 개별 엔티티로 합병 될 수있는 경우 :-P

0

보통 저장하고 볼 데이터를 봅니다 데이터가 나중에 검색해야하는 경우 ... 예를 들어 ... 아파트 테이블이 있고 아마 4 개의 침실 (또는 1,2,3 ...)이있는 아파트를 검색 할 것입니다. 나는 침실 수를 별도의 칼럼에 넣으려고 노력할 것입니다 ... 만약 침실이 아파트에 대한 다른 매개 변수의 문자열에 포함되면 "침실 수"에 대한 색인을 사용할 수 없습니다.

1

오라클, mysql, postgre와 같은 관계형 데이터베이스에 대해 얘기하고 있다면 일반적으로 각 속성마다 하나의 열을 갖는 것이 가장 좋습니다. 이 방법을 사용하면 데이터베이스에서 특정 속성을 쉽게 검색 할 수 있습니다.

하나의 열에 여러 값을 저장하는 것은 흔하지 않으며 아주 특별한 성능 최적화에만 사용됩니다. 데이터베이스 설계의 http://en.wikipedia.org/wiki/Database_normalization