데이터베이스 최종 수정일 2026-06-19 15:01 조회수 18
대시보드

데이터베이스

기본 정보

  • 명칭: 데이터베이스
  • 영문명: Database (DB)
  • 약칭: DB
  • 분류: 데이터 저장 및 관리 시스템
  • 주요 용도: 데이터 저장, 조회, 수정, 삭제
  • 관련 주제: #데이터베이스 #DB #DBMS #SQL #백엔드

개요

데이터베이스(Database)는 데이터를 체계적으로 저장하고 관리하기 위한 저장소이다.

웹사이트, 모바일 앱, ERP, 쇼핑몰, 게임 서버 등 대부분의 정보 시스템은 데이터베이스를 사용하여 회원 정보, 게시글, 주문 내역, 재고 정보 등을 저장하고 관리한다.

데이터베이스는 단순한 저장소를 넘어 검색, 수정, 삭제, 백업, 보안, 동시성 관리 등의 기능을 제공한다.


데이터베이스 구조

Database

↓

Table

↓

Row (Record)

↓

Column (Field)

↓

Data

기본 구성

Database

여러 개의 테이블을 포함하는 가장 큰 단위이다.

예시

쇼핑몰 DB

회원 DB

ERP DB

Table

같은 성격의 데이터를 저장하는 공간이다.

예시

member

board

order

product

Row (레코드)

한 개의 데이터 행을 의미한다.

예시

idname
1홍길동

Column (컬럼)

데이터의 속성을 의미한다.

예시

| id | name | age |


CRUD

데이터베이스의 기본 기능

기능설명
Create데이터 생성
Read데이터 조회
Update데이터 수정
Delete데이터 삭제

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

데이터를 테이블 간 관계(Relation)로 관리하는 방식이다.

대표 제품


NoSQL 데이터베이스

테이블 구조가 아닌 다양한 형태로 데이터를 저장한다.

대표 제품


SQL

관계형 데이터베이스에서 사용하는 표준 언어이다.

조회

SELECT *

FROM member;

추가

INSERT INTO member(name)

VALUES('홍길동');

수정

UPDATE member

SET name='김철수'

WHERE id=1;

삭제

DELETE

FROM member

WHERE id=1;

기본 키(Primary Key)

member_id

각 데이터를 고유하게 식별하는 값이다.


외래 키(Foreign Key)

order.user_id

↓

member.user_id

테이블 간 관계를 연결하는 역할을 한다.


인덱스(Index)

검색 속도를 높이기 위한 자료구조이다.

CREATE INDEX idx_name

ON member(name);

JOIN

여러 테이블을 연결하여 조회할 수 있다.

SELECT *

FROM member

JOIN point

ON member.id=point.id;

트랜잭션(Transaction)

여러 작업을 하나의 논리적 단위로 처리하는 기능이다.

START TRANSACTION;

COMMIT;

오류 발생 시

ROLLBACK;

을 사용하여 이전 상태로 되돌릴 수 있다.


정규화(Normalization)

데이터 중복을 최소화하고 무결성을 유지하기 위한 설계 기법이다.

목적

  • 중복 제거
  • 저장 공간 절약
  • 유지보수 향상
  • 데이터 일관성 확보

ERD(Entity Relationship Diagram)

데이터베이스 구조를 시각적으로 표현한 설계도이다.

Member

↓

Order

↓

Product

개발 전 ERD 설계가 일반적이다.


데이터베이스 설계 순서

요구사항 분석

↓

ERD 작성

↓

테이블 설계

↓

Primary Key 설정

↓

Foreign Key 설정

↓

Index 생성

↓

개발

↓

운영

대표 활용 분야

  • 회원관리
  • 게시판
  • 쇼핑몰
  • ERP
  • CRM
  • 게임 서버
  • 모바일 앱
  • 금융 시스템
  • 예약 시스템

관계형 DB와 NoSQL 비교

RDBMSNoSQL
테이블 구조문서·Key-Value 구조
SQL 사용SQL 미사용 또는 확장
관계 표현 강점확장성과 유연성 강점
데이터 무결성 우수대용량 분산 처리 강점
JOIN 지원대부분 JOIN 제한

장점

  • 데이터 체계적 관리
  • 빠른 검색
  • 동시 접근 지원
  • 백업 및 복구 기능
  • 데이터 무결성 유지
  • 권한 관리 가능

단점

  • 초기 설계 중요
  • 구조 변경 비용 발생
  • 대용량 처리 시 최적화 필요
  • 운영 및 관리 비용 발생

실무 메모

실무에서는 다음과 같은 방식이 권장된다.

  • Primary Key 반드시 지정
  • 필요한 컬럼에 Index 생성
  • SELECT * 사용 최소화
  • 정규화 우선 설계 후 필요 시 비정규화
  • 외래 키 관계 명확히 정의
  • Slow Query 점검
  • 정기 백업 수행
  • SQL Injection 방지
  • UTF-8(utf8mb4) 사용
  • ERD 문서 최신 상태 유지

데이터베이스와 함께 사용하는 기술


대표 관리 도구

  • DBeaver
  • MySQL Workbench
  • phpMyAdmin
  • HeidiSQL
  • Navicat
  • DataGrip

관련 문서


출처

  • Oracle Database Documentation
  • Database 관련 국제 표준 문서
  • 위키백과 「Database」