데이터베이스 기초

하윤·2025년 11월 2일

CS

목록 보기
7/10

데이터베이스(Database, DB)

데이터베이스는 특정 조직이나 사용자들이 공유하고 사용할 목적으로 통합하여 저장하고 운영하는 관련된 데이터들의 집합

쉽게 말해, 수많은 데이터를 체계적으로 모아놓고 효율적으로 관리하며 필요할 때 빠르게 찾아 쓸 수 있도록 구조화된 저장소라고 할 수 있다. 데이터의 중복을 최소화하고, 일관성무결성을 유지하는 것이 중요하다. 이 데이터베이스를 관리하는 시스템을 데이터베이스 관리 시스템(DBMS)이라고 부른다.

관계형 DB (RDBMS)

관계형 데이터베이스(Relational Database, RDB)는 현재 가장 널리 사용되는 데이터베이스 모델

  • 정의: 데이터를 테이블(Table) 또는 릴레이션(Relation)이라는 2차원 구조로 구성하고, 이 테이블들 간의 관계를 정의하여 데이터를 저장하고 관리한다.
  • 구조: 테이블은 행(Row, 레코드/튜플)과 열(Column, 속성/필드)로 이루어져 있다.
    • 행(Row): 하나의 엔티티(개체)에 대한 구체적인 데이터 묶음 (예: 한 명의 고객 정보 전체)
    • 열(Column): 데이터가 가지는 특정 속성 (예: 고객 이름, 주소, 전화번호)
  • RDBMS (Relational Database Management System): 관계형 데이터베이스를 생성, 관리하고 사용자 요청에 따라 데이터를 제공하는 소프트웨어 시스템 (예: MySQL, Oracle, PostgreSQL, MS-SQL).
  • 특징:
    • 정형성: 데이터 구조(스키마)가 명확하게 정의되어 있다.
    • 데이터 무결성: 데이터의 정확성 및 일관성을 보장한다.
    • ACID 원칙 준수: 트랜잭션의 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 영속성(Durability)을 보장한다.

SQL 기본 (DDL, DML, DCL)

SQL(Structured Query Language)은 관계형 데이터베이스와 상호작용하기 위해 사용되는 표준 언어로 SQL 명령어는 기능에 따라 크게 DDL, DML, DCL로 나눌 수 있다.

구분전체 명칭역할주요 명령어
DDL데이터 정의어 (Data Definition Language)데이터베이스 구조나 객체(테이블 등)를 정의, 수정, 삭제하는 명령어.CREATE (생성), ALTER (변경), DROP (삭제), TRUNCATE (데이터 완전 삭제)
DML데이터 조작어 (Data Manipulation Language)테이블 내의 데이터를 검색, 삽입, 수정, 삭제하는 명령어.SELECT (조회), INSERT (삽입), UPDATE (수정), DELETE (삭제)
DCL데이터 제어어 (Data Control Language)데이터에 대한 접근 권한 및 보안을 제어하는 명령어.GRANT (권한 부여), REVOKE (권한 회수)

키(key), 인덱스(index) 개념

키 (Key)

는 테이블에서 특정 행(Row)을 고유하게 식별하거나, 다른 테이블과의 관계를 설정하는 데 사용되는 하나 또는 여러 개의 열(Column) 집합.

키 종류역할설명
슈퍼 키 (Super Key)튜플(행)을 유일하게 식별할 수 있는 속성(열)들의 집합가장 광범위한 키
후보 키 (Candidate Key)튜플을 유일하게 식별할 수 있는 최소한의 속성 집합. 슈퍼 키 중에서 최소성을 만족하는 키.기본 키가 될 수 있는 후보들
기본 키 (Primary Key, PK)후보 키 중 선택되어 테이블의 각 행을 유일하게 식별하는 키. NULL 값을 허용하지 않으며 중복될 수 없다.테이블의 대표 식별자
대체 키 (Alternate Key)후보 키 중 기본 키로 선택되지 않은 나머지 키들
외래 키 (Foreign Key, FK)다른 테이블의 기본 키를 참조하는 속성. 두 테이블 간의 관계를 연결하는 역할.데이터의 무결성 보장에 기여

인덱스 (Index)

인덱스는 데이터베이스에서 원하는 데이터를 더 빠르게 검색할 수 있도록 돕는 색인(목차)과 같은 역할을 하는 자료 구조.

  • 원리: 책의 목차색인처럼, 특정 컬럼의 값과 그 데이터가 저장된 물리적 주소를 별도로 저장하고 관리한다.
  • 효과: 데이터 검색 시 테이블 전체를 처음부터 끝까지 읽는 '풀 테이블 스캔'을 방지하고, 인덱스를 이용해 필요한 데이터가 있는 위치로 바로 이동하여 검색 속도를 크게 향상시킨다.
  • 단점: 데이터 삽입, 수정, 삭제(DML 작업)가 발생하면 인덱스도 함께 갱신해야 하므로 성능 저하가 발생할 수 있으며, 추가적인 저장 공간이 필요하다. 따라서 꼭 필요한 컬럼에만 신중하게 생성해야 한다.
profile
코린씨

5개의 댓글

comment-user-thumbnail
2025년 11월 3일

RDBMSㅇ의특징을 나열해주셔서 좋았고 그림과 표 덕분에 이해하기도 쉬웠어요

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

표로 내용이 다 정리되어 있어서 한눈에 비교하기 좋았어요!

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

항상 그림을 넣어주시네요ㅎㅎ 잘 봤습니다!

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

표로 다 정리되어 있어서 비교하기 좋았어요 감사합니다~

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

키에 대한 설명이 자세해서 좋았습니다!

답글 달기