오늘은 myCalendar 프로젝트의 핵심인 데이터베이스 선정과 세팅에 집중하였습니다. 기능 개발 전에 데이터베이스를 선정하고 테이블 구조를 잘 설계하는 것은 프로젝트의 효율성과 성능에 큰 영향을 미치기 때문에 우선적으로 이 과정을 수행하였습니다.
NoSQL과 SQL은 데이터베이스 관리 시스템의 두 가지 주요 범주입니다. 간단하게 비교하자면 다음과 같습니다:
NoSQL (Non-SQL, Not Only SQL):
SQL (Structured Query Language):

myCalendar 프로젝트에서 SQL 데이터베이스인 MySQL을 선택한 이유는 크게 두 가지입니다.
학습 목적: 이전에 NoSQL 데이터베이스를 사용한 경험이 있었기 때문에 새로운 경험을 얻기 위해 SQL 데이터베이스를 선택하였습니다. SQL 데이터베이스는 정형화된 데이터 모델과 트랜잭션 처리를 통해 데이터의 일관성과 무결성을 보장해주는데, 이러한 특성을 학습하고 활용하는 것이 저에게 중요하다고 생각합니다.
프로젝트 요구사항: myCalendar 프로젝트는 사용자들의 일정 관리와 데이터의 정확성이 중요합니다. 사용자가 입력한 일정 정보가 올바르게 관리되고 트랜잭션 처리가 되어야만 정확한 서비스를 제공할 수 있기 때문에, SQL 데이터베이스가 더욱 적합하다고 판단하였습니다.
MySQL 개발 환경을 Windows에서 세팅하는 간단한 순서는 다음과 같습니다.
MySQL 설치: MySQL 공식 웹사이트에서 다운로드하여 설치합니다.
환경 변수 설정: 설치된 MySQL 디렉토리를 환경 변수에 등록하여 커맨드 라인에서 MySQL 명령어를 사용할 수 있도록 합니다.
MySQL 서버 실행: 설치된 MySQL 서버를 실행합니다. 커맨드 라인이나 MySQL Workbench 등을 사용하여 접속합니다.
사용자 계정 생성: 프로젝트에서 사용할 새로운 사용자 계정을 생성하고 권한을 부여합니다.
데이터베이스 생성: 필요한 데이터베이스를 생성하고 테이블을 정의합니다.
Spring Boot 연결 설정: 프로젝트의 Spring Boot 애플리케이션에서 MySQL 데이터베이스에 연결하기 위한 설정을 추가합니다.
다음 일차에서는 Spring Boot 개발을 잠시 멈추고, DB 테이블 정의서를 작성할 예정입니다. 전체적인 기능 정의와 테이블 구조를 재정리하고, 데이터베이스 정규화를 진행하여 데이터 일관성과 효율성을 더욱 높이기 위해 노력할 것입니다. 그 후에 Spring Boot와 MySQL을 연결하여 회원가입 기능과 로그인 기능을 구현할 준비를 할 것입니다.
DB 테이블 정의서 작성을 통해 프로젝트의 구조와 기능을 더욱 명확히 정리하고 개발을 진행할 방향성을 확실하게 제시하겠습니다. 지속적인 발전을 위해 노력하는 myCalendar 프로젝트에 감사드립니다!