Page 14 -
P. 14

한 테이블 전체로 보면 기본 키 컬럼에는 유일한(unique)한 값이 들어갑니다.
              테이블에 데이터가 100건 있다고 한다면, 기본 키의 유일한 값도 100개인 것
              이죠. 이런 특성 때문에 키 컬럼에는 보통 일련번호 형태의 숫자를 사용하

              는 경우가 많습니다. 참고로 이 책에서 사용할 오라클 RDBMS에서는 시퀀스
              (sequence)라는 별도의 데이터베이스 객체를 사용해 키 컬럼에 값을 넣는 것이
              일반적입니다.

              그럼 키는 언제 사용할까요? 특정 데이터를 수정하거나 삭제할 때 사용합니다.
              5명의 홍길동이 각자 유일한 키 값을 가지고 있다면, 그 키 값을 이용해 원하는
              홍길동의 데이터만 수정할 수 있죠. 5명 중 2명이 서로 이웃이라고 해도 키 값

              을 이용해 이 2명을 구별해낼 수 있습니다. 이런 일이 실제로는 없겠지만, 이
              웃이었던 2명의 홍길동이 같은 날 이사를 갔는데 하필이면 같은 동네로 이사를
              가서 또 이웃이 됐다고 하더라도 키 값만 있으면 문제 없이 2명의 주소를 구분
              해 수정할 수 있습니다. 반면 이름만으로 검색해 처리한다면 홍길동 5명의 데

              이터가 모두 수정되거나 삭제되겠죠.
              한 테이블에서 유일한 식별자 역할을 하는 키는 테이블 간 관계를 맺을 때도 사

              용됩니다. 그림 2-2에서 보듯이 회원정보와 주소 테이블은 주소 테이블에 있는
              키 컬럼을 이용해 연결되어 있습니다. 이때 혼동하지 말아야 할 것이 1, 2, 3은
              회원정보 테이블의 기본 키고, 연결고리가 되는 1001, 1002, 1003은 주소 테
              이블의 기본 키입니다. 그렇다면 회원정보 테이블에 있는 주소 id 컬럼은 뭐라

              고 부를까요? 이를 참조 키(foreign key)라고 합니다. 즉, 한 테이블에서 유일하
              게 로우를 식별하는 키를 기본 키, 다른 테이블의 기본 키와 연결고리가 되는
              키를 참조 키라고 합니다.

              정리하면 회원정보 테이블에서 1, 2, 3 값의 컬럼은 기본 키, 1001, 1002, 1003
              값의 컬럼은 참조 키입니다. 같은 1001, 1002, 1003을 갖고 있더라도 주소 테
              이블에서는 이 컬럼이 기본 키가 되는 것이죠. 따라서 회원정보 테이블에서 참

              조 키 컬럼은 중복 값을 가질 수 있습니다. 반면 주소 테이블에서 기본 키는 중
              복 값을 가질 수 없죠. 왜냐하면 주소 테이블에서는 이 값들이 기본 키니까요.





           26




     누구나 쉽게 SQL(본문)최종.indd   26                                            2019-05-28   오후 5:08:45
   9   10   11   12   13   14   15   16   17   18   19