본격 프로젝트 개발 전 DB설계를 위해 ERDCloud를 사용했다.
ERDCloud 말고도 draw.io를 사용해서 설계를 할 수 있지만 공동 작업이 더 편한 ERDCloud로 진행했다.
ERDCloud란?
온라인에서 ERD(Entity-Relationship-Diagram)을 쉽게 작성하고 관리할 수 있는 데이터베이스 설계도구
테이블 관계
- 1대1(One-to-One): 한 테이블의 한 레코드가 다른 테이블의 한 레코드와만 연결되는 관계
- 1대N(One-to-Many): 한 테이블의 한 레코드가 다른 테이블의 여러 레코드와 연결되는 관계
- N대M(Many-to-Many): 두 테이블의 여러 레코드가 서로 여러 레코드와 연결되는 관계 (연결 테이블을 통해 구현)
사용 방법
왼쪽 사이드바에 여러가지 도구들을 사용할 수 있다.
테이블 모양을 누르면 테이블을 추가 할 수 있다.
노란색 + 버튼을 누르면 PK를 추가, 파란색 버튼은 일반 컬럼을 추가 할 수 있다.
필드 하나를 선택하면 왼쪽에 ...이 박힌 모양이 뜨는데 그건 필드 위치를 이동시킬 수 있다.
또한, 오른쪽에는 삭제 버튼도 있어서 삭제도 가능하다.
관계선은 총 7개가 있다.
- Zero or One or Many: 하나의 인스턴스와 연결됨 (필수, 단일 관계)
- Zero or Many: 여러 인스턴스와 연결 가능 (필수, 다중 관계)
- Zero or One: 반드시 하나의 인스턴스와 연결됨 (필수, 단일 고정)
- One or Many: 최소 하나에서 여러 개의 인스턴스와 연결 가능
- Only One: 연결되지 않거나, 하나의 인스턴스와만 연결될 수 있음
- Many:연결되지 않거나, 여러 인스턴스와 연결될 수 있음
- One: 연결되지 않거나, 하나 또는 여러 인스턴스와 연결될 수 있음
식별 관계? 비식별 관계?
연결선은 어떤 테이블이 어느 방향으로 참조할건지 테이블 하나를 선택하고 연결하고자 하는 테이블에 연결해주면 끝이다. 그러면 이제 식별관계인지 비식별 관계인지 선택하는 버튼이 나온다.
- Identifying Relationship(식별 관계): 자식 엔티티가 부모 엔티티의 기본 키를 함께 사용하여 관계를 통해 고유하게 식별되는 관계
- Non - Identifying Relationship (비식별 관계): 자식 엔티티가 부모 엔티티의 기본 키를 참조하지만, 독립적인 기본 키를 따로 가지고 있는 관계
하단에는 Domain, Import, Export를 할 수 있는 버튼이 있다.
- Import: 작성된 SQL을 넣으면 테이블을 자동 생성
- Export: 설계가 끝난 ERD에 대한 SQL 작성해 줌
하나하나 작업하지 않아도 쉽게 테이블을 설계하고 SQL까지 받을 수 있다.
'DB' 카테고리의 다른 글
[DB] Redis란? 개념부터 자료 구조까지 한 번에 정리! (0) | 2025.02.18 |
---|---|
[DB] MongoDB Atlas 설정 및 삭제 방법 총정리 (0) | 2025.02.14 |
[DB] ORM(Object-Relational Mapping)이란? (0) | 2025.02.12 |
[DB] DB 정규화 (Database Normalization)에 대하여 (0) | 2025.01.29 |