본문 바로가기
Certificate/SQLD

[SQLD]1과목 - 1장 3절. 식별자

by Istj_eff 2022. 10. 13.

식별자

 : 하나의 엔터티에 구성되어있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 유일성을 만족하는 속성

 

1. 특징  ★★★ (유 최 불 존)

  • 유일성
  • 최소성
  • 불변성
  • 존재성

 

2. 종류

  • 대표성 여부에 따른 분류
    • 주식별자 : 대표성을 만족하는 식별자, 해당업무에서 자주 이용되는 속성
    • 보조 식별자 : 유일성 최소성만 만족하는 식별자, 참조 관계 연결에 사용할 수 없음
  • DB 키의 종류
    • 기본키(PK; Primary Key) : 엔터티를 대표하는 키, 후보키 중 선정됨, UNIQUE, NULL값 불가능
    • 후보키 : 유일성과 최소성을 만족하는 키
    • 슈퍼키 : 유일성만 만족하는 키
    • 대체키 : 기본키를 제외한 나머지 후보키
    • 외래키(FK; Foreign Key) : 여러 테이블의 기본 키 필드
      참조 무결성(Referential Integrity)을 확인하기 위해 사용됨 (허용된 데이터 값만 저장하기 위함)
  • 생성 여부에 따른 분류
    • 내부 식별자: 자연스럽게 존재하는 식별자 (~ 본질식별자)
    • 외부 식별자: 다른 엔터티와의 관계를 통해 생성되는 식별자
  • 속성 수에 따른 분류
    • 단일 식별자 : 하나의 속성
    • 복합 식별자 : 여러 속성
  • 대체 여부에 따른 분류
    • 본질 식별자 : 대체될 수 없는 식별자  ex)사번
    • 인조 식별자 : 인위적으로 만들어지는 대체가능한 식별자 (순서번호를 사용하여 생성된 식별자)
      1) 후보 식별자 중 주식별자로 선정할 것이 없음
      2) 주식별자가 너무 많은 칼럼으로 구성되어 있을 때 사용

 

3. 주식별자 도출 기준

  1. 업무에서 자주 이용되는 속성
  2. 명칭(이름), 내역같이 이름으로 기술되는 것은 피함(동명이인 문제)
    → 구분자가 존재하지 않을 경우 새로운 식별자 생성(일련번호, 주민번호, 코드)
  3. 복합 식별자 구성할 경우 너무 많은 속성 포함되지 않도록함 → 주식별자 개수 많으면 새로운 인조식별자 생성

 

EX)

4번 틀렸음.
사번은 업무적으로 의미있는 식별자로 일반적으로 사원 인스턴스의 생성과 함께 업무적으로 부여되는 사원 인스턴스의 본직적인 속성에 해당한다 할 수 있으므로 본질 식별자에 속함.

댓글