2017-10-16 2 views
0

필터링 대상으로 사용할 테이블을 구현하려고합니다. 테이블에 예를 들어 연령 (보낸 사람, 대상) 성별 (남성, 여성, 전체)이 포함되어야합니다. 교육 , Engineer) ... etc범위 값의 데이터베이스 구조

데이터베이스 구조와 관련하여 json을 사용하는 것이 좋습니까? 그러면 필터링이 어려워 집니까?

감사합니다.

+0

필자가 JSON을 사용해야한다고 생각하게 만드는 데이터에는 아무 것도 없습니다. 왜 JSON 데이터를 저장하려고합니까? –

+0

나는 약 20 개의 필터를 가지고 있고 그 중 일부는 원거리 (~까지)이고 일부는 다중이다. 필자는 교육과 같은 여러 필터에 대해 여러 개의 열을 (from, to) 또는 피벗 테이블에 저장하는 것이 바람직하지 않다고 생각한다. 나는 json 객체를 저장하기가 더 쉬울까요? – Peril

+0

데이터를 JSON으로 저장하면 적어도 일부가 비정규 화되어 인덱스를 사용하기 어렵거나 불가능하게 만듭니다. 빠른 쿼리를 원할 경우 JSON, CSV 등을 피하십시오. 제 의견입니다. –

답변

0

프로그래밍 세계에서이 유형은 열거 형이어야합니다. 그래서 열거 형이 관계형 데이터베이스에서 어떻게 구현 될 것인가?

각 열거 형 (예 : 성별)에 대해 테이블을 만들면 각 테이블에는 데이터와 외래 키라는 두 개의 열이 있습니다. data는 enum 값 (예 : male, female, all)이고 외래 키는 원하는 값일 수 있습니다.

유형 (테이블)에는 열거 형이 필요합니다. 거기서 외래 키만 사용하십시오.

+0

감사합니다. – Peril

+0

이 방법을 사용할 수도 있습니다. 각 연령대를 별도의 표에있는 행으로 간주하면됩니다. 그러나 최대 값을 가진 정확한 나이를 원하면 이야기가 달라집니다. – Amin

+1

@peril하지만 enum이 왜 악한지를 꼭 기억하십시오. – Strawberry