2011-09-19 5 views
0

개인 시간 추적기 웹 응용 프로그램을 만들고 있습니다. 데이터베이스에서 행을 업데이트/생성하기 위해 페이지에서 시작, 일시 중지 및 완료 버튼을 갖습니다. 그것은 PHP로 만들어졌습니다.시간 추적기 응용 프로그램 용 MySQL 열

나는 다음과 같은 것을 가지고있다 : id, user_id, project, notes, created, updated.

저는 사람들이 한 작업을 일시 중지했다가 다시 시작하여 한 번의 작업에 총 시간을 갖도록 허용하는 가장 좋은 방법이 무엇인지 궁금합니다 (일시 중지 된 모든 일시 중지).

열에 어떤 열 유형과 속성을 설정해야하며 해당 열을 업데이트하는 최선의 방법은 무엇입니까?

+0

데이터 세트가 자연스럽게 1 : n (잠재적으로 무제한 중지 시작을 할 수있는 1 명의 사용자) 인 경우, 분명히 설계는 일시 중지/일시 중지 해제 시간을 하위 테이블에 저장하는 것입니다. –

+0

얼마나 세분화가 필요합니까? 예를 들어 사용자 A가 12:00, 2:00 및 2:15에 일시 중지 된 기록을 갖고 싶습니까? 아니면 전체 시간 경과 문제입니까? – user937146

+0

흠, 나는 총 시간이 끝났다고 생각합니다. 따라서 사용자 A - 2011 년 8 월 26 일 - 프로젝트 B - 26 분 – benhowdle89

답변

0

나는 C#에서 먼 과거에도 그러한 응용 프로그램을 만들었습니다. 모두가 필요로하고 고용주가 제공하지 않는 것처럼 보입니다 :-)

누군가 주제가 일시 중지되면 작업을 중단하십시오. 그래서 실제로 백엔드에서 작업을 끝내십시오. 작업을 다시 시작할 때 백엔드에서 새 작업을 시작하기 만하면됩니다. 롤업시 동일한 task_id를 사용하여 인접한 작업을 단일 작업으로 수집하십시오. 이렇게하면 작업 기간에 제한을 적용 할 수 있습니다. 하루 경계선을 넘나 드는 작업과 최대 작업 시간을 하나의 작업이라고 부릅니다. 이렇게하면 프런트 엔드가 실제로 단순화 된 모델을 기반으로하면서 스마트 백엔드에서 매우 유연하게 처리 할 수 ​​있습니다.