골방잡담

주문관리 효율화(1) - 아마존 RDS로 MySQL DB 생성하기 본문

PC방에서/개인프로젝트

주문관리 효율화(1) - 아마존 RDS로 MySQL DB 생성하기

sisu_ 2020. 9. 5. 12:21

그 동안 엑셀로 관리하던 내역을, 조금 더 효율적으로 관리하기 위해 DB를 생성하고, 

필요한 내용을 웹화면에서 입력할 수 있게 만들어보려고 한다. 

 

 

1. 데이터 정리

엑셀로 된 데이터 중 꼭 필요한 칼럼을 뽑아내고, 

데이터가 빈 곳들은 채워주거나 삭제해버리는 식으로 해서 정리를 하였다. 

 

처음에는 여러 테이블을 만들어서 주문 관리를 해야 하나.. 라고 생각을 했는데

일단은 처음 만드는 것이고 사실 그동안 엑셀로 관리하던 데이터가 일관성이 있지는 않아서 ㅠㅠㅠ

향후에 관리포인트가 더 생기면 그때마다 테이블을 만들어서 JOIN 해야겠다고 생각했다. 

 

 

2. 데이터베이스 생성

IT공부를 하면서 결과적으로 가장 편하다고 생각한 연습 환경이 아마존이기에... 

DB도 아마존 RDS를 사용해보기로 했다. 

 

아래 가이드 참조하여 만들었음:

https://aws.amazon.com/getting-started/hands-on/create-mysql-db/

 

MySQL 데이터베이스를 생성하는 방법 – Amazon Web Services

Network & Security Public accessibility: Yes를 선택합니다. 이렇게 하면 데이터베이스 인스턴스에 대한 IP 주소가 할당되므로 사용자 디바이스에서 데이터베이스에 직접 연결할 수 있습니다. Availability zon

aws.amazon.com

3. 연결설정

  • workbench 가 이미 깔려있어, workbench에 연결설정을 했다.

  • Amazon RDS > Databases > 내가 생성한 database > Endpoint 정보를 이용하면 된다.

 

  • workbench에서 'setup new connection'에서 필요한 정보를 넣고, 'test connection'으로 잘 되는지 확인 가능하다. 

  • 참고로 EC2와 마찬가지로, RDS도 보안그룹 편집을 할 수 있다. 데이터베이스다보니 조금 더 신경써서 inbound rule을 정해줘야한다. EC2 > 보안그룹 > 내가만든보안그룹 > Inbound rule 편집해주면 된다. 

 

4. 테이블 생성 / 데이터 INSERT  

  • 결정장애인 나에게 너무 많은 결정의 연속이었던 테이블 생성. 일단 가장 많이 사용할 것 같은 칼럼 14개를 걸렀고, 날짜도 확인해보니 varchar로 넣는 것이 편하다고 하여... 그렇게 create를 했다.
CREATE TABLE `tinyproject`.`orders` (
  `order_id` INT NOT NULL AUTO_INCREMENT,
  `order_date` VARCHAR(45) NOT NULL,
  `product` VARCHAR(45) NOT NULL,
  `color` VARCHAR(45) NOT NULL,
  `size` INT NULL,
  `request_date` DATE NOT NULL,
  `release_date` DATE NULL,
  `platform` VARCHAR(45) NULL,
  `shoemaker` VARCHAR(45) NULL,
  `payment_YN` VARCHAR(45) NULL,
  `comment` VARCHAR(100) NULL,
  `sample_yn` VARCHAR(45) NULL,
  `return_yn` VARCHAR(45) NULL,
  `exchange_yn` VARCHAR(45) NULL,
  PRIMARY KEY (`order_id`),
  UNIQUE INDEX `order_id_UNIQUE` (`order_id` ASC) VISIBLE);
  • 사실, 테이블 생성은 결정이 어려웠지만 데이터 insert는 노가다를 어떻게 최대한 안 해도 될까.. 를 고민하다가 오래걸렸다. 구글링 해보면 데이터를 한번에 넣을 수 있는 툴들도 있는데, 데이터 유출의 위험도 있고, 그냥 엑셀로 노가다를 조금 했다. 생각보다 정말 오래걸렸던 테이블 생성. 고민은 미리 해놨었는데, 문제는 insert문을 최초에 어떻게 하면 노력을 들이지 않고 만드느냐... 였다. 
  • 엑셀에서도 각종 함수를 이용해서 넣는 다양한 방법이 있긴 했는데, 자꾸 원하는대로 결과가 안 나와서 결국 가장 확실하고 단순한 방법으로 칼럼 사이사이에 칼럼을 하나씩 insert해서 ',' 를 추가해주는 식으로... 작업했다. 무식하지만 나름 제일 빠른 방법 ㅠㅠ
  • INSERT문 만들어서 넣는건 금방됐다. 참고로 데이터 row는 216줄 뿐이었다 ^^;; 

 

 

Comments