-
[Database] ERD란 무엇일까?웹 프로그래밍/BackEnd 2021. 9. 27. 23:39728x90반응형
예전에 학교에서 ERD를 배워본적이 있지만 잘 기억이 나지 않아요ㅜㅜ
그래서 이번에 다시 한번 공부하고 정리를 해보려고 합니다!!그렇다면 ERD란 무엇일까?
ERD는 개체 속성과 개체 간의 관계를 그림 혹은 도표로 표현한 것이다!!
간단하게 관계를 그림,표로 시각화 했다고 보면 될 거 같다!!
데이터의 흐름과 연관성을 이해하는데 매우 중요한 역할을 한다.
ERD는 왜 하는거지?
ERD는 데이터 모델링에서 개념적인 설계를 할떄 개념 스키마를 만들기 위해 사용된다!!
쉽게 말한면 데이터 모델링을 하는이유가 요구 사항으로부터 SQL문을 얻기 위함인데(꼭 SQL이 목적은 아님) 과정은 다음과 같다.
요구사항 분석 -> 요구사항 분석서 -> 개념적 설계 -> ERD -> 논리적 설계 -> 관계형 모델 -> 물리적 설계 -> SQL
이런식으로 어떤 단계의 아웃풋이 다음 단계의 인풋이 되는 구조이다.
ERD는 이중에서 개념적 설계를 하기 위함이다!!
그러면 ERD는 어떻게 그리는데?
일단 구성 요소는 다음과 같다.
Entity
- 실제 현실에서 독립적으로 존재하는 것을 의미한다.
- 서로 관계를 맺는다.
Attribute
- entity를 설명하는 특성
- 키 속성 : entity마다 고유한 값을 가지는 속성을 말한다, 하나이상 존재가 가능하다.
Relationship
- Entity들을 연결하는 정보이다.
- relationship도 attribute를 가질 수 있다.
- 1:1, 1:M, M:N의 관계로 나누어 진다.
- 반드시 필요한 것은 두줄, null이 되어도 되는 것은 한줄로 표현한다.
1:1(점선) - 1:1 비식별 관계
1:N(점선) - 1:N 비식별 관계
1:1(실선) - 1:1 식별 관계
1:N(실선) - 1:N 식별 관계
N:M(실선) - N:M 식별 관계 (N:M은 비식별 관계가 있을 수 없다.)
식별, 비식별이 뭔데?
비식별
- 기본키에 외래키가 포함되어 있지 않으면 비식별 관계이다!!
식별
- 기본키에 외래키가 포함되어 있으면 식별 관계이다.
- 키가 없는 Entity를 weak Entity라고 하는데 weak Entity와 부모 Entity 간의 관계를 식별 관계라고 한다.
예를 들어 최종적으로 위와 같이 ERD가 그려지게 된다
끝!
728x90반응형SMALL'웹 프로그래밍 > BackEnd' 카테고리의 다른 글
[Backend] ORM과 Sequelize (0) 2021.09.29 로그인 - 쿠키와 세션 (0) 2021.09.29 [nginx] nCloud서버에 nginx적용하기 (2) 2021.09.17 [express, nodejs] res.send() VS res.json() 그리고 res.end() (0) 2021.09.16 REST API(그런 REST API로 괜찮은가?) (0) 2021.09.13