2012-08-23 3 views
8

고정 날짜, 반복 된 일일 반복, 특정 요일에 반복, 해당 연도의 특정 달 반복, 반복 수행 할 수있는 일정을 만들 수 있기를 원합니다. 매년 특정 날짜, 그리고 하루 중 특정 시간에 반복됩니다.예약 작업을위한 데이터베이스 테이블 디자인

이 문제에 대한 데이터베이스 테이블을 작성하려면 어떻게해야합니까?

편집 # 1

기본적으로, 사용자가 미리 구성된 인사는 다양한 사전 구성된 시간에 전송되도록 예약 할 수 있습니다 응용 프로그램을 쓰고 있어요. 나는 일정 (예 : 크리스마스, 마케팅 원, 그리고 일정이 언제 실행되어야하는지)에 관한 정보를 저장하는 테이블이 필요하다는 것을 알고있다. 그런 다음 어떤 일정이 실행되었는지, 어떤 인사말을 보낸지, 누가 무엇을 이메일로 기록했는지 기록하는 또 다른 표; 기본적으로 거래 테이블.

특정 날짜, 특정 요일 (반복), 매월 특정 날짜, 매일 특정 시간에 일정을 실행할 수 있도록 일정표를 설계하고 있기 때문에 문제가 발생합니다. , 그리고 특정 일/월 (예 : 25/12)에 매년.

이러한 입력을 유연하게 처리 할 수있는 일정 테이블을 만들려면 어떻게해야합니까?

+1

는 당신이 내장 스케줄러를 사용할 수 없습니다를? 대부분의 RDBMS에는 이러한 기능이 있으므로 사용자는 휠을 다시 발명 할 필요가 없습니다. – Ben

+0

"실행"을 데이터베이스에 나타내야 만합니까 (그리고 어떻게?) 또는 일정을 잡아야합니까? –

+0

@BrankoDimitrijevic 네, 그래야합니다. – Tebo

답변

6

이것은 내가 작성한 테이블 구조입니다.

Schedule 
- ScheduleName 
- ScheduleTypeId (Daily, Weekly, Monthly, Yearly, Specific) 
- StartDate 
- IntervalInDays 
- Frequency 
- FrequencyCounter 

ScheduleDaily 
- ScheduleDailyId 
- ScheduleId 
- TimeOfDay 
- StartDate 
- EndDate 

ScheduleMonthly 
- ScheduleMonthlyId 
- ScheduleId 
- DayOfMonth 
- StartDate 
- EndDate 

ScheduleSpecific 
- ScheduleSpecificId 
- ScheduleId 
- SpecificDate 
- StartDate 

... 

ScheduleJob 
- ScheduleJobId 
- ScheduleId 
- ScheduleTypeId 
- RunDate 
- ScheduleStatusId 
1

일정에 대해 이야기하고 있으므로 작업 관리 및 실행을위한 배치 응용 프로그램을 작성한다고 가정합니다.

참조 구현을 위해 spring batch meta data design을 확인할 수 있습니다. 그러나 정확한 디자인은 요구 사항에 따라 다릅니다. 이것은 단지 포인터 일뿐입니다.

+0

감사합니다. 그러나 그것의 아주 일반적인. 일정에 따라 다양한 기간 (고정 날짜, 반복되는 요일, 반복 요일 등)을 나타내는 디자인이 필요합니다. 궁극적으로 지정된 날짜로 변환됩니다. – Tebo

관련 문제