[SQLD / 자격증 공부] 요약 정리 3. 관계(Relationship), 식별자(Identifiers)
my code archive
article thumbnail
반응형

관계

  • 엔티티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태, 행위로서 서로에게 연관성이 부여된 상태
  • 엔티티 안에 인스턴스개 개별적으로 갖는 것(페어링)이고 이것의 집합을 관계로 표현함. -> 개별 인스턴스가 각각 다른 종류의 관계를 갖고 있다면 두 엔티티 사이에 두 개 이상의 관계가 형성될 수 있음.

관계의 분류

  • 존재에 의한 관계 
  • 행위에 의한 관계
  • ERD에서는 존재적 관계와 행위에 의한 관계를 구분하지 않고 표현했다면 클래스 다이어그램에서는 이것을 구분하여 연관 관계와 의존 관계로 표현하고 있는 것.

관계의 표기법

  • 관계명 - 엔티티가 관계에 참여하는 형태를 지칭

관계가 시작되는 편을 관계시작점이라고 부르고 받는 편을 관계끝점이라고 부름. 둘다 관계명을 가져야하고 애매한 동사 피함, 현재형으로 표현함.

  • 관계차수 - 1:1, 1:M, M:N

관계에 참여하는 각각의 엔티티는 관계를 맺는 다른 엔티티의 엔티티에 대해 하나나 그 이상의 수와 관례를 갖고 있다.

  • 관계 선택 사양 - 필수 관계, 선택 관계

만약 선택참여로 지정해야 할 관계를 필수참여로 잘못 지정 시 데이터 발생할 때 반드시 한 개의 트랜잭션으로 제어해야 하는 문제점이 발생하므로 설계 단계에서 반드시 고려되어야 함.

 


식별자

엔티티는 인스턴스들의 집합, 이 구분자를 식별자라고 함. 식별자란 하나의 엔티티에 구성되어 있는 여러 개의 속성 중 엔티티를 대표할 수 있는 속성을 의미함. 하나의 엔티티는 반드시 하나의 유일한 식별자가 존재해야함. 식별자는 논리 데이터 모델링 단계에서 사용하고 키는 데이터베이스 테이블에 접근 위한 매개체로서 물리 데이터 모델링 단계에서 사용함.

 

식별자 특징

  • 주식별자에 의해 엔티티내 모든 인스턴스들이 구분되어야함 (유일성)
  • 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야함. (최소성)
  • 지정된 주식별자의 값은 자주 변하지 않는 것이어야함. (불변성)
  • 주식별자 지정 시 반드시 값이 들어와야함. (존재성)

식별자 분류

식별자는 자신의 엔티티 내에서 대표성을 갖는가에 따라 주식별자(Primary Identifier), 보조 식별자(Alternate Identifier)로 구분하고 스스로 생성되었는지 여부에 따라 내부 식별자와 외부 식별자로 구분. 단일 속성으로 식별되는가에 따라 단일 식별자와 복합 식별자로 구분. 원래 업무적으로 의미가 있던 식별자 속성을 대체하여 일련 번호와 같이 새롭게 만든 식별자를 구분하기 위해 본질 식별자와 인조 식별자로 구분.

주식별자 도출기준

  • 해당 업무에서 자주 이용되는 속성을 주식별자로 지정한다.
  • 명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 지정하지 않는다.
  • 복합으로 주식별자로 구성할 경우 너무 많은 속성이 포함되지 않도록함.
반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형