가계부 db 질문드립니다. 0 3 3,256

by jiyooon [Oracle 기초] 가계부 잔액 [2013.07.31 00:57:16]



안녕하세요 이번에 가계부를 만드려고하는데요
테이블은
create table test(
no number(5) --- 번호
,sort number(3)
,date1 date --- 날짜
,title varchar2(20) 
,content varchar2(100)
,picture varchar2(20)
,item varchar2(40) 항목
,total number(10) 총금액
,income number(10) 수입
,outcome number(10) 지출
,balance number(10) 잔액
)

이렇게 되어있어요

여기서 날짜마다 잔액을 구하려고 하는데 어떻게 구해야하나요?

번호  날짜  항목  총금액  수입  지출  잔액   ------이렇게요

그리고 잔액 컬럼은 없애고 쿼리문으로 만들어야되나요?


by 마농 [2013.07.31 08:24:21]

총금액은 뭔지 모르겠구요.
수입과 지출만 있으면 될것 같네요.
아니면 금액필드 하나에 +, - 로 구분해도 되구요.
아니면 금액필드 하나에 수입,지출 구분필드 하나 추가해도 되구요.
잔액필드를 두게 되면 입력, 수정, 삭제시 이 필드를 정확하게 유지하기 위한 로직이 필요하게 됩니다.
잔액은 어차피 기본 필드만 있으면 계산이 가능한 파생필드입니다.
잔액은 그냥 조회시 분석함수를 이용하면 쉽게 구하실수 있습니다.
SUM(수입 - 지출) OVER(ORDER BY 날짜, 순번) AS 잔액


by jiyooon [2013.08.01 11:46:17]
감사합니다.!!

by 우리집아찌 [2013.07.31 09:11:13]

졸업작품으로 가계부 만들었는데  지금생각하면 완전 허접이네요. ㅋㅋㅋ

잔액은 마농님 말씀대로
앞의 날짜의 수입/지출을 고치면 뒤의 잔액을 일률적으로 다 바꿔주는 로직 들어가니까
안좋습니다.. 분석함수 쓰세요 
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입