본문 바로가기
컴퓨터공학 기초/데이터베이스

[데이터베이스] 테이블설계 및 컬럼추가시 주의사항

by 상용최 2020. 4. 8.
반응형

테이블을 설계할 때 어떠한 데이터가 들어가는지 중요하다.

여기까지만 봤을때는 뭐야? 당연한소리 아니야? 라고 생각할 수 있다.

테이블에 들어가는 데이터가 다른 테이블과 연관이 어떻게 되어있는지, 연관된 테이블의 데이터수는 얼마나 되는지도 매우 중요하다.

큰 서비스일수록 한 테이블의 row수는 어마어마하다.

이런것들을 생각하지않고 A.id 랑 B.a_id랑 연관성있네? 하고 fk를 설정하는 순간 지옥이 시작될 수 있다.

또한 추후 서비스의 방향과 고객의 요청을 예상 해야된다.

대다수의 고객들은 A기능 개발 해주세요!! 하고 요청해서 A기능을 개발해주면 A에 B도 추가시켜 주세요. 라고 한다.

고객들의 입장에서는 편리하고자 사용하기 때문에 당연한 것이다.

그렇기때문에 테이블설계 또는 컬럼추가에 신중 해야한다.

당장은 A테이블에 컬럼을 추가하면 끝나지만 예상되는 고객의 요구사항을 생각 해보았을 때 컬럼이 아닌 새로운 테이블이 필요할 수 있기때문이다.

긴 글이었지만 2개로 요약하자면

 

1. 연관되는 테이블의 row를 생각해라. join이 많아질수록 성능이 저하될 수 있다.

2. 추가적인 고객의 요청을 예상해라. 컬럼이 아니라 테이블이 필요할 수 있다.

 

일단은 기능이 먼저지!!! 하고 생각 안하고 갔다가 나중에 고생할 수 있다.

귀찮더라도 기능구현 전에 최소한은 생각해보도록 하자.

 

반응형

댓글