외래키 오류

sh.j225·2023년 8월 18일
0

이 오류는 외래 키 제약 조건이 실패했을 때 발생하는 것입니다. card 테이블에서 todoId 열이 외래 키로 설정되어 있으며, 이 열은 todo 테이블의 todoId 열을 참조해야 합니다. 따라서 card 테이블에 데이터를 추가하거나 업데이트할 때 todoId의 값이 todo 테이블에 존재하는 유효한 값이어야 합니다.

이 오류가 발생하는 이유는

  1. 새로운 카드를 생성하거나 업데이트할 때 todoId 값을 잘못 설정한 경우
  2. card 테이블과 todo 테이블 간에 데이터 불일치가 있는 경우
    (예: todoId가 todo 테이블에 존재하지 않는 값인 경우)
  3. todo 테이블과 card 테이블이 동일한 데이터베이스에 있지 않는 경우

해결 방법:

CardController의 createCard() 메서드와 updateCard() 메서드에서 createCardDto.todoId 값을 올바르게 설정하고, 해당 todoId 값이 실제로 todo 테이블에 존재하는지 확인.
card 테이블과 todo 테이블 간의 외래 키 제약 조건을 확인하여 데이터 일치성을 유지.
todo 테이블과 card 테이블이 동일한 데이터베이스에 있는지 확인하고, 올바른 연결을 사용하고 있는지 확인.
데이터베이스의 외래 키 관계와 연결이 올바른지 확인하고, 데이터를 추가하거나 업데이트할 때 todoId 값을 제대로 설정하는지 확인.

card.entity의 관계를 재설정하여 오류 해결.

오늘의 질의 응답😎

RDBMS의 정규화에 대해 설명해주세요.

나의 답변 😄

정규화는 RDBMS에서 데이터를 효율적으로 저장하고 관리하기 위해 사용되는 과정입니다. 데이터 중복과 이상 현상을 최소화하여 데이터 일관성과 무결성을 유지하고, 1NF부터 5NF까지의 정규형을 따라 데이터를 분해하며, 이로써 중복을 제거하고 연결된 테이블 간의 관계를 명확하게 정의하여 데이터베이스의 구조를 최적화하는 역할을 합니다.

0개의 댓글