database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 5725 게시물 읽기
No. 5725
중소규모의 판매 재고와 관련해서 질문
작성자
김선엽(sunyoupk)
작성일
2004-12-10 11:27
조회수
2,497

안녕하세요

 

아주까지는 아니지만 또 많이 크다고 할 수는 없는 그런 규모의 회사의 판매재고를 관리하는 프로그램을 만들게 되었는데요...

 

안정성을 따지자니 MySQL을 따지다가 PostgreSQL로 일단 선택을 하였는데요 문제라고 할 만한 상황을 발견했는데요

 

업무의 성격상 재고 조사를 나오면 이전의 재고 상태를 보여줘야 하는데 그렇다면 이 방법을 어떻게 해야 하는지요

 

저의 짧은 생각으로는 처음의 품목이 등록 되었을 때 그 품목의 수량이 다 팔려도 그 품목은 여전히 지워지지가 않는거죠...

 

그래서 출고의 기록으로 그 품목과 계산을 해서 원하는 날짜의 재고상태를 파악 할 수 있게끔 하는것인데요...

 

이것이 가장 올바르다고 할 수 있는 방법인지요...

 

좋은 조언 부탁드립니다 ~ 수고 하시구요

이 글에 대한 댓글이 총 3건 있습니다.

저랑 엇비슷한 업무 하고 계시네요...^^;

 

재고조사 시행하면 갑자기 현재 재고 상태 말고 특정일자 기준으로 알려달라고 할때가 많더라구요...현재 재고는 바로 알 수 있지만 특정일자 기준이면 좀 난감하죠...^^;

 

저 같은 경우는 일단 상품 코드는 절대 삭제 금지로 처리해두고요...사실은 상품명칭의 변경도 불가...(나중에 불필요한 상품 코드는 단종 처리로 구분하여 두는 식으로...)

 

그외 입출고 데이터를 별도의 테이블에 만들어 둔 다음 현재부터 그 특정 일자까지의 입출고 수량을 각 상품별로 합산하여 현재의 재고값과 합쳐서 계산합니다.

( 물론 현재 재고값은 다른 테이블에 별도로 저장하여 두었습니다.)

 

다만 이렇게 되면 느려지지 않느냐라는 질문이 있으실 수 있는데요.

실제 운영중인 상품수와 매일 발생하는 상품 입출고 건수가 얼마만큼인지를 잘 감안하셔서 처리하셔야 할 듯 합니다.

 

정답이라고 말씀 드릴 수 있을 것 같지는 않네요...회사 상품 건수와 입출고수준에 맞춰서 처리한거니까요...^^;

김영호(icepage)님이 2004-12-10 11:50에 작성한 댓글입니다.
이 댓글은 2004-12-10 13:52에 마지막으로 수정되었습니다.

지금까지 경험에 의하면,

이 특정 일자의 재고 수량 파악에 있어,

전산상으로(!) 가장 합리적인 방법은

은행통장 표현방식을 이용하는 방법입니다.

 

상품, 날짜, 입고|출고, 수량, 남은수량

 

이방식이지요. 그리고, 이 테이블은 당연히 insert, select 작업만 할 수 있고요. insert 작업을 할때, 트리거가 작동해서, 남은수량은 변경되고.

 

물론 실재자료구조에서는 이것보다 훨씬 복잡합니다. 입출고 계정도 있어야할터이고, 원가, 세액 ..등.

 

이런 방식이면, 특정일자 기준의 어떤 통계치를 구해는 것이 한결 용이해집니다.

이방식의 문제점은 이 입출고 테이블이 반드시 insert, select only 여야한다는 것입니다. 실세계에서는 당연히 update와 delete 작업이 있는데, 이것을 어떻게 전산상으로 표현할 것이도 고민을해야합니다. 꽤 복잡한 부분이지요.

 

김상기(ioseph)님이 2004-12-10 13:36에 작성한 댓글입니다.

에구...입출고 데이터 부분은 실제로

상품, 날짜, 입고|출고, 수량, 남은수량

방식으로 되어 저장되고

재고장 데이터 별도로 저장 하고 있는 방식으로 구현이 되어도

이 방법으로는 특정일의 재고상태를 파악할 때 문제가 발생합니다.

 

실제로 특정일에 모든 상품이 입출고 되지는 않기 때문에 만일 특정일에 입출고 내역이 없는 상품일 경우에는 검색을 해도 아무것도 안나타나고 그럼 재고가 없어서 안나타나는 거라고 생각하게 되지요.

 

아니면 매일 입출고 데이터를 통계 데이터 방식으로 모든 상품에 대해 자동으로 산출하여 기록을 해두면 어떨까란 생각을 해보기도 했지만 유통회사의 경우 관리하는 품목이 2000개이면 실제 특정일에 처리되는 상품은 약 200개 정도 이기 때문에 통계 데이터의 90%는 의미가 없는 데이터가 되곤 해서 그다지 합당치 못하기도 하구요.

(게다가 사실 특정일 통계를 만들어 봐야 그 날에 대해 아무도 조회를 안하면 그야말로 100% 쓸모 없는 데이터가 되구요)

 

결국 입출고 데이터 기준으로 매번 재계산해서 레포트 출력해주고 있습니다...뭔가 더 나은 방법이 있을 듯 한데 도저히 기존 데이터와의 호환되는 방법 내에서는 구현 불가능할 듯 하구요.

 

요즘 재고 관련 데이터는 선매입이나 선매출 등도 있고 해서 실 재고와 이중으로 처리하기도 하구 최소 보유 수량 기준으로 매입 요청서도 작성되야 하구 ... 기타등등 기타등등 기타등등 무슨 요구 사항이 늘 그리도 많은 지...아니 요구 사항이 있어도 되는 데 그럼 미리 말을 하던지...^^;

 

하여간 이넘의 재고장 문제만 회사에서 거론되면 아주 죽을 지경입니다...ㅡ.ㅜ

 

김영호(icepage)님이 2005-02-28 15:36에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
5728향상된 wal의 작동원리 [1]
wal
2004-12-10
3708
5727resin과 postgresql 그리고 jdbc연동 문제에 대한 질문이에요 [1]
궁금이
2004-12-10
2414
5726새로나올 PostgreSQL 8.0 Win32 버젼에 대한 질문입니다. [1]
김종화
2004-12-10
2326
5725중소규모의 판매 재고와 관련해서 질문 [3]
김선엽
2004-12-10
2497
5724다른 계정의 데이터 보는 방법 좀 알려주세요. [1]
장철훈
2004-12-10
2194
5723명령어 라인에서 비밀번호 같이 입력 어떻게 ? [2]
안은석
2004-12-10
2980
5722대용량 DB를 위한 설정값... [2]
박성철
2004-12-08
3394
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다