설득이 2023. 12. 27. 19:30

오늘은 SQLD 1과목인 데이터 모델링에 관한 강의를 들었다.

강의를 들으면서 궁금했던 질문을 해결해보려고 한다.

 

Q1. 데이터 모델링 요소

 

강의를 듣는데 분명 앞에서 데이터 모델링의 주요 3요소를 배웠다. 그런데 다음 장으로 넘어가니까 4요소라고 했다. 그래서 데이터 모델링 요소는 3요소일까 4요소인지 궁금해졌다.

 

데이터 모델링의 주된 요소로는 엔터티, 속성, 관계, (식별자)이다. 3요소와 4요소의 차이는 식별자의 유무인것 같다. 단순 유무 차이로 3요소, 4요소로 부르는거 같다!

 

공통으로 있는 엔터티, 속성, 관계에 대해 간단히 요약해보려고 한다.

엔터티 : 의미 있는 하나의 정보 단위를 말한다.
속성 : 인스턴스가 가진 어떠한 성질, 업무에서 필요로 하는 인스턴스로 관리하고자 하는 것, 더 이상 분리되지 않는 최소의 데이터 단위를 말한다.
관계 :  상호 연관성이 있는 상태를 말한다.

 

Q2. 행위 엔터티?

행위 엔터티?
두 개 이상의 부모엔터티로 부터 주로 발생되고, 자주 엔터티의 내용이 바뀌거나 데이터양이 증감한다.

 

여기에서 부모엔터티가 기본키+기본키를 말하는건지 궁금했다.

 

그럼 먼저 기본키 엔터티가 무엇인지부터 알아보자

기본키 엔터티?
관계가 아닌 독립적인 생성이 가능하고 다른 엔터티의 부모 엔터티 역할을 한다.

 

이렇게 개념들을 정리해보았는데도 모르겠어서 튜터님께 질문하였다. 튜터님께 질문을 드린 후, 튜터님의 예시를 통해 보다 더 잘 이해할 수 있었다.

 

두 개 이상의 부모 엔터티로부터 주로 발생된다. 이 말은 즉,  행위 엔터티가 두 개 이상의 다른 엔터티와 관계를 맺고 있다는 것이었다.

그러니까,  행위 엔터티가 고유한 기본키를 외래키로 포함하고 있어 두 기본키 엔터티와 관계를 가지고 있는 것이다.

 

튜터님의 대답을 듣고 ' 여기에서 부모엔터티가 기본키+기본키를 말하는건가'라는 나의 궁금증이 맞으면서 해결할 수 있었다.

 

Q3. 페어링?

데이터 모델링 강의를 들으면서 가장 이해하기 어려웠던 부분이 페어링이다. 페어링은 관계에서 나오는 개념이다

관계란?
엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태

 

관계의 페어링이란?
엔터티 안에 인스턴스가 개별적으로 연결되어 있는 구조를 말한다. 

이 그림에서 오른쪽에 있는 Z모양을 페어링이라고 한다.