[DataBase] ERD 지금 짚고 넘어가자.
IT/공부자료

[DataBase] ERD 지금 짚고 넘어가자.

ERD란 ?

데이터베이스에 저장되어 있는 Entity(실재하는 것들)의 관계를 보여주는 엔터티 관계 지표이다. 

(Entity 실재=존재하는 것/ Relationship 관계 / Diagram 도표)

 

그럼 Entity란?

테이블을 구성하는 객체 구성성분? 이라고 생각하면 된다. 

예를 들어,  학교란 Data에  학생과 선생님의 Entity가 있다고 하자, 
학생(Entity)은 이름,나이,생일 등의 속성(attributes) 값으로 구성된 Entity이다. 

 

구성 관계

ERD > Entity > Entity attribute   

이 엔터디들의 논리적인 관계를 시각적으로 잘 알아보기 위해 기호를 사용하여 표기.


 

그럼 어떻게 관계를 표현하는지 알아보자.

먼저, ERD 관계 기호 (까마귀 발처럼 보이는 새발 모양에 집중) 

1.One 

일대다 or 일대일 관계

2.Many

다대다 관계 

3.One(and only one)

일대일 , 단 하나의 row끼리만 연결된 데이터

4.Zero or one

일대다 or 일대일,but 관계가 필수조건이 아님. ?

5. One or many

일대일 or 다대다, 관계는 갖고 있으나 한 개 아님 여러개로 불확실할 때 

6. Zero or many

일대다 or 일대일 or 다대다 ?? 아예 없을수도 있고, 불확실할 때  

 

그럼 이 선들이 연결된 엔터티들은?? 

부모와 자식의 관계로 생각하자. 

새발 있는 쪽이 자식이다. 

점선과 실선이 있는데?

부모한테 PK를 받을지 안받을지에 따라 점선or실선으로 구분된다. 

 

PK?

primary key로 기본적으로 반드시 있어야하는 중요한 키.  (다른 항목과 중복되지 않는 단일 값)

위 그림에서 store_id 

일반 속성  

 

점선  = 비식별자 관계 = 부모의 키가 자식의 PK말고 일반속성으로 포함

실선  =  식별자 관계 =  부모의 키가 자식의 PK로 포함 

 

이 처럼 ERD로 테이블의 관계를 표현한다.