데이터베이스 개요

SIHA·2026년 1월 24일

CS복습_DB

목록 보기
1/5

데이터베이스

체계적으로 정리된 데이터의 집합으로, 여러 사용자가 데이터를 효율적으로 저장, 검새, 수정, 삭제할 수 있도록 관리하는 시스템
일반적으로 데이터베이스는 데이터베이스 관리 시스템(DBMS)을 통해 데이터를 운영하며, 데이터의 무결성과 일관성을 유지하도록 설계됨

데이터 VS 정보
데이터: 가공되지 않은 원시 값
정보: 데이터를 가공하여 의미를 부여한 것

특성

  • 실시간 접근성
    언제든지 데이터를 저장하고 조회할 수 있음
  • 동시성 (Concurrency)
    여러 사용자가 동시에 같은 데이터를 읽고 쓸 수 있음
  • 일관성 (Consistency)
    데이터가 항상 올바른 상태를 유지해야 함
  • 무결성 (Integrity)
    데이터가 규칙에 맞게 저장되도록 보장
  • 데이터 중복 최소화
    데이터를 효율적으로 저장하고 중복을 방지
  • 보안성
    허가된 사용자만 데이터에 접근 가능
  • 독립성
    데이터와 프로그램이 분리되어 있음 -> 데이터를 변경해도 프로그램 수정 없이 사용 가능

DBMS

Database Management System
데이터베이스를 효과적으로 관리하기 위해 필요
데이터를 저장, 수정, 검색, 삭제하는 기능을 제공하는 소프트웨어
MySQL, 오라클 등

기능

  • 데이터 저장 및 관리 -> 데이터를 구조화된 형태로 저장
  • 데이터 검색 및 수정 -> SQL을 사용해 데이터를 빠르게 검색하고 변경 가능
  • 동시성 제어 -> 여러 사용자가 같은 데이터를 동시에 사용 가능
  • 보안 관리 -> 사용자 권한을 설정하여 데이터를 접근을 제한
  • 백업 및 복구 -> 장애 발생 시 데이터 손실 없이 복구 가능

언어 4종류

  • DML (데이터 조작어)
    SELECT, INSERT, UPDATE, DELETE
    데이터를 검색하고 추가, 수정, 삭제하는 명령어
    자주 사용하는 SQL

  • DDL (데이터 정의어)
    CREATE, ALTER, DROP
    테이블, 인덱스 등을 생성하거나 수정할 때 사용
    초기 DB 설계 시 많이 사용되며, 운영 중에는 가끔 사용됨

  • DCL (데이터 제어어)
    GRANT, REVOKE
    DB 관리자(DBA)가 보안 관리를 위해 사용
    일반 개발자는 사용할 일이 거의 없음

  • TCL (트랜재션 제어어)
    COMMIT, ROLLBACK, SAVEPOINT
    여러 개의 데이터 변경 작업을 하나의 트랜잭션으로 묶을 때 사용
    특히 금융, 쇼핑몰 결제 시스템 등에서는 필수

RDBMS

관계형 데이터베이스 관리 시스템(Relational DBMS)
데이터를 테이블 형태로 저장하고, 테이블 간의 관계를 이용하여 데이터를 관리하는 데이터베이스 시스템
SQL 사용 -> 데이터를 조회, 추가, 수정, 삭제
관계 기반 -> 테이블 간 연결을 통해 중복 최소화
MySQL, PostgreSQL, Oracle, SQL Server 등이 대표적

테이블의 관계는 일대일(1:1), 일대다(1:N), 다대일(N:1), 다대다(N:M)이 있다.

데이터베이스 모델링

실제 DB를 만들기 전에 구조를 설계하는 과정으로, 3단곌 진행

1단계 - 개념적 모델링
: 무엇을 저장할지 정리하는 단계
데이터 구조를 간단한 개념으로 표현 >> 개체(Entity), 관계(Relationship)
ERD(Entity-Relationship diagram)가 많이 사용됨

2단계 - 논리적 모델링
: 개념적 모델링을 기반으로 릴레이션 스키마 형태로 구체화
테이블, 속성(컬럼), 관계(PK, FK) 설정
데이터 정규화 적용

3단계 - 물리적 모델링
논리적 모델을 실제 데이터베이스에 적용하는 단계
DBMS에 맞는 데이터 타입, 인덱스, 제약 조건 설정

profile
뭐라도 해보자

0개의 댓글