Information Security Study

240214 데이터베이스(관계의 정의/분류/표기법, 식별자/특징/분류) 본문

네트워크 캠퍼스/Database

240214 데이터베이스(관계의 정의/분류/표기법, 식별자/특징/분류)

gayeon_ 2024. 2. 14. 16:03

관계

관계의 정의

  • 엔터티들이 서로 상호 연관성을 가지고 있는 상태
  • 강사와 수강생은 서로 논리적으로 연관성이 부여된 상태이며 해당 관계는 ‘강의한다’라는 관계로 명명할 수 있다.
  • 또한 강사 인스턴스 하나가 여러 수강생 인스턴스들과 관계를 가지고 있기 때문에 이러한 관계를 일대다 관계라고 부른다.

 

관계의 분류

존재에 의한 관계

  • ‘소속된다’라는 의미는 어떠한 행위에 의해 발생되는 의미가 아닌 단지 사원이 부서에 소속되어 있기 때문에 나타나는 관계이다.

 

행위에 의한 관계

  • 고객과 주문의 관계는 고객이 주문이라는 행위에 의해 발생되는 관계이기 때문에 행위에 의한 관계라고 볼 수 있다.

 

 

관계의 표기법

  • 관계명(Membership): 관계의 이름
  • 관계차수(Cardinality): 일대일(1:1) , 일대다(1:M), 다대다(M:N)
  • 관계선택사양(Optionality): 필수관계, 선택관계

 

관계명

  • 엔터티가 관계에 참여하는 형태를 지칭
  • 각각의 관계는 두 개의 관계명을 가짐

 

관계차수

1:1

1:M

M:M

 

 

관계선택사양

  • 고객은 여러번 주문할 수도 있고 한번도 주문하지 않을 수도 있다. (선택관계)
  • 그러나 주문은 반드시 고객이 있어야 가능하다. (필수관계)

 

 

식별자

식별자

  • 엔터티 내에서 각각의 인스턴스들을 구분할 수 있는 속성
  • 예를 들어 웹사이트에서 특정 회원을 구분하기 위해 계정명이나 이메일을 사용하는 것으로 이해할 수 있다.

 

 

식별자의 특징

특징 내용 비고
유일성 엔터티 내의 모든 인스턴스들을 유일하게 구분할 수 있어야 함 웹사이트 회원은 개인마다 이메일주소가 달라야한다.
중복된 이메일을 사용해서는 안된다.
최소성 식별자의 개수는 유일성을 만족하는 최소의 수를 가져야 함 이메일만으로 각 개별 회원을 구분해낼 수 있다면 굳이 계정명을 새로 받아 식별자로 구성할 필요는 없다.
불변성 식별자의 값은 정해지면 변하면 안됨 한번 가입한 메일은 회원정보 수정을 통해 바꿔서는 안된다.
존재성 식별자의 값은 null이 될 수 없음 이메일정보가 없는 회원은 존재하면 안된다.

 

 

식별자 분류

1) 대표성 여부

  • 주식별자: 엔터티 내에서 각 인스턴스들을 구분할 수 있는 구분자이며, 타 엔터티와 관계를 연결할 수 있는 식별자 (ex: 주문번호, 사원번호)
  • 보조식별자: 엔터티 내에서 각 인스턴스들을 구분할 수 있는 구분자이나 대표성을 가지지 못해 관계연결을 못하는 식별자 (ex: 전화번호: 전화번호는 각 개인마다 유일하긴 하나 자주 바뀔 수 있어서 불변성을 만족하지 못함)

 

2) 스스로 생성 여부

  • 내부식별자: 엔터티 내부에서 스스로 생성되는 식별자 (ex: 게시판글번호)
  • 외부식별자: 타 엔터티와의 관계를 통해 들어오는 식별자 (ex: 댓글 엔터티의 원본게시물번호)

 

3) 속성의 수

  • 단일식별자: 하나의 속성만으로 구성된 식별자 (ex: 사원엔터티의 사원번호)
  • 복합식별자: 둘 이상의 속성의 조합으로 구성된 식별자 (ex: 주문엔터티의 고객번호와 주문번호)

 

4) 대체가능 여부

  • 본질식별자: 업무에 의해 만들어지는 가공되지 않는 원래의 식별자
  • (ex: 사원엔터티의 사원번호)
  • 인조식별자: 주 식별자의 속성이 두 개 이상인 경우 속성들을 하나의 속성으로 묶어 사용하는 식별자식별자관계와 비식별자관계
  • (ex: 제품엔터티의 씨리얼번호 - SM230301 <제품식별코드+제조일자>)