0

모니터생성/전송보고 시스템을 개발해야합니다.예약 보고서 (작업) 모니터

  • 시스템 데이터는
  • 보고서는 다른 스케줄 ("월 - 금 오후 10시"로 생성 될 데이터베이스 테이블 (베이스)에 저장, "달의 1 일", "오전 5시을 앉아"것 등)
  • 시스템에서 보고서가 생성되었는지 모니터링합니다. 보고서 자체는 생성하지 않습니다.
  • 보고서가 끝나지 않은 경우 적절한 담당자에게 통보합니다.
  • 시스템

사람이 좋은 알고 생성 된 모든 보고서의 로그를 유지합니다 (시도 및 검증) 작업 shedules를 저장하기위한 테이블 (들) 디자인? 이미 아이디어가 있지만 휠을 재발 명하고 싶지는 않습니다.

+0

을 REPORT_ID. – lamcro

답변

1

모든 유형의 복잡한 스케줄을 실제로 지원하려면이 스케줄 중 세부 사항에 대해 똑같이 복잡한 관계형 데이터베이스 스키마를 작성하는 것이 좋습니다.

스케줄의 세부 사항에 대한 XML 스키마 설계를 고려하고, 실제로 관계형 데이터베이스에 스케줄을 저장해야하는 경우 XML 데이터를 컬럼에 저장하는 것이 좋습니다. 일정 유형의 일정에 적용 할 수있는 일정의 특성 (예 : 일정 이름 또는 마지막 및 시간을 수정 한 사람)에 대해 열을 사용할 수 있습니다. 하나 개 이상의 보고서에 사용할 수있는 일정, 당신은 같은 것을 할 수 있다고 가정 예를 들어

: 응용 프로그램이 보고서가 있어야 무엇 "와 같은 질문에 대답하는

Table: Schedule 
--------------- 
Columns: 
    ID     - Surrogate key to refer to schedules 
          from other tables. 

    Name    - Short textual description of the schedule 
          (to be shown in GUI). 

    ... 

    Details    - XML containing all the details of 
          the schedule (frequency, exceptions, 
          complex combinations of simple schedules, 
          whatsoever). 

하더라도 날짜/시간으로 인해 "관계형 스키마를 사용하여 별도의 열 (및 여러 테이블에있는)에 세부적인 일정 정보를 저장하는 오버 헤드를 정당화 할 수있는 많은 수의 일정이 있어야한다고 생각합니다.

1

당신은

  • 개월 일,

    • ID
    • 이름
    • 월, 화, 수, 목은, 금, 토 ​​열이있는 테이블을 일정를 만들 수 있습니다 (h * 60 + m)

    당신의 예는 다음과 같습니다

    월 - 금 오후 10시

    mon, tue, wed, thu, fri = true, time=22*60, the rest are NULL 
    

    이 달의

    sat=true, time=5*60, the rest are NULL 
    

    1 일 오전 5시 앉아

    day=1, the rest are NULL 
    

    또한 테이블을 가질 수 보고서 컬럼에

    • ID
    • 가 열

  • 및 테이블 report__schedule___late을 schedule_id 이름 :

    • ID
    • DATE_TIME
    • 내가 크론 논리가 작동하는 방법에 대한 자세한 내용은 찾고 있어요