본문 바로가기
DATABASE

데이터베이스 상속, 식별, 비식별, Mandatory, Optional

by Rudy 2022. 1. 30.

데이터베이스

상속, 식별&비식별

https://dataonair.or.kr/home/데이터-광장/데이터-인사이트/데이터-전문가-칼럼/?mod=document&uid=16

  • 자식은 부모의 이름(식별자)를 갖고 있으므로 부모를 유일하게 식별할 수 있다. 그러므로, 자식은 부모의 모든 속성을 사용할 수 있게 된다. 이것이 엔터티가 식별자를 가져야하는 이유이자 엔터티와 릴레이션쉽(ER)의 기본 원리.
  • 식별관계: 부모 엔터티는 자식의 탄생에 직접적인 역할을 해서 자식은 부모 없이 생성할 수 없다. 그러므로 식별관계는 릴레이션쉽 중 부모-자식 사이의 중요한 관계로써 일반적으로 데이터 모델의 뼈대와 같은 역할을 한다.
    • 그림과 같이 직업(상위) 엔터티의 식별자 ‘직업코드’가 고객(하위) 엔터티의 일반속성으로 생성. 이때, ‘직업’ 엔터티는 ‘고객’ 엔터티 생성에 직접 관여하지 않는다. 즉, 직업이 없어도 고객은 존재할 수 있다.비식별관계: 자식(하위) 엔터티가 부모(상위) 엔터티의 키를 자신의 일반 속성으로 상속받는 것. → 부모에서 # 으로 표현한 속성을 자식이 * 으로 받는 것이라고 이해
    • ‘고객’ 엔터티에서 상속받은 직업코드 식별자가 NULL 이냐, NOT NULL이냐는 다른 이야기. 비식별 릴레이션쉽이 설정됏다고 해서 상속받은 식별자가 꼭 있어야 하는 것은 아니고, 없을 수도 있다. 즉, 직업이 없는 고객이 있을 수도 있기 때문에 그 상황에서 고객 엔터티의 직업코드는 NULL이 될 수도 있다. 그러나, 그림에서는 * 로 표기되어 있어 NOT NULL로 설정되어 있는 상황이다. 이는 현실 세계에서는 고객의 직업이 없을 수도 있지만, 비즈니스적으로나 데이터적으로는 고객의 직업은 반드시 존재해야 한다는 의미로 볼 수 있는 것이다.

Mandatory, Optional

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ldg119&logNo=110129647704

예를 들어 설명하자면.

회원정보와 주소정보는 어떤 상황에서 쓰이느냐에 따라 Mandatory일 수도 있고, 아닐 수도 있다.

  1. 회사가 배송전문업체라면?
  2. 회원의 주소정보가 없으면 배송을 할 수 없다. 그러므로 반드시 주소정보 1개 이상은 있어야 한다. 그러므로 여기서 주소정보는 Mandatory가 되는 것.
  3. 일반 웹사이트에서 단순하게 회원관리를 하는 것이라면?
  4. 주소정보가 필요가 없는 경우도 많다. 그러므로, 주소정보는 여기서 Optional이 되는 것.

'DATABASE' 카테고리의 다른 글

서브타입, 식별, 비식별, 식별자  (0) 2022.01.20
자기 참조 관계, 재귀 관계  (0) 2022.01.18

댓글