DB 설계시 어떤게 효율적일런지요

DB 설계시 어떤게 효율적일런지요

QA

DB 설계시 어떤게 효율적일런지요

본문

인적사항 테이블을 만들때

 

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

 

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

 

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

null 로 처리하는 방식 하나와

 

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

 

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

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

 

--

 

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

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

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

이 질문에 댓글 쓰기 :

답변 4

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

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

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

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

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

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

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

 

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

 

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

 

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

https://blog.lael.be/post/370

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
filter #DB ×
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT