CS 박사되깅 7주차 데이터베이스 기초

윤현승·2025년 11월 2일

CS 스터디

목록 보기
7/9

관계형 데이터베이스(RDBMS)는 데이터를 표(테이블) 형태로 저장하며, SQL을 통해 데이터를 정의·조작·제어합니다. 키(Key)와 인덱스(Index)는 데이터의 식별과 빠른 검색에 중요한 역할을 합니다.


관계형 데이터베이스(RDBMS) 개념

  • 관계형 데이터베이스는 데이터를 행(Row)과 열(Column)로 이루어진 테이블에 저장합니다.
  • 각 테이블은 하나의 엔티티(개체)를 나타내며, 테이블 간의 관계(relationship)를 통해 데이터들이 연결됩니다.
  • 각 행은 한 데이터 레코드를, 각 열은 데이터의 속성(필드)을 의미합니다.
  • 대표적인 RDBMS는 MySQL, Oracle, PostgreSQL, SQL Server 등입니다.

예시 테이블

고객ID이름주소연락처
1김지훈서울시 강남구010-1234-5678
2박민수부산시 해운대구010-9876-5432
  • 이처럼 실제 엑셀 표와 유사한 구조로 데이터를 관리합니다.

SQL의 세 가지 영역 (DDL, DML, DCL)

구분설명주요 명령어예시
DDL데이터 구조 정의/변경/삭제CREATE, ALTER, DROP, TRUNCATECREATE TABLE, DROP INDEX
DML데이터 조회/삽입/수정/삭제SELECT, INSERT, UPDATE, DELETESELECT * FROM, INSERT INTO
DCL사용자 권한 및 트랜잭션 제어GRANT, REVOKE, COMMIT, ROLLBACKGRANT SELECT ON, COMMIT
  • DDL(정의어): 테이블, 인덱스, 뷰 등 데이터 구조를 생성·수정·삭제합니다.
  • DML(조작어): 테이블 내 실제 데이터를 삽입(INSERT), 삭제(DELETE), 수정(UPDATE), 조회(SELECT)합니다.
  • DCL(제어어): 사용자 권한 관리(GRANT/REVOKE), 트랜잭션 처리(COMMIT/ROLLBACK)에 사용됩니다.

그렇다면 SQL이 정확히 뭘까요?

SQL은 'Structured Query Language'의 약자로, 관계형 데이터베이스에 저장된 데이터를 관리하고 조작하기 위한 표준 프로그래밍 언어입니다. 쉽게 말해, 데이터베이스라는 표 형식 저장소에서 원하는 정보를 찾거나, 추가하고 수정하며 삭제하는 도구입니다.

SQL의 특징과 역할

  • SQL을 통해 데이터베이스에 저장된 데이터를 쉽게 조회(SELECT), 삽입(INSERT), 수정(UPDATE), 삭제(DELETE)할 수 있습니다.
  • 데이터베이스의 구조를 정의하는 명령(DML), 데이터를 조작하는 명령(DML), 사용자 권한 관리나 트랜잭션 제어(DCL, TCL) 명령까지 SQL은 데이터베이스를 전반적으로 관리하는 데 널리 사용됩니다.
  • SQL 명령은 일반 영어 키워드로 이루어져 있어 비교적 배우기 쉽고, 거의 모든 관계형 데이터베이스(MySQL, Oracle, PostgreSQL 등)에서 공통으로 사용 가능합니다.

SQL의 실무 활용

  • 기업들은 고객 데이터, 매출 데이터, 상품 정보 등 대량의 데이터를 효율적으로 관리하고 분석하기 위해 SQL을 필수적으로 사용합니다.
  • SQL을 통해 데이터를 필터링하거나 집계하여 마케팅 전략, 서비스 개선 등에 필요한 인사이트를 도출할 수 있습니다.
  • 또한 다양한 프로그래밍 언어와 쉽게 통합되어 웹 서비스, 애플리케이션 개발에서 데이터베이스와의 연결고리 역할을 합니다.

기본 SQL 명령어 예시

목적명령어설명예시
데이터 조회SELECT데이터 조회SELECT * FROM customers;
데이터 삽입INSERT새 데이터 추가INSERT INTO customers VALUES (...);
데이터 수정UPDATE기존 데이터 변경UPDATE customers SET name='홍길동' WHERE id=1;
데이터 삭제DELETE데이터 삭제DELETE FROM customers WHERE id=1;

SQL은 관계형 데이터베이스를 다루는 데 필수적이며, 데이터 기반 서비스와 애플리케이션 개발에 핵심적인 역할을 합니다.

키(Key) 개념

  • 키(Key): 테이블 내 각 행(레코드)을 고유하게 식별하는 값 또는 컬럼 집합입니다.
  • 종류:
    • Primary Key(기본키): 한 테이블에 하나만 존재, 중복·NULL 불가. 각 행의 고유성을 보장.
    • Foreign Key(외래키): 다른 테이블의 Primary Key를 참조. 테이블 간 관계 형성.
회원ID(기본키)이름이메일
1김지훈jihoon@email.com
2박민수minsu@email.com

인덱스(Index) 개념

  • 인덱스는 데이터베이스에서 검색 속도를 빠르게 하기 위해 사용하는 색인 구조입니다.
  • 마치 책의 목차와 같이, 특정 데이터를 찾을 때 빠르게 찾도록 도와줍니다.
  • Primary key, Unique key를 생성하면 데이터베이스 엔진이 자동으로 인덱스를 생성하여 검색 성능을 최적화합니다.
  • 인덱스는 추가로 메모리나 디스크 공간을 사용하지만, 대량 데이터에서 매우 효율적으로 동작합니다.

인덱스 구조(예시)

text[인덱스] [실제 데이터] 이름:김지훈 → 회원ID:1, 이메일: jihoon@email.com 이름:박민수 → 회원ID:2, 이메일: minsu@email.com

  • 인덱스를 이용하면 대량 데이터에서도 원하는 값을 빠르게 찾을 수 있습니다.

실무 적용 예시

  • RDBMS는 쇼핑몰, SNS, 은행 등 대부분의 비즈니스 환경에서 핵심적으로 사용됩니다.
  • SQL의 각 영역(DDL, DML, DCL)은 테이블 설계, 데이터 조회/수정, 사용자 권한 관리 등 데이터베이스 관리 전반에서 필수적입니다.
  • 키와 인덱스는 데이터의 무결성을 보장하고, 서비스의 빠른 응답 속도를 유지하는 데 실질적으로 활용됩니다.

요약 표

개념설명실무 요소
RDBMS데이터를 테이블에 저장, 관계로 연결표 설계, 데이터 연동
SQL(DDL/DML/DCL)데이터 정의/조작/제어 언어테이블 생성/조회/관리
Key(키)데이터 식별자(Primary, Foreign 등)레코드 고유성/테이블 연결
Index(인덱스)검색 속도 향상용 자료구조빠른 데이터 조회/검색 성능개선
profile
윤현승입니다!

5개의 댓글

comment-user-thumbnail
2025년 11월 2일

이전 포스트들에 실무 적용 예시가 추가되었네요! 잘 읽었습니다~

답글 달기
comment-user-thumbnail
2025년 11월 3일

실무 적용 예시가 있어서 좋았어요

답글 달기
comment-user-thumbnail
2025년 11월 3일

요약 표로 내용을 또 한 번 정리해둬서 좋았습니다!

답글 달기
comment-user-thumbnail
2025년 11월 3일

전체적으로 예시가 있어서 이해하기 편했습니다!

답글 달기
comment-user-thumbnail
2025년 11월 3일

예시와 요약이 있어 좋습니다!

답글 달기