내맘대로 살기🎉
[후기] ERD를 활용한 DB 모델링 (with MySQL workbench) 본문
ERD란 ?
Entity Relationship Diagram의 약자로, 개체관계도라고 부릅니다.
소개
강의는 용영환님이 하였습니다. 웃음소리가 독특하시고 말을 잘하시는 분이셔서 강의를 듣기에 편안했습니다.
용영환님이 25살 때부터 ERD를 공부하였다고 합니다. 평소에도 ERD를 개발을 할 때 사용한다고 하였고 습관화를 시키셨다고 하였습니다.
소프트웨어 모델링이란 ?
머리 속에 있는 생각을 누구나 볼 수 있게 본을 뜨는 것.
장점
1. 만들고자 하는 바를 더 명확하게 알 수 있다.
2. 이해하고 소통하기에 편리하다.
3. RDBMS 데이터 설계가 쉬워진다.
데이터베이스
모델링에서는 데이터베이스를 Schema라고 부른다.
실습을 해보기 전에 간단하게 자기소개와 ERD에 대해 소개를 하였습니다. 실습은 MySQL과 100%호환되는 [ MySQL workbench ]를 사용하였습니다. MySQL workbench는 약 10년 정도 상업용으로 개발되어 판매되다가, MySQL에서 workbench를 인수하여 오픈소스로 풀었다고 합니다.
실습 과정
MySQL workbench를 실행시키신 후 Models를 생성합니다.
스키마의 이름은 이미 존재하는 데이터베이스의 ERD를 그리려는 데이터베이스 이름과 같게 해주셔야 합니다.
먼저 위의 사진을 보시면 MySQL workbench는 Barker 표기법으로 표기하고 있습니다.
1번을 보시면 실선으로 되어있는데, 그것은 members가 꼭 있어야만 orders를 할 수 있다는 것입니다.
실선(Identifying) |
회원만 주문가능 |
점선(Non-Identifying) |
비회원 주문가능 |
또한 실선은 Identifying, 점선은 Non-Identifying으로 말합니다.
2번을 보시면 실선과 점선, 그리고 1:1, 1:M, N:M를 표현하는 선을 선택하여 테이블끼리 연결해줄 수 있습니다.
if) members를 orders에 연결을 할 때, 한 명의 유저가 여러 번의 주문을 할 수 있도록 할 것입니다.
그러면, 2번의 선을 선택하고 [ orders를 먼저 클릭 -> members 클릭 ] 순으로 하셔야 제대로 표현이 됩니다. 영어권에서 만든 것이라, 우리나라와는 문법이 반대라서 그렇다고 하네요.
3번을 보시면 테이블이 하나 있습니다. 이것은 제가 직접 추가한 것이 아니라, orders와 products를 N:M로 연결하여 생성된 것입니다.
Database 목록에 있는 Synchronize Model, Reverse Engineer, Forward Engineer과 Migration Wizard이 있습니다. 유용하게 사용할 수 있는 기능이니 한 번씩 확인해보시면 좋을 것 같습니다.
ERD를 보고 database 스키마를 만들어주고, 만들어져있는 스키마를 ERD로 그려주기도 합니다.
마치며..
직접 ERD를 활용하여 DB 모델링 실습을 해보면서 그냥 데이터베이스만 보면서 이해하고 어떤 식으로 되어있는지 이해하는 것 보다 ERD를 보면서 한 눈에 보는 것이 훨씬 더 편리하다는 느낌을 크게 받았습니다.
좋은 강의 잘 들었고, 많이 배웠습니다.
'공연, 강연' 카테고리의 다른 글
[뮤지컬] 노트르담드 파리 (2) | 2024.02.17 |
---|---|
[후기] 세바시 x GSEEK (2) | 2017.09.16 |