도리안의 개발 이야기 #133 - 구조 개선이 어려운 데이터베이스 테이블

in #kr-dev5 years ago



대문 제작: imrahelk

충전상품정보를 담은 충전상품 테이블이 있고요. 하나의 테이블을 추가하여 그것과 관계를 맺고 싶었습니다. 후자는 특정 통신사의 상품에 대한 추가 정보들을 갖습니다. 전자에 상품 코드가 있고요. 후자에도 상품 코드 컬럼을 추가하고 그것을 외래 키(foreign key)로 정의하려 했습니다. 그러나 그것은 불가능했습니다. 왜냐하면 충전상품 테이블의 상품 코드가 unique하지 않기 때문입니다. 그 테이블에서 primary key는 여러 개의 컬럼들로 묶여 있고, 상품 코드는 그 중 하나였습니다.

충전 상품 테이블은 제가 입사하기 전에 이미 정의되어 있었습니다. 상품 코드는 unique하지 않아 중복이 가능했구요. 이미 중복된 자료가 있어서 그 컬럼에 unique을 적용하는 것은 불가능했습니다. 구조를 바꾸려면 바꿀 수도 있겠지만, 이미 운영 중인 데이터베이스의 구조를 바꾸는 것은 리스크가 크기 때문에 하지 않기로 했습니다. 이와 같이 구조적인 문제가 있음에도 이미 운영 중이어서 개선을 하지 못하는 경우들이 있습니다.

정답은... 처음부터 잘 만들어야 하는 게 아닌가 생각합니다. 그러기 위해서는 프로그래밍 뿐만 아니라 데이터베이스도 공부해야 합니다. (공부할 게 산더미...)

aaronhong_banner.jpg

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 66552.75
ETH 3490.33
USDT 1.00
SBD 2.64