• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

테이블 명세에 대해 의문사항이 있습니다.

22.10.08 00:18 작성 조회수 243

0

 

안녕하세요 강사님
좋은 강의에 먼저 감사의 말씀 드립니다.

https://github.com/spring-projects/spring-batch/blob/main/spring-batch-core/src/main/resources/org/springframework/batch/core/schema-mysql.sql

테이블을 생성하는 구문은 위 링크와 같은데,

BATCH_JOB_INSTANCE와 BATCH_JOB_EXECUTION의 경우 일대다 비식별 관계인 것이 이해가 갑니다.
하지만 BATCH_JOB_EXECUTION와 BATCH_JOB_EXECUTION_CONTEXT는
식별관계임에도 불구하고 일대다로 구성되어 있네요.. (복합키도 아님)

여기서 질문 있습니다.

  1. 이렇게 테이블을 구성하면 실제로 BATCH_JOB_EXECUTION_CONTEXT에는 중복된 값이 들어갈 수 없어 일대다 관계가 성립하지 않는 것 아닌가요?

  2. BATCH_JOB_EXECUTION_PARAMS의 경우 기본키가 없는데 혹시 알려주실 수 있으실까요?

 

 

답변 1

답변을 작성해보세요.

0

말씀하신 대로 BATCH_JOB_EXECUTION 와 BATCH_JOB_EXECUTION_CONTEXT 는 식별관계로 일대다의 관계가 될 수 없는 것은 맞습니다.

공식문서에 나와 있는 ERD 가 위의 테이블 관계를 정확하게 표현한 것인지는 저도 잘 모르겠습니다

어디까지나 스프링배치 공식문서 기준에서 이해하긴 하지만 두 테이블 모두 동일한 키 값을 가지고 있는 1:1 관계인 것은 맞는 것 같습니다.

그리고 BATCH_JOB_EXECUTION_PARAMS 은 자체 기본키가 없는 것 같습니다.

이 테이블은 BATCH_JOB_EXECUTION 과 1:N 의 관계로 이루어져 있습니다.