ERD - MySQL Workbench 사용법_1

MySQL 이란?

  • MySQL은 전세계적으로 가장 널리 사용되고 있는 오픈 소스 데이터베이스이다.
  • 표준 데이터베이스 질의 언어 SQL(Structured Query Language)을 사용하는 개방 소스의 관계형 데이터베이스 관리시스템(RDBMS)이다.
  • 매우 빠르고, 유연하며, 사용하기 쉬운 특징이 있다.
  • 다중사용자, 다중 쓰레드를 지원하고, C, C++, Eiffel, 자바, 펄, PHP, Python 스크립트 등을 위한 응용프로그램 인터페이스(API)를 제공한다.
  • 유닉스나 리눅스, Windows 운영체제 등에서 사용할 수 있다.
  • MySQL 데이터베이스는 일반 사용자가 무료로 다운로드하여 사용할 수 있는 장점이 있다.

RDBMS 무결성

  1. 개체 무결성(Entity Integrity)
  • 주 식별자(primary key)는 고유한 값이어야 한다.
  • 주 식별자는 Null을 포함할 수 없다.
  1. 참조 무결성(Reference Integrity)
  • 모든 외부식별자(foreign key, 외래 키)값은 연관된 주식별자 값을 참조한다.
  • 외부 식별자는 Null 값이 허용될 수 있다.
  1. 범위 무결성(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' 더블클릭하여 원하는 이름으로 설정

Screenshot from 2019-07-04 01-59-58

- 'EER Diagrams' > 'Add Diagram' 더블 클릭

Screenshot from 2019-07-04 02-03-21

3. ERD 구현

ex) 인스타그램과 비슷한 사이트를 만드는 경우
- 'Place a New Table' 클릭

Screenshot from 2019-07-04 02-05-24

- 'table1' 더블 클릭하여 이름 설정 및 모델 구현

Screenshot from 2019-07-04 02-05-30

- 'users' 모델 구현
    - Column에 유저아이디, 비밀번호, 휴대폰번호, 이메일주소 추가

Screenshot from 2019-07-04 02-11-26

- 'posts' 모델 구현
    - Column에 게시물 내용, 이미지 경로, 태그명, 생성일, 수정일 추가

Screenshot from 2019-07-04 02-16-05

- 'users'와 'posts' 1:n(일대다) 표시
    - 유저 한명이 여러 게시물을 업로드할 수 있어야 하므로 1:n 관계
    - 표시할 때, n에 해당하는 객체를 먼저 선택하고, 1에 해당하는 객체를 그 다음에 선택해야 한다.

Screenshot from 2019-07-04 02-16-28
Screenshot from 2019-07-04 02-16-37

- 'comments' 모델 구현
    - Column에 댓글 내용, 대댓글을 위한 parent_comment_id 추가
        - 대댓글 기능을 적용하기 위해 대댓글 대상의 댓글 id를 parent_comment_id에 id를 넣으면 된다.

Screenshot from 2019-07-04 02-19-32

- 'users'와 'comments' 1:n 표시
    - 유저 한명이 여러 댓글 작성 가능하므로 1:n 관계

Screenshot from 2019-07-04 02-20-20

- 'posts'와 'comments' 1:n 표시
    - 1개 게시물에 여러 댓글이 작성될 수 있으므로, 1:n 관계

Screenshot from 2019-07-04 02-20-40

  • 여기까지 MySQL의 정의와 MySQL Workbench 다운로드 방법 및 ERD 구현하는 기초 방법에 대해서 알아보았다.
  • 다음 내용은 “MySQL Workbench 사용법_2”에서 다룰 예정이다.