테스트 사이트 - 개발 중인 베타 버전입니다

DB 설계시 어떤게 효율적일런지요 채택완료

조용남자1 7년 전 조회 3,363

인적사항 테이블을 만들때

 

기준에 따라 네 분류로 나눠지는데 각 항목마다 컬럼값이 많이 다릅니다

 

이럴경우 추후 이름/ 연락처로 검색하는 것을 포함하여 고려할 때

 

테이블 하나에 네 분류의 모든 컬럼을 넣고 각각 분류 기준에 따른 데이터 입력시 적용되지 않는 항목은

null 로 처리하는 방식 하나와

 

각 분류별로 네 개의 테이블을 만드는 것 두가지 중 어떤게 효율적일런지요

 

일감으로는 검색측면을 볼 때 테이블 하나로 구성하는게 당연히 효율적일 듯 한데 DB쪽 지식이

없다시피 한지라 어떨지 궁금합니다

 

--

 

비슷한 맥락으로 '업체' 라는 공통 기준아래 업체별로 들어가는 정보컬럼이 많이 상이한 경우 역시도

위와 같은 맥락으로 한 테이블로 설계하는게 좋을 지 아니면 업체군 별로 별도 테이블을 만드는 것이

좋은지도 같은 맥락상으로 궁금합니다

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
d
7년 전

장단점이 있는 것은 사실입니다.

인적사항이 얼마나 많은지에 따라 달라 지겠습니다만..

 몇십만명이 안된다면.. 그냥 한테이블에 넣고 처리하시는게 검색(개발) 측면에서 유리하겠습니다.

이론 적으로야 분리해서 저장해야 하는게 맞습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

해피정
7년 전

구글링하다가 좋은 글이 보여서 공유합니다.

https://blog.lael.be/post/370" target="_blank">https://blog.lael.be/post/370

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

조용남자1
7년 전
감사합니다

댓글을 작성하려면 로그인이 필요합니다.

SLOOP
7년 전

데이터 양 나 사용 빈도, 개발 기간에 따라 정하실수 있을거같습니다.

 

개발 기간이 촉박하고 데이터가 많이 않다면 한군데서 관리 하셔도 되고

 

프로젝트에 여유가 있고 대용량 이라던지 처리를 위해서는 분리해주시는게 좋을거같습니다.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

조용남자1
7년 전
감사합니다

댓글을 작성하려면 로그인이 필요합니다.

베원
7년 전

필드 차이가 많이 난다면 정규화의 관점에서 보면 테이블을 분리해주시는게 좋습니다.

분리하신 후 view를 따로 만드셔서 처리하신다면 개발 측면에서도 상관이 없을 것으로 보입니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

조용남자1
7년 전
감사합니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인