[kakao x goorm] 생성 AI 응용 서비스 개발자 양성 과정/회고록

[kakao x goorm] 데이터베이스 학습 정리

Hoonia 2025. 3. 24. 13:53

오늘은 데이터베이스의 개념과 MySQL 실습을 통해 기본기를 다지는 시간을 가졌다. 데이터베이스는 단순히 데이터를 저장하는 공간이 아니라, 효율적인 관리와 활용이 필수적인 핵심 IT 시스템이라는 점을 다시 한번 깨달았다.

데이터베이스와 DBMS

데이터베이스는 구조화된 데이터의 집합으로, 체계적으로 데이터를 저장하고 관리하는 데이터 창고 역할을 한다. 이를 효과적으로 운영하기 위해 DBMS(Database Management System)가 필요하며, 대표적인 DBMS로는 MySQL, PostgreSQL, Oracle, Microsoft SQL Server 등이 있다.

  • 효율적 데이터 관리: 대량의 데이터를 체계적으로 저장하고 관리
  • 데이터 무결성 유지: 정확성과 일관성을 보장하는 제약 조건 제공
  • 동시성 제어: 여러 사용자가 동시에 접근할 때 발생할 수 있는 충돌 방지
  • 보안 기능: 권한을 통해 사용자별 접근 제한
  • 백업 및 복구 지원: 데이터 손실 시 복구 가능
  • 쉬운 데이터 접근성: SQL을 통한 직관적인 데이터 조작
  • 데이터 추상화: 내부 저장 구조를 몰라도 데이터를 쉽게 다룰 수 있도록 지원

MySQL의 특징과 장점

MySQL은 오픈 소스 DBMS로, 웹 개발과 데이터 분석 등 다양한 분야에서 널리 사용된다.

MySQL의 주요 장점

  • 무료 오픈 소스이지만 강력한 기능 제공
  • 전 세계적으로 사용되며 풍부한 문서와 커뮤니티 지원
  • 국제 표준 SQL 지원으로 배우기 쉬움
  • 빠른 데이터 처리 속도와 확장성이 뛰어남

SQL과 CRUD 작업

SQL(Structured Query Language)은 데이터베이스를 다룰 수 있는 표준 질의 언어다. SQL을 활용하면 데이터 생성(Create), 조회(Read), 수정(Update), 삭제(Delete) 작업을 수행할 수 있다.

연산 설명 SQL 예제
Create 새로운 데이터를 삽입 INSERT INTO users (name, age) VALUES ('홍길동', 25);
Read 데이터 조회 SELECT * FROM users WHERE age > 20;
Update 기존 데이터 수정 UPDATE users SET age = 26 WHERE name = '홍길동';
Delete 데이터 삭제 DELETE FROM users WHERE name = '홍길동';

데이터베이스 저장 구조

데이터베이스는 단순한 파일이 아니라, 여러 종류의 저장 구조를 가지고 있다.

주요 데이터베이스 파일

  • 데이터 파일: 실제 데이터 저장
  • 로그 파일: 변경 사항을 기록하여 장애 발생 시 복구 용도로 사용
  • 인덱스 파일: 검색 속도를 향상시키기 위해 활용
  • 설정 파일: DBMS의 구성과 운영 관련 정보 저장
  • 메타데이터 파일: 테이블 구조, 데이터 유형 등 저장

MySQL 실습 환경 구축

MySQL을 실습하기 위해 기본적으로 필요한 구성 요소는 다음과 같다.

  1. MySQL 서버: 데이터베이스 서비스 실행
  2. MySQL 워크벤치: GUI 기반의 데이터베이스 관리 도구

MySQL 기본 SQL 쿼리 실습

데이터베이스 관리 쿼리

-- 데이터베이스 목록 조회
SHOW DATABASES;

-- 새 데이터베이스 생성
CREATE DATABASE mydb;

-- 데이터베이스 선택
USE mydb;

-- 데이터베이스 삭제
DROP DATABASE mydb;

테이블 생성 쿼리

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age INT NOT NULL
);

데이터 삽입 및 조회

INSERT INTO users (name, age) VALUES ('홍길동', 25);
SELECT * FROM users;

 

오늘의 학습 정리

오늘은 데이터베이스의 기본 개념과 MySQL 실습을 진행했다. DBMS가 단순한 저장소가 아니라 데이터를 효율적으로 관리하는 시스템이라는 점을 다시금 깨달았다.

특히 SQL을 활용한 CRUD 작업을 직접 수행하며, 데이터 삽입부터 삭제까지의 흐름을 이해할 수 있었다. 또한, 데이터베이스 저장 구조에서 로그 파일과 인덱스 파일이 중요한 역할을 한다는 점이 인상적이었다.

실습을 하며 SQL 문법이 직관적이지만, 실수하면 데이터 손실이 발생할 수 있어 주의가 필요하다는 것도 배웠다. 앞으로 더 복잡한 쿼리와 최적화 기법을 익히며 실무 적용 능력을 키워나가야겠다.