- ER모델 (Entity-Relationship Model)
ER모델은 피터 첸이 제안한 개념적 데이터 모델로써 현실 세계를 개체와 개체 간의 관계를 이용하여 개념적 구조로 표현하여 ERD(Entity-Relationship Diagram)으로 작성할 수 있습니다.
- 개체, 속성, 관계
개체는 현실 세계에서 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것을 가르키며 데이터로써 DB에 저장할 가치가 있는 중요한 사람, 사물, 개념, 사건 등을 뜻 하며 최소 하나 이상의 개체를 가지고 있어야 합니다. (ex. 학원에 필요한 개체 : 학생, 수업 등)
속성은 개체나 관계가 가지고 있는 고유의 특성으로 DB에 저장할 데이터의 가장 작은 논리적 단위 입니다. (ex. 학생 개체의 속성 : 학생의 이름, 학생의 성별, 학생의 핸드폰 번호 등)
![](https://blog.kakaocdn.net/dn/bXCybA/btqBHyz5UZu/GjBrbucYxVCDw9hEWSDl51/img.png)
속성 유형 | 설명 |
단일 값 속성 | 값을 하나만 가질 수 있는 속성 (ex. 학생의 학번 등) |
다중 값 속성 | 값을 여러 개 가질 수 있는 속성 (ex. 학생의 취미 등) |
단순 속성 | 의미를 더는 분해할 수 없는 속성 (ex. 학생의 성별 등) |
복합 속성 | 의미를 분해할 수 있는 속성 (ex. 생년월일을 년, 월, 일로 분해 가능) |
유도 속성 | 기존의 다른 속성의 값에서 유도되어 결정되는 속성 (ex. 주민등록번호 앞자리를 통해 생일을 얻을 수 있음) |
널 속성 | 아직 결정되지 않았거나 존재하지 않는 값을 가진 속성 (공백, 0과는 다름) |
키 속성 | 각 개체를 식별하는 데 사용되는 속성 (둘 이상의 속성들로 구성) |
관계는 서로 다른 개체가 맺고 있는 의미 있는 연관성을 뜻합니다. 즉, 개체 사이의 대응 관계(매핑)를 뜻합니다.
![](https://blog.kakaocdn.net/dn/rRGMx/btqBEATSl63/8ku9vZEvRQSUuRr3keooIk/img.png)
- ERD(Entity-Relationship Diagram) 구성 요소
ER다이어그램은 아래와 같이 그림으로 표현되는 구성 요소들이 있습니다.
![](https://blog.kakaocdn.net/dn/ZKkvf/btqBE0ksEuH/RLGfrUERzfVzMnALkW7czk/img.png)
각각의 참여나 관계 등에 따라 각 테이블을 이어주는 선이 변경 됩니다. 1:1 관계(남자-여자), 1:n 관계(학교-학생), n:m 관계(학생-수업) 등이 있으며 참여 부분은 아래와 같습니다.
선택적 참여(부분 참여) : 개체 중 일부만 관계에 참여해도 되는 것을 의미 (ex. 도서 개체가 고객 개체와의 구매 관계에 선택적으로 참여)
필수적 참여(전체 참여) : 개체가 관계에 반드시 참여 해야 하는것을 의미 (ex. 학생 개체가 수업 개체와의 수강 관계에 필수적으로 참여)
![](https://blog.kakaocdn.net/dn/o1JE0/btqBGZLqmlv/XTKruQA2Zft8tYz6dKKsKK/img.png)
출처: https://nirsa.tistory.com/99 [Nirsa:티스토리]
'Cumputer Science > 데이터 베이스📈' 카테고리의 다른 글
데이터 처리 프로세스(저장, 처리) + 하둡(hdfs,mapreduce) (0) | 2022.12.30 |
---|---|
비정형 데이터 + 데이터레이크(data lake) 정리 (1) | 2022.12.27 |
day02_DBMS + DBS + VIEW에 대해..🥪 (1) | 2022.09.15 |
day01_DB(데이터베이스)란 + DBMS?🧐 (2) | 2022.09.14 |
MySQL : 초 간단 설치 방법🤗 (0) | 2022.02.20 |