ERD - MySQL Workbench 사용법_1
MySQL 이란?
- MySQL은 전세계적으로 가장 널리 사용되고 있는 오픈 소스 데이터베이스이다.
- 표준 데이터베이스 질의 언어 SQL(Structured Query Language)을 사용하는 개방 소스의 관계형 데이터베이스
관리시스템(RDBMS)
이다. - 매우 빠르고, 유연하며, 사용하기 쉬운 특징이 있다.
- 다중사용자, 다중 쓰레드를 지원하고, C, C++, Eiffel, 자바, 펄, PHP, Python 스크립트 등을 위한 응용프로그램 인터페이스(API)를 제공한다.
- 유닉스나 리눅스, Windows 운영체제 등에서 사용할 수 있다.
- MySQL 데이터베이스는 일반 사용자가 무료로 다운로드하여 사용할 수 있는 장점이 있다.
RDBMS 무결성
- 개체 무결성(Entity Integrity)
- 주 식별자(primary key)는 고유한 값이어야 한다.
- 주 식별자는 Null을 포함할 수 없다.
- 참조 무결성(Reference Integrity)
- 모든 외부식별자(foreign key, 외래 키)값은 연관된 주식별자 값을 참조한다.
- 외부 식별자는 Null 값이 허용될 수 있다.
- 범위 무결성(Domain Integrity)
- 정의된 범위 안에서 모든 열의 값이 보장되어야 한다.
- 예) integer, varchar, not null 등
MySQL Workbench 장점 및 단점
[장점]
- 리버스 엔지니어링이 완벽히 지원된다.
- 다이어그램이 깔끔하게 그려진다.
[단점]
- 논리적 모델링을 지원하지 않는다.
- 한글 지원이 완벽하지 않다.
- 다소 불안정한 동작을 보인다. (잦은 다운 등)
MySQL Workbench 사용법
1. MySQL Workbench 다운로드
- [MySQL Workbench 다운로드하기](https://dev.mysql.com/downloads/workbench/)
- OS 환경 선택
2. MySQL Workbench 실행하여 모델명 설정
- 좌측 'File' > 'New Model' 클릭
- 'Physical Schemas' > 'mydb' 더블클릭하여 원하는 이름으로 설정
- 'EER Diagrams' > 'Add Diagram' 더블 클릭
3. ERD 구현
ex) 인스타그램과 비슷한 사이트를 만드는 경우
- 'Place a New Table' 클릭
- 'table1' 더블 클릭하여 이름 설정 및 모델 구현
- 'users' 모델 구현
- Column에 유저아이디, 비밀번호, 휴대폰번호, 이메일주소 추가
- 'posts' 모델 구현
- Column에 게시물 내용, 이미지 경로, 태그명, 생성일, 수정일 추가
- 'users'와 'posts' 1:n(일대다) 표시
- 유저 한명이 여러 게시물을 업로드할 수 있어야 하므로 1:n 관계
- 표시할 때, n에 해당하는 객체를 먼저 선택하고, 1에 해당하는 객체를 그 다음에 선택해야 한다.
- 'comments' 모델 구현
- Column에 댓글 내용, 대댓글을 위한 parent_comment_id 추가
- 대댓글 기능을 적용하기 위해 대댓글 대상의 댓글 id를 parent_comment_id에 id를 넣으면 된다.
- 'users'와 'comments' 1:n 표시
- 유저 한명이 여러 댓글 작성 가능하므로 1:n 관계
- 'posts'와 'comments' 1:n 표시
- 1개 게시물에 여러 댓글이 작성될 수 있으므로, 1:n 관계
- 여기까지 MySQL의 정의와 MySQL Workbench 다운로드 방법 및 ERD 구현하는 기초 방법에 대해서 알아보았다.
- 다음 내용은 “MySQL Workbench 사용법_2”에서 다룰 예정이다.
Posted