본문 바로가기

카테고리 없음

005 ER모델

ER모델은 가장 대표적인 데이터 모델이다.

ER(Entity Relationship)이란, 말 그대로 개체간의 관계이다.

그러니까 ER 모델은 개체간의 관계를 모델화한, 데이터 모델이라는 하나의 종류로 파악하면 되겠다.

하지만 여기서, 개체란 확실하게 무엇일까?



구글 형은 이렇게 정의했다.

"철학 또는 전산학에서의 개체는 인간의 개념 또는 정보의 세계에서 의미있는 하나의 정보 단위이다. 
물의 본질적인 성질을 속성이라고 하며, 관련있는 속성들이 모여서 의미있는 하나의 정보 단위를 이룬 것이 바로 개체에 해당한다."


그런데 이중에선 한가지 눈에 띄는 정의가 있다.

"관련있는 속성들이 모여서 의미있는 하나의 정보단위를 이룬 것"

그 단위가 바로 개체인 것이다.

'개체'는 현실세계의 '객체'이기도 하다.


*하나의 개체를 개체 어커런스(Entity Occurrence), 개체 인스턴스(Entity Instance)라고 한다.




그러면 이제 관계(Relationship)란 것에 대해 알아보자.



"관계(Relationship)"



관계란 2개 이상의 개체 사이에 존재하는 연관성이다.

여기서 2개 이상의 개체라고 한 것은

관계란 것이 1:1, 1:N, N:M으로 나뉠 수 있기 때문이다.




이는 위의 이미지에서 보여졌듯이, 간단한 개념이다.

- 단항 관계 : 관계에 참여하고 있는 개체가 1개
- 이항 관계 : 관계에 참여하고 있는 개체가 2개
- 삼항 관계 : 관계에 참여하고 있는 개체가 3개
- n항 관계 : 관계에 참여하고 있는 개체가 n개



정말 우리집 강아지도 단번에 전구를
머리 위로 띄우며 알아들을 수 있을 정도로 쉽다.





하지만 관계 대응에 대한 개념은 조금 복잡한데, 예시가 있어야만 한다.




- 1:1관계 : 관계에 참여하고 있는  두 개체 타입이 모두 하나씩의 개체(개체 어커런스)를 갖는다.

개체 어커런스란 위에서 말했듯이 단일개체를 뜻한다.
테이블에 들어있는 레코드와 비슷한 개념이다.

예를 들면, 교수와 과목 사이에는 강의라는 관계가 성립한다.
한명의 교수는 한 과목만 강의할 수 있고,
한 과목은 한명의 교수에 의해서만 강의가 이루어질 수 있다.


- 1:N관계 : 관계에 참여하고 있는  두 개체 타입중 하나는 여러개의 개체를, 다른 하나는 하나의 개체만을 가진다.

교수나 선생님과 학생의 관계가 대표적인 1:N관계에 속한다고 할 수 있다.
교수나 선생님은 지도나 관리라는 관계에서 학생과 성립하는데,

한 반에 지도받는 학생은 많지만
그들을 지도하는 교수, 선생님은 단 한명 뿐이기 때문이다.


- N:M관계 : 관계에 참여하는 두 개체타입이 모두 여러 개체를 가질 수 있다.


학생과 과목간에도 강의라는 N:M관계가 성립한다.
각각의 학생들은 많은 과목들중 알맞는 과목을 고를 수 있다.







"속성(Attribute)"


속성(Attribute)란 관계나 개체의 특성을 기술한다.

속성의 집합은 도메인(Domain)이라고 한다.






ER모델은 밑의 이미지처럼 ER도형이라는 지표로 쉽게 이해할 수 있다.


개체속성관계등에 대한 것을 알기쉽게 정의해주는 ER 도형이다.