개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.11 12:00

DB2 Foreign Keys에 대한 질문입니다.

목록
  • Svelte연구가 14일 전 2025.03.11 12:00
  • 10
    1
제가 이해한 바로는 DB2에서는 외래 키를 생성하기 위해 REFERENCES 절을 사용하여 참조하는 테이블의 이름과 열을 지정해야 한다고 알고 있습니다. 하지만, REFERENCES 절에서 열의 이름을 지정하지 않으면 어떻게 되는지 궁금합니다.

예를 들어, 다음과 같은 테이블이 있다고 가정합시다.

sql

CREATE TABLE 부서 (

  부서번호 INT PRIMARY KEY,

  부서이름 VARCHAR(50)

);



CREATE TABLE 직원 (

  직원번호 INT PRIMARY KEY,

  직원이름 VARCHAR(50),

  부서번호 INT,

  FOREIGN KEY (부서번호) REFERENCES 부서(부서번호)

);



REFERENCES 절에서 부서번호 열의 이름을 생략한 경우, 어떻게 되는지 알고 싶습니다.

    댓글목록

    profile_image
    나우호스팅  14일 전



    DB2에서 REFERENCES 절에서 열의 이름을 지정하지 않으면, 참조하는 열의 이름은 자동으로 생성됩니다.

    예를 들어, 다음과 같은 테이블이 있다고 가정합시다.

    sql
    
    CREATE TABLE 부서 (
    
      부서번호 INT PRIMARY KEY,
    
      부서이름 VARCHAR(50)
    
    );
    
    
    
    CREATE TABLE 직원 (
    
      직원번호 INT PRIMARY KEY,
    
      직원이름 VARCHAR(50),
    
      부서번호 INT,
    
      FOREIGN KEY (부서번호) REFERENCES 부서(부서번호)
    
    );
    
    


    REFERENCES 절에서 부서번호 열의 이름을 생략한 경우, 다음과 같이 생성됩니다.

    sql
    
    CREATE TABLE 부서 (
    
      부서번호 INT PRIMARY KEY,
    
      부서이름 VARCHAR(50)
    
    );
    
    
    
    CREATE TABLE 직원 (
    
      직원번호 INT PRIMARY KEY,
    
      직원이름 VARCHAR(50),
    
      부서번호 INT,
    
      FOREIGN KEY (부서번호) REFERENCES 부서
    
    );
    
    


    이 경우, DB2는 참조하는 열의 이름을 부서.부서번호로 자동으로 생성합니다.

    따라서, REFERENCES 절에서 열의 이름을 지정하지 않으면, 참조하는 열의 이름은 자동으로 생성되며, 부서.부서번호와 같이 참조하는 테이블 이름과 열 이름이 함께 생성됩니다.

    2025-03-11 12:01

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 6,316건 / 224 페이지

검색

게시물 검색