행궁동 데이터 엔지니어

반응형

MySQL WorkBench(워크벤치)를 이용한 MariaDB 테이블 생성 방법입니다.

 

MySQL과 MariaDB는 다른 DBMS(Database Management System)인데 MySQL용 Workbench로 MariaDB 테이블을 생성한다니 좀 이상하죠?
MariaDB는 MySQL과 호환성이 우수합니다. 이유는 MariaDB가 MySQL 기반으로 만들어진 오픈소스 데이터베이스이기 때문입니다. 

  • MySQL : 오라클에서 관리하는 오픈소스 데이터베이스, 하지만 2중 라이선스로 커뮤니티, 엔터프라이즈 2가지 버전이 존재(커뮤니티 버전에서는 일부 기능이 제한됩니다) 

  • MariaDB : MariaDB재단에서 관리하는 오픈소스 데이터베이스, GPL(General Public License) v2 라이선스로 자유로운 사용 가능

* 제가 사용한 워크벤치와, 마리아 DB 버전은 아래와 같습니다

  • 워크벤치 : MySQL Workbench 8.0.18

  • 마리아DB : MariaDB 10.3.13


이제 본격적으로 워크벤치를 활용한 MaraDB 테이블 생성 방법입니다. 
다운로드부터 테이블 생성까지 크게 4단계로 요약할 수 있습니다. 

 

MySQL 워크벤치를 활용한 MariaDB 테이블 생성 과정

  1. 다운로드 및 설치
  2. ERD(Entity Relationship Diagram) 만들기
  3. 생성한 ERD export (export 하면 데이터베이스, 테이블 생성 CREATE문이 만들어짐)
  4. MariaDB에서 데이터베이스 및 테이블 생성

1. 다운로드 및 설치

아래 경로에서 MySQL Workbench 다운로드가 가능하고, 굳이 회원가입 안 해도 다운 가능합니다.

설치는 스크린샷을 따로 안 찍었는데요, Next를 눌러서 설치하시면 됩니다.

 

 

MySQL :: MySQL Workbench

MySQL Workbench is a unified visual tool for database architects, developers, and DBAs. MySQL Workbench provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, backup, and much more. My

www.mysql.com

No thanks, just statr my download를 클릭해서 바로 다운로드 받으시면 됩니다.

 

2. ERD(Entity Relationship Diagram) 만들기

설치가 완료되고 워크벤치를 실행하며 아래와 같은 화면을 볼 수 있습니다.

ERD를 만들기 위해 File - New Model을 클릭합니다(단축키 : 컨트롤 + N)

File - New Model 클릭(단축키 컨트롤 + N)

 

다음으로는 Add Diagram을 클릭해서 Diagram을 생성합니다.

Add Diagram 클릭

 

Add Diagram을 클릭하면 아래와 같은 시트가 생성되고 테이블을 생성하시면 됩니다.

워크벤치 Diagram 초기 화면

 

아래는 테이블을 생성한 모습이고, 이제 만든 테이블을 Export 하는 방법을 말씀드리겠습니다.

 

데이터베이스 이름 : testDB, 테이블 이름 : test_20191206 으로 간단한 테이블을 만들었습니다.

3. 생성한 ERD export (export 하면 데이터베이스 및 테이블 생성용 Create문이 생성됩니다)

File - Export - Forward Engineer SQL CREATE Script 클릭

 

 

SQL 스크립트를 저장할 경로 설정, 해당 경로에 스크립트가 생성됩니다.

경로 지정 후에 Next를 누르시면 스크립트 미리 보기 창이 나오는데 계속 Next 눌러서 넘어가면 됩니다.

스크립트를 생성할 경로 설정하기

 

생성된 스크립트는 아래와 같습니다.

아래 내용에서 '--'으로 처리된 행은 주석 처리된 행들이고 주석처리된 행들을 제외하고 나머지 행들을 차례대로 입력하면 데이터베이스 및 테이블이 생성됩니다. 

 

생성된 스크립트

 

4. MariaDB에서 데이터베이스 및 테이블 생성

아래는 생성된 코드 전문입니다.

MariaDB에 들어가서 아래에서 '--'으로 주석 처리된 행들을 제외하고 차례대로 복사해서 입력해주면 됩니다.

-- MySQL Script generated by MySQL Workbench
-- Fri Dec  6 19:00:22 2019
-- Model: New Model    Version: 1.0
-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

-- -----------------------------------------------------
-- Schema testDB
-- -----------------------------------------------------
-- 20191206 make database test

-- -----------------------------------------------------
-- Schema testDB
--
-- 20191206 make database test
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `testDB` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin ;
USE `testDB` ;

-- -----------------------------------------------------
-- Table `testDB`.`test_20191206`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `testDB`.`test_20191206` (
  `ID` INT NOT NULL,
  `NAME` VARCHAR(45) NULL,
  `HOBBY` VARCHAR(45) NULL,
  PRIMARY KEY (`ID`))
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

 

위의 스크립트는 3가지 과정으로 이루어져 있습니다.

  1. 기본 변수 설정

  2. 데이터베이스 생성

  3. 테이블 생성

마지막으로 스크립트 입력 및 생성된 테이블 모습입니다.

 

MariaDB 접속
정말 그대로~ 복사해서 넣으면 됩니다.
생성된 테이블 컬럼 확인 PK(Primary Key), 데이터 Type이 잘 들어갔습니다. 

 

1. MySQL과 MariaDB의 공통점/차이점에 대해 잘 정리한 글 : https://sir.kr/cm_free/1489073
2. GPL License 가 무엇인지 궁금한 분들을 위한 링크 : https://www.olis.or.kr/license/Detailselect.do?lId=1004
3. 워크벤치 다운로드 경로 : https://www.mysql.com/products/workbench/
4. 워크벤치란 ? : https://ko.wikipedia.org/wiki/MySQL_%EC%9B%8C%ED%81%AC%EB%B2%A4%EC%B9%98
반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band