Chapter 13. 데이터베이스 이해

IT 지식 / Python·2026.08.26
DATABASE
Chapter 13. 데이터베이스 이해
데이터베이스의 개념과 구조를 이해하고, RDBMS의 기본 요소를 학습합니다.

13.1 데이터베이스(DB)란?

데이터베이스(Database, DB)는 데이터를 체계적으로 저장하고 관리하는 시스템입니다. 우리가 사용하는 대부분의 프로그램은 데이터를 데이터베이스에 저장합니다.

예를 들어,

  • 회원 정보
  • 상품 정보
  • 주문 내역
  • 게시글
  • 학생 성적

이러한 데이터를 데이터베이스에 저장하여 필요할 때 빠르게 조회하고 수정할 수 있습니다.

데이터베이스를 사용하는 이유

데이터를 단순히 파일(TXT, CSV)에 저장할 수도 있지만, 데이터가 많아질수록 관리가 어려워집니다. 데이터베이스를 사용하면 다음과 같은 장점이 있습니다.

  • 많은 데이터를 효율적으로 저장할 수 있다.
  • 원하는 데이터를 빠르게 검색할 수 있다.
  • 여러 사용자가 동시에 사용할 수 있다.
  • 데이터의 중복을 줄일 수 있다.
  • 데이터의 안전성을 높일 수 있다.
데이터베이스 활용 예
프로그램 저장되는 데이터
쇼핑몰 회원, 상품, 주문
은행 고객, 계좌, 거래내역
학교 학생, 교수, 성적
병원 환자, 진료기록
게시판 회원, 게시글, 댓글
13.2 RDBMS(Relational Database Management System)

RDBMS는 관계형 데이터베이스 관리 시스템을 의미합니다. 데이터는 테이블(Table) 형태로 저장되고 관리됩니다. 이는 가장 많이 사용하는 데이터베이스 시스템입니다.

대표적인 RDBMS
제품 특징
MySQL 가장 많이 사용하는 오픈소스 DB
MariaDB MySQL에서 발전한 오픈소스 DB
PostgreSQL 기능이 풍부하고 안정성이 높음
Oracle Database 대기업 및 공공기관에서 많이 사용
Microsoft SQL Server Microsoft에서 개발한 DB
테이블(Table)

관계형 데이터베이스는 데이터를 표 형태로 저장합니다. 예를 들어, 회원 테이블(Members)은 다음과 같습니다.

회원 테이블(Members)
회원번호   이름    나이
1         홍길동   20
2         김철수   25
3         이영희   22

테이블은 엑셀과 비슷한 형태로 데이터를 저장합니다.

행(Row)과 열(Column)

행(Row)은 한 개의 데이터(레코드)를 의미합니다. 예를 들어, 위의 회원번호 1, 이름 홍길동, 나이 20이 하나의 행(Row)입니다.

열(Column)은 데이터의 속성을 의미하며, 예를 들어 회원번호, 이름, 나이가 각각 하나의 컬럼(Column)입니다.

13.3 ERD(Entity Relationship Diagram)

ERD는 데이터베이스의 구조와 관계를 그림으로 표현한 설계도입니다. 프로그램을 개발하기 전에 데이터의 구조를 설계할 때 사용합니다.

ERD를 작성하면 다음과 같은 내용을 쉽게 이해할 수 있습니다.

  • 어떤 테이블이 필요한지
  • 테이블 간의 관계는 무엇인지
  • 어떤 데이터를 저장할 것인지
예제: 회원과 게시판의 관계

회원(Member)과 게시글(Board)의 관계는 다음과 같습니다.

회원과 게시판의 관계
회원(Member)
-------------------
회원번호
이름
아이디
비밀번호

        │
        │ 1 : N
        │

게시글(Board)
-------------------
게시글번호
회원번호
제목
내용
작성일

한 명의 회원은 여러 개의 게시글을 작성할 수 있습니다. 이를 1:N 관계(일대다 관계)라고 합니다.

ERD의 구성 요소

ERD는 다음과 같은 구성 요소로 이루어져 있습니다.

  • 엔티티(Entity): 저장해야 하는 대상 (예: 회원, 게시글, 상품, 주문)
  • 속성(Attribute): 엔티티가 가지고 있는 데이터 (예: 회원번호, 이름, 이메일)
  • 관계(Relationship): 엔티티와 엔티티 사이의 연결 관계 (예: 회원 → 게시글)
13.4 기본키(PK : Primary Key)

기본키는 각 데이터를 구별하는 유일한 값입니다. 같은 값이 존재할 수 없습니다. 예를 들어, 회원번호는 모두 달라야 합니다.

회원 테이블
회원번호(PK)  이름
1              홍길동
2              김철수
3              이영희

회원번호는 절대 중복될 수 없습니다.

기본키의 특징
  • 중복될 수 없다.
  • NULL 값을 가질 수 없다.
  • 데이터를 대표하는 값이다.
  • 하나의 테이블에는 일반적으로 하나의 기본키를 가진다.
기본키 예
학생 테이블
학번(PK)   이름
2026001     홍길동
2026002     김철수

학번이 기본키입니다.

13.5 외래키(FK : Foreign Key)

외래키는 다른 테이블의 기본키를 참조하는 컬럼입니다. 테이블과 테이블을 연결하는 역할을 합니다.

회원과 게시글
회원 테이블
회원번호(PK)  이름
1              홍길동
2              김철수
게시글 테이블
게시글번호(PK)  회원번호(FK)  제목
1                 1              첫 번째 글
2                 1              두 번째 글
3                 2              안녕하세요

게시글의 회원번호는 회원 테이블의 회원번호를 참조합니다.

관계 이해

회원 한 명은 게시글을 여러 개 작성할 수 있습니다.

13.6 PK와 FK 관계

예를 들어, 회원과 주문 테이블이 있습니다.

회원 테이블
회원번호(PK)  이름
1              홍길동
2              김철수
주문 테이블
주문번호(PK)  회원번호(FK)  상품명
1001           1              노트북
1002           1              마우스
1003           2              키보드

회원번호가 두 테이블을 연결합니다.

13.7 관계(Relationship)

ERD에서 가장 많이 사용하는 관계는 다음과 같습니다.

① 1 : 1 관계

한 명과 한 개가 연결됩니다. 예를 들어, 사람 ↔ 주민등록증입니다.

② 1 : N 관계

가장 많이 사용하는 관계입니다. 예를 들어, 회원 → 게시글, 회원 → 주문, 부서 → 직원입니다.

③ N : M 관계

서로 여러 개를 가질 수 있는 관계입니다. 예를 들어, 학생 ↔ 과목입니다.

학생 여러 명이 하나의 과목을 수강할 수 있고, 하나의 과목도 여러 학생이 수강할 수 있습니다.

실제 데이터베이스에서는 중간 테이블을 만들어 관리합니다.

13.8 복합 예제
쇼핑몰 데이터베이스

쇼핑몰 데이터베이스는 다음과 같은 구조로 이루어져 있습니다.

회원 테이블
회원번호(PK)
이름
이메일
상품 테이블
상품번호(PK)
상품명
가격
주문 테이블
주문번호(PK)
회원번호(FK)
상품번호(FK)
주문일
관계

회원 1 ------ N 주문 N ------ 1 상품

한 명의 회원은 여러 개의 주문을 할 수 있으며, 하나의 상품도 여러 회원이 주문할 수 있습니다.

laptop computer on glass-top table
📌 Chapter 13 핵심 정리
  • 데이터베이스는 데이터를 체계적으로 저장하고 관리하는 시스템이다.
  • RDBMS는 관계형 데이터베이스 관리 시스템으로, 데이터를 테이블 형태로 저장한다.
  • 기본키(PK)는 각 데이터를 구별하는 유일한 값이며, 외래키(FK)는 다른 테이블의 기본키를 참조한다.
  • ERD는 데이터베이스의 구조와 관계를 시각적으로 표현한 설계도이다.
  • 관계형 데이터베이스의 주요 관계에는 1:1, 1:N, N:M 관계가 있다.

프로그램·홈페이지·강의가 필요하신가요?

프로그램 판매, 무료 다운로드, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기