컴퓨터 공학 분야 별 지식/database

[DB, ERD]ERDCloud 사용법

N돌핀 2022. 4. 14. 02:25

ERDCloud 사용법

ERD Cloud는 무료 ERD툴이라 학생들이 공부하는 과정에서 사용할 일이 많습니다. 저도 학생으로서 ERDCloud를 사용하면서 배운 점들을 리뷰해보겠습니다!

 

1. 기본 세팅

ERD생성

  • 팀 ERD와 개인ERD중에 하나를 선택한다
  • 팀 ERD에서는 사람들을 초대해 실시간으로 같이 작업을 할 수 있다.

 

물리, 논리 구조 및 세팅

  • 왼쪽 네비게이션 바 밑에를 보면 L/P, L, P가 보이는데 각각 Logic(논리), Physics(물리)의 약자다
  • Database의 물리, 논리명이 궁금하다면 구글링을 해보도록 하자
  • 실제 Database에 저장되는 내용은 물리명이다
  • 오른쪽 위 프로필 사진 왼쪽 톱니바퀴를 누르면 설정 창이 나오고 여기서 설정을 할 수 있다
  • 디스플레이 부분의 기본값도 체크해서 default값이 잘 들어가는지 확인하자

 

2. 테이블, 인스턴스(row), 도메인 생성

테이블 생성

  • 네비게이션 바에 있는 표 모양을 클릭하면 표를 추가 할 수 있다
  • 테이블 이름은 이름을 더블클릭하거나 동그란 i표시를 클릭해서 정보보기 란에서 수정 가능하다
  • 다 만들어진 테이블을 토대로 후에 테이블을 클릭해 복사 붙여넣기 하는 것이 새로 만드는 것 보다 빠르다

 

인스턴스 생성

  • 테이블 왼쪽 위를 보면 +키가 두개 있는데 노란색이 pk를 추가하는 것이고 파란색이 일반 속성을 추가하는 것이다
  • pk든 속성이든 추가해보면 테이블 명 변경과 마찬가지로 더블클릭하거나 오른쪽에 동그란 i표시를 눌러 변경이 가능하다
  • 입력할 때 주의할 점은 입력이 끝나고 엔터를 눌러줘야 저장이 된다
  • 왼쪽 끝 점표지판 같은 것을 눌러서 위치를 옮길 수 있다

💡 SQL에서 사용되는 타입에 대해서 구글링을 통해 찾아보는 것이 좋은 DB를 짤 때 도움이 된다!!

 

도메인

  • 자세한 도메인에 대해선 구글링으로 따로 공부해보면 좋다
  • 쉽게 말해 default가 있는 타입을 생각하면 된다(type보다 더 세분화된 것)
  • 아래 네비게이션 바에서 도메인 관리가 가능하다
  • 도메인 새로고침을 누르면 도메인에서 변경된 사항으로 해당 도메인을 쓰는 모든 테이블들이 최신화된다
  • pk를 모두 ID로 한다거나 혹은 image등을 도메인으로 관리하면 편리하기 때문에 이용해주는 것이 좋다

 

3. foreign key(외래 키) 생성

💡 아래는 기본적인 개념에 대해서 설명. 알아두면 외래 키 만들 때 도움이 많이 된다!

 

ERD notation

  • 왼쪽 네비게이션 바에 보면 외래키 생성 종류가 여러가지가 있다
  • 순서대로 zero or one or many, zero or many, zero or one, one or many, one(and only one), many, one을 나타낸다.
  • zero(동그라미 표시)가 들어간 것은 그쪽 방향의 속성이 있어도 되고 없어도 된다는 뜻

 

 

    1. zero or one or many: 일대일 혹은 일대다 관계를 가지거나 아예 없을 수 있는 경우


    2. zero or many: 일대다 관계를 가지거나 아예 없을 수 있는 경우


    3. zero or one: 일대일 관계를 가지거나 아예 없을 수 있는 경우


    4. one or many: 일대일 관계를 가지거나 일대다 관계를 가지는 경우


    5. one(and only one): 일대일 관계를 가지되 한 개에 종속되는 경우


    6. many: 일대다 관계를 가지는 경우

    7. one: 일대일 관계를 가지는 경우

 

 

one과 one and only one의 차이점

  • 다른 것은 단순해도 5번과 7번이 헷갈릴 것 같다. 아래 한 줄로 설명이 가능하다
  • "existence of at most one such X that satisfies Y." ("Y를 만족하는 X는 많아야 하나 존재한다.")
  • 예를 들면 one의 경우 어떤 학생 A가 룸201호에 살고 있다고 할 수 있다. 여기서 A가 이번 년도에는 201호와 연결되어 있지만 내년이 되면 A가 다른 호실 혹은 다른 집에 살 수 있고 룸201호도 다른 학생에게 참조될 수 있다
  • one(and only one)의 경우 주민등록번호, 학번 같은 거라고 생각하면 된다. 우리가 주민등록번호를 못쓰게 되더라도 주민등록번호는 우리에게 종속되어 남고 학번도 우리가 졸업하여 사라지더라도 다른 사람에게 배정되지 않는다

 

식별, 비식별관계

  • 식별 관계는 foreign key가 기본 key가 되는 것을 말한다
  • 비식별 관계는 foreign key가 일반 속성이 되는 것을 말한다
  • 따라서 같은 테이블에서 여러번 참조하고 싶다면 꼭 비식별 관계를 이용해야 한다
  • 비식별 관계를 이용하는 것이 유연하여 일반적으로 더 좋다

 

ERDCloud에서 외래키 생성 방법

  1. 네비게이션 바에서 원하는 종류를 선택한 뒤 fk가 생성될 곳이 아닌 참조가 될 테이블을 클릭한다.
  2. fk가 생성될 테이블을 선택한다
  3. 식별, 비식별 관계를 선택한다

  • 다음과 같이 비식별관계의 fk를 worker테이블에 만들어서 직장인(worker)이 다니는 회사(company)를 참조하게 할 수 있다.

 

참고

  • one vs one and only one

http://[Crow's Feet - One vs One And Only One](https://stackoverflow.com/questions/33781451/crows-feet-one-vs-one-and-only-one)