2012-07-27 3 views
1

현재 서비스 또는 콘솔 응용 프로그램이 JobQueue 테이블에서 Job을 읽을 모듈을 설계 중입니다.작업 대기열 테이블 자체에 작업 세부 사항을 가지고 있거나 별도의 테이블에 세부 사항이 있습니까?

LastModifiedOn NOTNULL 날짜 : VARCHAR CreatedOn

NOTNULL :

주 NOTNULL INT :

작업 ID : INT 기본 키

JOBTYPE 나는 다음 거기에 정보와 JobQueue 테이블을 디자인했다 : datetime nullable

CompletedOn : datetime nullable

JobType 특성은 특정 작업 유형보다이 테이블을 더 일반적인 상태로 유지하기 위해 주로 도입되었습니다. 내 질문은이 테이블 자체 또는 작업 ID를 참조하는 다른 테이블에서 실행될 작업에 대한 세부 정보를 유지할 것인지 여부입니다. 다른 일부 테이블에서 데이터를 사용할 수 있기 때문입니다. 따라서 작업을 실행하는 동안 간접적으로 데이터를 가져올 수 있습니다. 정보 복제를 피하기 위해이 같은 것을 생각했습니다. 이것은 좋은 접근 방법입니까? 나는 내가 아이디 (에서는 jobID) 분명히 필요를 참조 (? 어쩌면 당신은 그 보이지 않았다) 여기

을 많은 속성이 표시되지 않는이

답변

0

해당 테이블의 "다른 테이블"에있는 데이터를 유지하십시오. 여기에서 고려해야 할 것은 데이터를 어떻게 사용할 것인지입니다.
세부 정보를보기 위해 하나를 선택할 수있는 색인 된 작업을 표시하려는 경우 데이터를 두 개의 개별 페치로 가져올 수 있습니다. 또는 작업과 관련된 모든 데이터 (JobQueue 테이블의 데이터와 해당 "다른 테이블"의 데이터)가 필요한 경우 항상 JOIN으로 단일 페치를 실행할 수 있습니다. 나는 JobDetails 데이터를 별도의 테이블에 보관하는 것이 문제를 일으킬 것이라고 생각하지 않습니다.

0

에 대한 조언이 필요, 유형 및 상태 정보 (볼 수 없습니다 이 데이터없이 수행 할 수 있습니다.)

그리고 감사 정보가 생성, 수정 및 완료되었습니다. 나 자신이 만든 사람과 수정 한 사람을 위해 문자열을 넣는 것을 좋아하지만, 내가 만든 모든 테이블에 감사 정보가 있습니다. 어떤 일이 일어 났는지 확실하지 않고 데이터베이스를 유지하려고 할 때 항상 유용합니다.

+0

답장을 보내 주셔서 감사합니다 호건. 누가 작성했는지, 테이블에서 수정 된 정보를 유지 관리하고 있습니다. 하지만 내 주요 의심은 작업 큐 테이블 자체 또는 일부 다른 테이블에서 사용할 수있는 데이터의 일부로 작업을 실행하는 데 필요한 데이터가 있는지 여부와 거기에서 가져올 수 있습니다. – Vinoth

+0

어떤 데이터를 말하고 있습니까? 약? 질문에 표시되지 않은 것이 있습니까? – Hogan

+0

그래, 뭔가가 jobqueue 테이블의 일부가 아닙니다. 그러나 그 데이터와 함께 일이 수행됩니다. – Vinoth