치춘짱베리굿나이스
ERD 그려보기 with ERDCloud 본문
ERD 그려보기 with ERDCloud
ERDCloud
앞서 ERD의 구성 (사실상 새발표기법 원툴) 에 관해 알아보았으니 이번에는 테이블간 관계도를 직접 그려보자
ERDCloud는 웹상에서 테이블 ERD를 그리기 쉬운 툴이다
딱 있을 기능들만 있어서 draw.io처럼 복잡하지도 않고 직관적으로 관계도를 그릴 수 있다
다만 당연히 동작할 줄 알았던 단축키들이 안 먹혀서 조금 당황했따…
로그인은 구글, 페이스북, Github OAuth로 가능하다
ERD 생성 및 테이블 추가
로그인을 했다면 우상단의 + 아이콘을 누르자
로그인 아이콘은… 우상단의 문 아이콘을 누르면 된다
간단한 과정이라 굳이 추가 안 했다
ERD 생성 모달이 나온다
ERD의 이름과 태그, 공개 여부를 설정하자
태그는 사실 지금 단계에선 굳이 필요 없는 것 같아서 일단은 추가 안 했다
태그를 추가하면 같은 태그끼리 모아볼 수 있고, 태그로 다른 사람의 관계도 검색도 가능하다
ㅁ 으로 검색하니 수많은 한국인들의 태그 달기 귀찮아하는 흔적들을 볼 수 있었다 (ㅋㅋㅋ)
왼쪽 툴바의 테이블 아이콘을 클릭하고, 검은색 영역 아무데나 클릭하면 해당 위치에 테이블이 생성된다
테이블 이름을 바꿀 수 있도록 포커스가 잡히고, 아직 컬럼은 한 개도 없다
컬럼 추가 및 테이블 보기 설정
파란 + 버튼을 누르면 필드가 마구마구 추가된다
노란 + 버튼은 PK 용이라 후술할 것
테이블에 Field
, Field2
, Domain
, Type
가 기본으로 출력되는데 지금 단계에서 도메인과 Field2는 필요가 없으므로 보기 설정을 바꿔주자
Field
와 Field2
의 차이는 Logical name과 Physical name의 차이라고 한다 (실제 데이터베이스에서 사용되는 이름과, 외부 인터페이스에서 사용되는 이름의 차이)
톱니바퀴를 누른다
설정 페이지에서 DISPLAY의 체크박스를 조정하여 보여주고 싶은 데이터와 숨기고 싶은 데이터를 고를 수 있다
Domain은 숨기고 Allow Null (체크하면 옆에 NOT NULL
이나 NULL
중 고를 수 있다) 을 허용하자
위의 Field2
를 숨기고 싶다면 START VIEW MODE에서 Logical 또는 Physical을 선택하여 하나만 남겨두자
설정 페이지에서 설정하는 값은 처음 ERDCloud를 켰을 때 보여줄 필드명으로, 테이블 편집 화면에서도 왼쪽 툴바에서 위 이미지의 아이콘들을 눌러 보기 방식을 다르게 설정할 수 있다
당장은 logical / physical을 신경쓸 필요가 없으므로 둘중 하나만 선택해도 무방하다
드디어 어디서 많이 보던 형태의 테이블이 되었다
각 테이블의 요소를 더블클릭하여 값을 채워주면 된다
주의할 점은 왼쪽 툴바에서 마우스 커서가 화살표 모양인지, 손바닥 모양인지 체크하자
손바닥 모양일 때는 필드 변경이 안 된다
PK 추가하기
위의 예시에서 student_id
는 primary key에 적합하므로 (각 레코드를 식별하는 데에 사용하기 좋으므로) PK로 재설정해 보자
컬럼을 더블클릭하면 휴지통 아이콘이 나오며, 이 아이콘을 클릭하면 컬럼을 삭제할 수 있다
i 아이콘은 컬럼의 상세 정보를 수정할 수 있으며, 이름이나 제약조건 등을 적을 수 있다
위쪽 화살표를 클릭하면 컬럼을 PK로 설정하거나 해제할 수 있다
노란색 + 버튼을 클릭할 때가 왔다
클릭하면 primary key에 해당하는 컬럼이 최상단에 추가된다
속성들은 다른 컬럼 채우듯이 채워주면 된다
테이블간 연결하기
테이블 2개를 연결해보자
예시를 위해 교수 테이블 (professor_table
) 을 추가해 주었다
이제 두 테이블을 이어볼 것이다
왼쪽 툴바에서 새발표기법같이 생긴 아이콘을 누르면 각각의 아이콘에 해당하는 새발 선을 추가할 수 있다
교수 한 명당 학생 여러명을 연결해 보자 (교수 1 : n 학생)
아이콘을 클릭하면 커서가 새발 모양으로 바뀌고, 테이블을 각각 클릭함으로써 테이블을 연결할 수 있다
선택한 새발은 연결선의 끝점에 나타난다는 것을 기억하자
- 연결선의 출발점이 되는 테이블 (부모 테이블) 을 선택한다
- 교수 1명당 학생 여러 명을 연결할 것이므로, 교수 테이블을 클릭한다
- 출발점 테이블은 기본적으로 1개 연결된다
- 연결선의 끝점이 되는 테이블 (자식 테이블) 을 선택한다
- 학생이 여러 명 연결될 예정이므로 새발의 끝이 학생을 향해야 한다
- 따라서 학생 테이블을 클릭한다
- 앞서 툴바에서 선택한 새발이 학생 테이블을 가리키게 된다
- Identifying Relationship, Non-Identifying Relationship 중 하나를 선택한다
- 새로운 개념이라 별도의 포스팅에 정리해 두었다
요로코롬 테이블 연결 하나가 완성되었다
식별 관계로 설정했기 때문에 student_table
은 professor_table
에 종속적이다
연결을 삭제하고 싶다면 FK 컬럼을 삭제하면 된다
테이블 Export 하기
하단의 Export를 누르면 옵션이 여러 개 나온다
DB 종류를 선택할 수 있다
지원되는 건 MySQL, Oracle, MS-SQL로 가장 많이 사용되는 RDBMS 3대장이다
상단 옵션은
- PK 제약조건 추가
- FK 제약조건 추가
- 비식별관계 제약조건 추가
DROP
명령 추가- 선택한 엔터티만 export하기
CREATE TABLE `student_table` (
`student_id` VARCHAR(20) NOT NULL,
`professor_id` VARCHAR(20) NOT NULL,
`gpa` INT NOT NULL,
`is_absent` BOOLEAN NOT NULL
);
CREATE TABLE `professor_table` (
`professor_id` VARCHAR(20) NOT NULL,
`office_address` VARCHAR(20) NULL
);
ALTER TABLE `student_table` ADD CONSTRAINT `PK_STUDENT_TABLE` PRIMARY KEY (
`student_id`,
`professor_id`
);
ALTER TABLE `professor_table` ADD CONSTRAINT `PK_PROFESSOR_TABLE` PRIMARY KEY (
`professor_id`
);
ALTER TABLE `student_table` ADD CONSTRAINT `FK_professor_table_TO_student_table_1` FOREIGN KEY (
`professor_id`
)
REFERENCES `professor_table` (
`professor_id`
);
옵션 선택 후 SQL Preview를 클릭하면 위처럼 예시를 보여준다
테이블 2개를 미리 생성하고 ALTER TABLE
을 통해 제약조건 추가 및 테이블 연결을 시도하는 것을 볼 수 있다
하단의 버튼들은 각각
- Download SQL: sql 확장자의 쿼리문을 저장한다
- SQL Preview에서 확인한 내용과 동일한 내용을 저장한다
- Download PNG: DB 테이블을 이미지로 저장한다
- 화면에 보여지는 모습 그대로 저장해준다
- Download EXCEL: xlsx 확장자로 저장한다
엑셀 파일은 위와 같이 개략적인 테이블 정보만 엑셀로 저장한다
딱히 테이블이 연결되고 막 그런 건 없다
여담
erdcloud 홈페이지에 처음 딱 들어가면 OKKY의 ERD를 볼 수 있다
erdcloud에서 테이블을 연결하는 것이 익숙치 않으면 참고해도 좋을 듯 하다 (나도 했다)
의외로 레퍼런스가 많지 않았지만 사실상 레퍼런스 없이도 혼자 몇 번 클릭해보면 쉽게 만들 수 있는 수준이긴 해서 다행이었다
'ServerSide > Database' 카테고리의 다른 글
MySQL Workbench 사용해보기 (0) | 2022.09.28 |
---|---|
Identifying / Non-Identifying Relationship (0) | 2022.09.27 |
ERD (0) | 2022.09.27 |
MySQL (Express와 함께) (0) | 2022.09.14 |
DBMS (0) | 2022.09.10 |