안녕하세요.
재고관련 모듈을 개발중인 개발자입니다.
WMS 시스템을 개발중인데 재고 테이블 구성 관련하여 조언을 구하고자 합니다.
테이블을 그림과 같이 구성을 했는데, 아무래도 저렇게 키를 많이 잡게되면 키 의미가 없게 될거 같아서요.
id 컬럼을 따로 두고 자동증가로 하자니 데이터 무결성을 정확히 인지하지 못 할것 같아 다른 개발자 분들은 재고에 대한 테이블 구성을 어떻게 하는지 궁급합니다.
그림 2개는 LOT와 위치등 재고 상세 테이블이고 품목에 수량을 간단히 조회할 수 있는 테이블은 따로 구성되어있습니다.(세번째사진)
꼭 재고만의 문제는 아니지만 PK컬럼으로 쓸 후보식별자가 존재하면 일반적으로 인조식별자(자동증값을 가진 컬럼) 보다 낫습니다.
PK로 안만들게 되면 어짜피 INDEX를 또 설정하기 때문에 낭비가 되죠. 게다가 자식 테이블이 필요한경우 불필요한 조인도 생략됩니다.
위에 테이블중 3번쨰 그림 테이블은 재고량이 SUM값으로 나오는것 같은데 데이터가 많지 않으면 그럴 필요가 있는지 먼저 확인해야 할것같아요.
또 두번째 그림테이블도 입고/출고 컬럼이나 입고날짜 / 출고날짜 컬럼도 필요하지않을까 생각됩니다.