Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

RUBY

[220530] SQLD _ 05. 식별자(Identifiers) 본문

자격증/SQL 개발자

[220530] SQLD _ 05. 식별자(Identifiers)

ruby-jieun 2022. 5. 30. 17:29

식별자

 - 어떤 대상을 유일하게 식별 및 구별할 수 있는 이름

 - 각각의 인스턴스를 구분 가능하게 만들어주는 대표 격인 속성

 

주식별자

 - 기본키, PK(Primary Key)에 해당하는 속성

 - 하나의 속성이 주식별자가 될 수도 있고 여러 개의 속성이 주식별자가 될 수도 있다.

 1) 유일성

    -  각 인스턴스에 유니크함을 부여하여 식별이 가능하도록 한다.

 2) 최소성

    -  유일성을 보장하는 최소 개수의 속성이어야 한다.

 3) 불변성

    -  속성값이 되도록 변하지 않아야 한다.

 4) 존재성

    - 속성값이 NULL일 수 없다.

 

분류

 1) 대표성 여부

    (1) 주식별자 (Primary Identifier)

        - 유일성, 최소성, 불변성, 존재성을 가진 대표 식별자

        - 다른 엔터티와 참조 관계로 연결

    (2) 보조식별자(Alternate Idenrifier)

        - 인스턴스를 식별할 수는 있지만 대표 식별자가 아님

        - 다른 엔터티와 참조 관계로 연결되지 않음

 2) 스스로 생성되었는지 여부

    (1) 내부식별자(Internal Identifier)

        - 엔터티 내부에서 스스로 생성된 식별자

    (2) 외부식별자(Foreign Identifier)

        - 다른 엔터티에서 온 식별자, 다른 엔터티와의 연결고리 역할

 3) 단일 속성의 여부

    (1) 단일식별자(Single Identifier)

        - 하나의 속성으로 구성된 식별자

    (2) 복합식별자(Composite Identifier)

        - 두 개 이상의 속성으로 구성된 식별자

 4) 대체 여부

    (1) 원조식별자(Original Identifier)

        - 업무 프로세스에 존재하는 식별자, 가공되지 않은 원래의 식별자(본질식별자)

    (2) 대리식별자(Surrogate Identifier)

        - 주식별자의 속성이 두 개 이상인 경우 그 속성들을 하나로 묶어서 사용하는 식별자(인조식별자)

 

식별자관계 cvs 비식별자관계

 1) 식별자관계(Identification Relationship)

        - 부모 엔터티의 식별자가 자식 엔터티의 주식별자가 되는 관계

        - 주식별자는 반드시 존재해야 하므로(존재성) 부모 엔터티가 있어야 생성 가능

        - 단일식별자인지 복합식별자인지에 따라 1:1이거나 1:M이거나가 결정됨

 2) 스스로 생성되었는지 여부

        - 부모 엔터티의 식별자가 자식 엔터티의 주식별자가 아닌 일반 속성이 되는 관계

        - 일반 속성의 속성값은 NULL이 될 수 있으므로 부모 엔터티가 없는 자식 엔터티 생성이 가능

        - 동일한 이유로 자식 엔터티가 존재하는 상태에서 부모 엔터티가 삭제될 수도 있음

Comments