데이터 베이스 기본 (4)

모든 관계형 데이터베이스에서 기본키는 필수 입니다. 기본키는 테이블에서 1개의 레코드, 즉 1개의 행을 구별하기 위한 고유의 값이고 절대 같은 값을 두 개 가질 수 없습니다. 보통 데이터베이스 프로그램에 의해서 자동으로 생성되며 엑세스의 경우는 양의 정수를 순서대로 부여 합니다. 주민등록 번호와 같은 1개 밖에 존재하지 않는 값을 고유키로 지정할 수는 있지만 민감한 정보를 포함 할 수 있는 주민 등록 번호, 또는 통장의 계좌 번호 보다 DB에 의해서 자동으로 생성되는 기본키를 사용할 것을 권해 드립니다. 또 기본키를 단순한 숫자가 아닌 특정한 패턴을 가지는 예를 들어 특정 제품 시리얼 번호를 알파벳과 조합해 생성하는 것도 가능하지만 VBA코딩을 할 줄 아셔야 함으로 엑세스 VBA편에서 소개 하도록 하겠습니다.

  1. 기본 키(Primary Key)

    서론에서 말씀 드렸듯이 기본키는 테이블을 구성하기 위한 최소 필드이고 반드시 있어야 합니다. 그리고 특별한 기본키를 지정하지 않으면 엑세스에서는 새로운 레코드가 추가 될 때 마다 양의 정수를 순서대로 부여하게 됩니다. 이 기본키는 한 테이블에서 절대 같은 값을 두 개 가질 수 없으며 다른 모든 필드가 같더라도 이 기본키는 다른 값을 가지니 엑세스에서는 완전한 중복 데이터의 입력이 원천적으로 불가능 합니다. 예를 들어 내가 완전히 동일한 두 개의 제품을 시리얼 넘버를 제외하고 엑세스 테이블에 입력한다고 하면 생산 시간, 제품 이름, 색깔 등 모든 것이 동일 하여도 기본 키는 다르기 때문에 엑세스 에서는 다른 두 개의 제품이 됩니다. 또 다시 설명 드리면 기본키는 고유의 값을 갖는 무엇이든 선택이 가능 하지만 자동으로 생성되는 용이함과 또 메모리의 절약을 위해 제이킴의 거의 자연수 이외의 기본키는 사용한 적이 없습니다. (50개 주의 약자를 기본 키로 사용한 적은 있습니다. 50개 밖에 안되고 또 더 생성될 가능성도 없기 때문이죠.)

  2. 필드 이름과 기본 키

    기본 키는 자동으로 생성되는 일련 번호를 거의 거대로 사용 하는 편이지만 일련 번호의 기본 필드 이름인 ID는 내가 봤을 때 알아보기 쉬운 필드 이름으로 바꿔 주는 것이 좋습니다. 테이블이 몇 개 안될 때는 상관 없지만 데이터베이스에 테이블이 점점 쌓여 가고 테이블의 관계가 복잡해 지면 필드 이름이 ID로 모두 같으면 관계 파악이 대단히 힘들어 집니다. 제이킴이 주로 하는 방법은 테이블의 핵심 단어를 빼서 필드 이름에 Hungarian스타일로 필드 이름을 붙여 줍니다.

     

    Asset(자산)이라는 테이블의 기본 키의 필드 이름으로 AssetID를 선택 했습니다.

     

     

    Manufacturer(제조업체)라는 테이블의 기본 키를 ManufacturerID라는 필드 이름으로 지정했습니다.

     

     

    이렇게 기본 키의 필드 이름도 고유한 값을 가지게 되면 다음에 소개해 드릴 테이블 간의 관계 설정에서 관계 설정하기가 상당히 수월해 집니다. 당장 귀찮다고 그대로 두게 되면 나중에 데이터베이스가 쌓이면 감당이 되질 않습니다. 데이터베이스를 사용하는 이유는 매우 체계적으로 데이터를 저장하기 위함이고 엑세스가 대부분의 일을 담담해 주지만 그 시스템을 구축하는 것은 설계자 입니다. 처음부터 올바른 습관을 기르는 것은 대단히 중요합니다.


+ Recent posts