Index Key   인덱스 키, 키 (Key)

(2020-09-15)

PRIMARY KEY, 기본 키, FOREIGN KEY, 외래 키, 보조 키, 후보 키, 대체 키, Key

1. 키 (Key) 또는 인덱스 키 이란?

  ㅇ 다른 원소와 구별할 수 있는 요소

  ㅇ [검색정렬 알고리즘]    ☞ `인덱싱(Indexing)` 참조
     - 자료의 검색,정렬 등에 기준이 되는 요소(속성,값)들의 모음

  ㅇ [암호학]    ☞ `암호 키(Encryption Key)` 참조
     - 암호 알고리즘 수행시 주어지는 값 (암호를 변형시키는 추가 정보)

  ㅇ [관계형 DB]
     - 릴레이션튜플을 구별할 수 있는 속성 모음


2. [데이터베이스]  키(Key) 종류

  ㅇ 유일성,최소성에 따라 키가 될 수 있음
     - 후보키(candidate key) : 유일하고도 최소성을 만족하는 속성 모음
     - 슈퍼키(super key)     : 유일하지만 최소성을 만족하지 않는 속성 모음
        . 결국, 후보키들의 슈퍼 집합이 슈퍼키가 됨

  ㅇ 기본키(primary key)   : DB 설계자에 의해 직접 선택된 하나의 후보키
     - 개체를 고유하게 식별할 수 있는 속성
        . 유일해야 함 (즉, 중복 허용 않음)
        . Null 값 허용 않음

     - 기본키와 관련된 키
        . 대체키(alternate key) : 2 이상의 후보키 중 기본키를 제외한 나머지 후보키들
        . 외래키(foreign key)   : 다른 릴레이션(테이블)의 기본키를 갖게되는 키
           .. 즉, 다른 테이블의 기본키 값과 대응되는 키
           .. 어느 한 테이블(부모 테이블)의 기본키를 다른 테이블(자식 테이블)의 외래키로 사용
           .. 통상, 부모 테이블의 기본 키와 `1:多 관계`를 갖게 됨       ☞ `참조 무결성` 참조

  ㅇ 보조키(secondary key) : 중복 식별을 허용하는 키 (다양하고 복잡한 유형 가능)
     - 키워드,핵심어,주제어 라고도 함                           ☞ `검색엔진` 참조

  ㅇ 인덱스 키(index key)
     - 특정 내용을 찾기 쉽도록 인덱싱을 한 키
     - 인덱싱 알고리즘 例) B-Tree, Hash 등
     * 위에서, 기본키는 인덱싱이 자동으로 걸림


3. [데이터베이스]  좋은 `기본 키 (primary key)`의 조건

  ㅇ 유일한 값을 갖는 칼럼이어야 함
  ㅇ 널 값을 가지면 안됨
  ㅇ 값 갱신/수정이 필요없는 안정적인 값이어야 함
  ㅇ 의미를 갖지 않고, 가능한 한 단순한 형태이어야 함
     - 즉, 정수형이 좋으며, 다중 칼럼 보다는 단일 칼럼이 좋음

  ※ 통상, RDBMS 자체 기능으로, 자동 생성되는 숫자 값으로 하는 것이 바람직함
     - 例) DB2,SQL Server,Oracle 등에서는 IDENTIFY, 
           MS 엑세스에서는 AutoNumber,
           MySQL에서는 AUTO_INCREMENT,
           PostgreSQL에서는 serial 칼럼 등


[RDB 용어] 1. RDB 주요 용어 2. 관계 (relation) 3. 키 (key) 4. 널 값 (null) 5. 튜플 (tuple)
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
    4.   데이터베이스
          1. DB
      1.   데이터베이스 기초
      2.   관계형데이터베이스
            1. RDB
            2. RDBMS
            3. 관계 대수
            4. 실행 계획
        1.   RDB 용어
          1.   1. RDB 주요 용어
              2. 관계 (relation)
              3. 키 (key)
              4. 널 값 (null)
              5. 튜플 (tuple)
        2.   SQL
        3.   MySQL
      3.   DB 모델링/설계
      4.   회복,병행제어
      5.   데이터웨어하우스
      6.   데이터베이스(기타일반)
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공학일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        요약목록     참고문헌