안녕하세요. 김유중이라고 합니다.
제가 문의 드리는 내용은 단순한 날짜형, 시간형 필드의 사용여부를
말하려는것이 아닙니다.
실무에서 접하지 못하신문은 좀 더 신중히 생각하시고 말씀해
주시기 바랍니다. 헷갈려요.
예를들어 보겠습니다.
A. 날짜형 필드
날짜형 필드를 사용하는것은 좋은 방법이 될 수 있으나 현 업무에서
회계,판매등의 프로그램을 만든다고 가정하면
월 판매또는 수금집계를 하고자 할때 리스트는 다음과 같이 나오겠지요
날짜 항목 금액 잔액
????.??.?? 전월이월 ???,???,??? ???,???,???
2000.07.18 입금 ???,??? ???,???,???
2000.07.19 입금 ???,??? ???,???,???
2000.07.19 출금 ???,??? ???,???,???
2000.07.20 출금 ???,??? ???,???,???
2000.07.21 입금 ???,??? ???,???,???
만약 위와같은 경우 전월이월금액을 알지 못하면 현 잔액을 구할수 없겠
지요. 그래서 여러가지 방법을 쓰고 있는줄 알고 있는데
1. 매번 전월이월금액을 계산하여 처리 한 다음
프로그램으로 이월금액을 구하여 금월 금액과 합산하여 처리 하는 방법이
있을것이고
2 한번에 쿼리로 처리 하고자 한다면
2000.07.00 이라고 만들어 월마감을 해버리면 해당월의 전월이월을
구하는게 매우 빠르고 한번의 쿼리문으로 처리 할 수 있을것 같은데
이경우 필드 타입을 날짜형으로 처리하여 프로그램으로 처리 하는
방법(1)과 문자형으로 지정하여 (2)의 방법으로 처리 하는 방법이 있을
것입니다. 어느것이 효율적인가요 ?
또한, 다른분은 위와같은경우 어떤방법으로 처리 하시는 지요
B. 시간형 필드
시간형 필드를 사용하는경우는 근태관리 프로그램을 예를들수 있는데
예를들어 매일 출,퇴근을 하며 연장근무를 하면 다음과 같은 리스트가
나올수 있는데
날짜 출근 퇴근 연장
2000.07.01 09:00 20:50 02:50
2000.07.02 09:00 18:00 00:00
2000.07.03 09:00 19:30 01:30
2000.07.04 09:00 21:40 03:40
2000.07.05 09:00 18:00 00:00
2000.07.06 09:00 20:10 02:10
이 경우 연장근무 시간을 합하여 보여 주고자 할 때
모든 연장근무를 계산한 값을 더하여 시간으로 보여 주어야
하는데 시간형으로 지정시 위의 내용처럼 표시를 해 줄 수 있는지
저같은 경우는 저장시 모두 분으로 환산하여 저장하고
보여줄때는 시간으로 환산하여 보여주고 있습니다.
그러므로 시간형을 쓰지 않고 int형을 선언하여 일반 산술식으로
계산을 하고 있습니다.
다른분은 어떻게 처리 하시나요 ?
어찌보면 간단한 문제라고 생각하시겠지만 데이터설계가 매우 중요한것으로
알고 있는데 위와같은 문제의 처리는어떤방법으로 처리를 하시는지
매우 궁금합니다.
제가 맞는것인지 아니면 다른 오류가 있는지 제가 잘못알고 있거나
모르고 있는 부분이 있는지 궁금합니다.
> 안녕하세요. 김유중이라고 합니다.
> 제가 문의 드리는 내용은 단순한 날짜형, 시간형 필드의 사용여부를
> 말하려는것이 아닙니다.
>
> 실무에서 접하지 못하신문은 좀 더 신중히 생각하시고 말씀해
> 주시기 바랍니다. 헷갈려요.
>
> 예를들어 보겠습니다.
> A. 날짜형 필드
> 날짜형 필드를 사용하는것은 좋은 방법이 될 수 있으나 현 업무에서
> 회계,판매등의 프로그램을 만든다고 가정하면
>
> 월 판매또는 수금집계를 하고자 할때 리스트는 다음과 같이 나오겠지요
>
> 날짜 항목 금액 잔액
> ????.??.?? 전월이월 ???,???,??? ???,???,???
> 2000.07.18 입금 ???,??? ???,???,???
> 2000.07.19 입금 ???,??? ???,???,???
> 2000.07.19 출금 ???,??? ???,???,???
> 2000.07.20 출금 ???,??? ???,???,???
> 2000.07.21 입금 ???,??? ???,???,???
>
> 만약 위와같은 경우 전월이월금액을 알지 못하면 현 잔액을 구할수 없겠
> 지요. 그래서 여러가지 방법을 쓰고 있는줄 알고 있는데
>
> 1. 매번 전월이월금액을 계산하여 처리 한 다음
> 프로그램으로 이월금액을 구하여 금월 금액과 합산하여 처리 하는 방법이
> 있을것이고
>
> 2 한번에 쿼리로 처리 하고자 한다면
> 2000.07.00 이라고 만들어 월마감을 해버리면 해당월의 전월이월을
> 구하는게 매우 빠르고 한번의 쿼리문으로 처리 할 수 있을것 같은데
>
> 이경우 필드 타입을 날짜형으로 처리하여 프로그램으로 처리 하는
> 방법(1)과 문자형으로 지정하여 (2)의 방법으로 처리 하는 방법이 있을
> 것입니다. 어느것이 효율적인가요 ?
>
> 또한, 다른분은 위와같은경우 어떤방법으로 처리 하시는 지요
>
> B. 시간형 필드
> 시간형 필드를 사용하는경우는 근태관리 프로그램을 예를들수 있는데
> 예를들어 매일 출,퇴근을 하며 연장근무를 하면 다음과 같은 리스트가
> 나올수 있는데
>
> 날짜 출근 퇴근 연장
> 2000.07.01 09:00 20:50 02:50
> 2000.07.02 09:00 18:00 00:00
> 2000.07.03 09:00 19:30 01:30
> 2000.07.04 09:00 21:40 03:40
> 2000.07.05 09:00 18:00 00:00
> 2000.07.06 09:00 20:10 02:10
>
> 이 경우 연장근무 시간을 합하여 보여 주고자 할 때
> 모든 연장근무를 계산한 값을 더하여 시간으로 보여 주어야
> 하는데 시간형으로 지정시 위의 내용처럼 표시를 해 줄 수 있는지
>
> 저같은 경우는 저장시 모두 분으로 환산하여 저장하고
> 보여줄때는 시간으로 환산하여 보여주고 있습니다.
>
> 그러므로 시간형을 쓰지 않고 int형을 선언하여 일반 산술식으로
> 계산을 하고 있습니다.
>
> 다른분은 어떻게 처리 하시나요 ?
>
> 어찌보면 간단한 문제라고 생각하시겠지만 데이터설계가 매우 중요한것으로
> 알고 있는데 위와같은 문제의 처리는어떤방법으로 처리를 하시는지
> 매우 궁금합니다.
> 제가 맞는것인지 아니면 다른 오류가 있는지 제가 잘못알고 있거나
> 모르고 있는 부분이 있는지 궁금합니다.
>
>