본문 바로가기
SAP/SAP-ABAP

::SAP-ABAP::SE11 - DB Table의 PK 중복

by 피키로그 2020. 5. 17.

안녕하세요~ 피키로그입니다.

오늘은 SE11에서 DB Table을 만들 때 PK(Primary Key) 설정 시

중복이 발생되지 않게끔 생성해야 한다는 이야기를 하려고 합니다.

 

아래와 같이 신규 테이블을 생성할 때 키 필드를 설정하게 되는데, PK는 중복되지 않도록 설정해야 합니다!

SE11 키 필드 설정

왜 그런 지 간단히 아래의 예시로 설명을 드리겠습니다.

(PK설정과 테이블 설계에 대해서는 [관계형 데이터 베이스]를 키워드로 검색해보시면 잘 정리된 자료가 많습니다!)

 

먼저 진료일과 과목 코드를 PK로 설정한 경우입니다.

DB에 이미 1개의 레코드가 저장돼 있는 상태에서 같은 키 값으로 Insert(삽입) 구문을 실행할 경우

PK중복으로 저장에 실패하게 됩니다. (실제로는 덤프 에러가 발생됩니다.)

PK 중복 발생

 

반면 Seq까지 PK로 잡은 경우 진료일과 과목코드까지는 PK가 중복되지면

Seq 필드가 다르기 때문에 전체 키 값은 중복이 아니게 됩니다!

따라서 정상적으로 DB에 데이터가 적재될 수 있는 것입니다.

 

PK중복 없이 정상 저장

 

제가 설명드린 경우 외에도 PK의 순서도 데이터를 처리할 때 영향을 미치고

프로그램의 성능에도 큰 영향을 미치기 때문에 설계할 때 주의를 해야 합니다.

댓글