# ERD
# 데이터 모델링
정의
정보시스템의 구축의 대상이 되는 업무 내용을 분석하여 이해하고 약속된 표기법에 의해 표현하는 것을 의미합니다.
- 개념적 데이터 모델링
- 일의 데이터 간의 관계를 구상하는 단계입니다.
- 엔터티-관계 다이어그램(ERD)를 생성하는 것입니다.
- 방법
- 예시
- 논리적 데이터 모델링
- 구체화된 업무중심의 데이터 모델을 만들어 내는 단계입니다.
- Key, 속성, 관계등을 표시하며, 정규화 활동을 수행합니다.
- 개념적 ERD에 속성과 Key, 데이터타입 등을 포함하여 테이블형식으로 만드는 것입니다.
- 예시
- 물리적 데이터 모델링
- 데이터를 관리할 데이터 베이스를 선택하고, 실제 테이블을 만드는 작업을 말합니다.
- 시각적인 구조를 실제로 SQL 코딩을 통해 완성하는 단계입니다.
- 예시
# ERD(Entity Relationship Diagram)란 무엇인가?
- 릴레이션 간의 관계들을 정의한 것입니다.
- 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할을 합니다.
- 시스템의 요구 사항을 기반으로 작성되며 이 ERD를 기반으로 데이터베이스를 구축합니다.
- 데이터베이스를 구축한 이후에도 디버깅 또는 비즈니스 프로세스 재설계가 필요한 경우에도 설계도 역할을 담당하기에 중요합니다.
- 관계형 구조로 표현할 수 있는 데이터를 구성하는데 유용합니다.
- 비정형 데이터를 충분히 표현할 수 없다는 단점이 있습니다.
비정형 데이터
비구조화 데이터를 말하며, 미리 정의된 데이터 모델이 없거나 미리 정의된 방식으로 정리되지 않은 정보를 말한다.
# (논리적) ERD 작성법
엔터티
- 각각의 엔터디에 필드를 추가하면 됩니다.
- 보통 필드명과 타입을 필수로 기재합니다.
키와 제약조건
- PK(Primary key)
- 주로 열쇠 아이콘으로 나타납니다.
- PK라고 작성하여 표시하기도 합니다.
- NOT NULL
- Null을 비허용하면 Not Null이라고 적거나, N을 적습니다.
- Null을 허용한다면 아무것도 적지 않습니다.
- FK(Foreign key)
- PK와 다른색의 열쇠 아이콘으로 나타납니다.
- FK라고 작성하여 표시하기도 합니다.
- PK(Primary key)
선긋기
- 점선과 실선
- 점선 : 비식별 관계로, 부모 자식 관계에서 자식이 부모의 키를 일반 속성을 참조할 때 사용합니다.
- 실선 : 식별 관계로, 부모 자식 관계에서 부모의 키를 외래키로 참조해서 자신의 키로 설정할 때 사용합니다.
- 선의 끝 모양
1:1 관계 : 부모(SHOP)은 하나의 자식(FOOD)이 있다.
1:N 관계 : 부모(SHOP)은 하나 이상의 자식(FOOD)이 있다.
N:N 관계 : 하나 이상의 부모(SHOP)은 하나 이상의 자식(FOOD)이 있다.
1:1(0) 관계 : 부모(SHOP)은 하나의 자식(FOOD)이 있을수도 있고 없을 수도 있다.
1:N(0) 관계 : 부모(SHOP)은 여러개의 자식(FOOD)이 있을수도 있고 없을 수 도 있다.
- 점선과 실선
# ERD 작성 사이트
-
- 개인 ERD뿐만 아니라 팀과 같이 ERD를 작성할 수도 있어서 편리합니다.
- 다른 사람들이 작성한 ERD를 찾아볼 수 있습니다.
-
- ERD뿐만 아니라 다양한 다이어그램을 작성할 수 있는 사이트입니다.
- 공유가 가능하여 다른 사람들과 같이 작성할 수 있습니다.
# 참고자료
- 주홍철.면접을 위한 CS 전공지식 노트.서울:길벗,2022.
- Dev Scroll (opens new window)
← 데이터베이스의 구성 정규화 →