상세 컨텐츠

본문 제목

[개미의 걸음 SQLD 1과목] 식별자(Identifier) & 키(KEY)

자격증/SQLD

by IT개미 데이터 2020. 12. 8. 07:07

본문

728x90

식별자[Identifier]

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

  • 엔터티 내에서 인스턴스들을 구분할 수 있는 구분자

 

 

식별자의 분류

출처 : DBGUIDE.NET

대표성 여부에 따른 식별자 종류 주식별자 : 유일성과 최소성을 만족하면서 엔터티를 대표하는 식별자
               다른 엔터티와 참조 관계로 연결될 수 있음
보조 식별자 : 유일성과 최소성은 만족하지만 대표성은 만족하지 못하는 식별자
               다른 엔터티와 참조 관계를 가지지 못함
생성 여부에 따른 식별자 종류 내부 식별자 : 엔티티 내부에서 스스로 생성되는 식별자
외부 식별자 : 다른 엔터티와의 관계로 인해 만들어지는 식별자
속성의 수에 따른 식별자 종류 단일 식별자 : 하나의 속성으로 구성
복합 식별자 : 두 개 이상의 속성으로 구성
대체 여부에 따른 식별자 종류 본질 식별자 : 비즈니스 프로세스에서 만들어지는 식별자
인조 식별자 : 최대한 범용적인 값을 사용해 인위적으로 만들어지는 식별자[유일한 값을 만듦]
                  인조 식별자는 하나의 인조 속성을 다른 것으로 대체할 수 없음
             * 인조식별자는 후보 식별자 중에서 주식별자로 선정할 것이 없거나 주식별자가 너무 많은 칼럼으로 되어있는 경우에 사용
                  → 순서번호를 사용해 만든 식별자

# 시험에 자주 출제되는 유형

더보기
출처 : DB.GUIDE.NET

 시험에는 단순히 식별자를 구분하는 문제보다는 위의 그림처럼 그림이 주어지고 해당 식별자가 어느 식별자인지 묻는 유형이 자주 출제되므로 위의 그림으로 개념을 익혀두시면 많은 도움이 되실겁니다.

 

주식별자[기본키]의 특징

최소성[Minimality] 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수를 가짐
대표성 주식별자는 엔터티를 대표할 수 있어야 함
불변성 특정 엔터티에 지정된 주식별자의 값은 변하지 않아야 함 
유일성[Unique] 주식별자는 엔터티의 모든 인스턴스를 유일하게 식별

 

728x90

키[KEY]

키의 종류 설    명
기본키
[Primary Key]
후보키 중에서 엔터티를 대표할 수 있는 주키[Primary Key]
하나의 테이블에서 유일성 최소성, Not Null을 만족하면서 해당 테이블을 대표하는 것

   * 한 릴레이션에서 특정 레코드를 유일하게 구별할 수 있는 속성
   * 기본키로 정의된 필드(속성)에는 동일한 값이 중복되어 저장될 수 없음
   * Null값을 가질 수 없음
외래키, 외부키
[Foreign Key]
관계를 맺고 있는 테이블 R1, R2에서 테이블 R1이 참조하고 있는 테이블 R2의 기본키와 같은 R1 테이블의 속성을 외래키라고 함
   * 
참조 무결성[Referential Integrity]을 확인하기 위해 사용되는 키
   * 허용된 데이터 값만 데이터베이스에 저장하기 위해 사용
   * 하나의 테이블에는 여러 개의 외래키가 존재할 수 있음
   * 외래키로 지정된 필드에는 Null값이나 중복된 값을 입력 가능
고유키
[Unique Key]
테이블에 저장된 행 데이터를 고유하게 식별하기 위해 사용
    * 단, NULL은 고유키 제약 대상이 아님[여러개의 NULL값을 가질 수 있음]
후보키
[Candidate Key]
테이블을 구성하는 속성들 중에서 레코드(튜플)을 유일하게 식별하기 위해 사용하는 속성들의 부분집합
기본키로 사용할 수 있는 속성
유일성과 최소성을 만족하는 키
대체키
[Alternate Key]
후보키 중 기본키를 제외한 나머지 속성을 말함
슈퍼키
[Super Key]
한 테이블 내에 있는 속성들의 집합으로 구성된 키
테이블을 구성하는 모든 튜플들 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않음
테이블을 구성하는 모든 튜플에 대한 유일성은 만족시키지만 최소성은 만족시키지 못함

# 기본키의 특징

더보기
최소성[Minimality] 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수를 가짐
대표성 주식별자는 엔터티를 대표할 수 있어야 함
불변성 특정 엔터티에 지정된 주식별자의 값은 변하지 않아야 함 
유일성[Unique] 주식별자는 엔터티의 모든 인스턴스를 유일하게 식별

# 테이블 생성할 때 기본키 설정

더보기

방법1

CREATE TABLE 테이블명(
                     칼럼명1, 데이터 타입, DEFAULT 형식
                     , 칼럼명2, 데이터 타입, DEFAULT 형식
                     .......
                     ,CONSTRAINT 기본키칼럼명_PK PRIMARY KEY (기본키칼럼명));

방법2

CREATE TABLE 테이블명(
                     칼럼명1 데이터타입 PRIMARY KEY
                     , 칼럼명2 데이터타입 DEFAULT형식
                     .......);

방법3

CREATE TABLE 테이블명(
                     칼럼명1, 데이터 타입, DEFAULT 형식
                     , 칼럼명2, 데이터 타입, DEFAULT 형식
                     .......);
ALTER TABLE 테이블명 ADD CONSTRAINT 키본키칼럼/테이블명_PK PRIMARY KEY (기본키칼럼명)

# 제약 조건[데이터 무결성]

더보기

데이터 무결성을 보장하기 위해서는 애플리케이션, Trigger, 제약조건을 사용

개체 무결성 기본키는 NULL값을 가질 수 없음
참조 무결성 외래키 값은 참조 테이블의 기본키 값과 동일해야 함

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

관련글 더보기

댓글 영역