Database

DATABASE #2. RELATIONAL DATABASE

Frisbeen 2025. 4. 27. 21:43

관계형 데이터베이스 핵심 개념 정리

관계형 데이터베이스(Relational Database)는 구조화된 데이터를 효율적으로 저장하고 검색하기 위해 널리 사용되는 모델입니다.

이 글에서는 관계형 모델의 핵심 용어부터 트랜잭션의 ACID 원칙까지, 핵심 개념들을 정리합니다.

 

 


1. 관계형 모델의 기본 용어 (Relational Model Terminology)

용어의미

Domain 하나의 속성이 가질 수 있는 값들의 집합. 예: 학번은 숫자 8자리
Attribute 릴레이션의 열(Column). 속성. 기본적으로 NULL 포함 가능
Tuple 릴레이션의 행(Row). 한 명의 학생 정보 등
Relation 튜플들의 집합. 즉, 하나의 테이블
Database 여러 릴레이션(테이블)들의 집합

2. 스키마와 인스턴스

  • Schema (스키마)
    데이터베이스의 논리적 구조를 의미합니다. 테이블 이름, 속성 이름, 타입 등 정적 정보로 구성되며, 정의의 역할을 합니다.
  • Instance (인스턴스)
    데이터베이스에 실제로 저장된 데이터의 상태, 즉 특정 시점의 데이터 스냅샷입니다. 시간에 따라 바뀔 수 있습니다.

3. 키 (Key)의 개념

키는 튜플을 식별하기 위해 사용되는 속성들의 집합입니다.

Super Key

  • 튜플을 유일하게 식별할 수 있는 속성들의 집합
  • 단, 불필요한 속성이 포함될 수 있음
  • 예: {학번, 이름}, {학번}, {학번, 주번, 이름} 등

Candidate Key

  • Super Key 중 최소 집합
  • 어느 하나의 속성이라도 빠지면 유일성이 보장되지 않음

Primary Key

  • 후보 키(Candidate Key) 중 대표로 선택된 키
  • 절대 NULL을 허용하지 않음
  • → Entity Integrity (개체 무결성) 보장

Foreign Key

  • 다른 릴레이션의 Primary Key를 참조하는 속성
  • → Referential Integrity (참조 무결성) 보장
    • 존재하지 않는 값을 참조할 수 없음
    • 참조된 튜플을 삭제하거나 변경 시 제약 발생

4. 개체-관계 모델 (Entity-Relationship Model)

ER 모델은 데이터베이스 설계 초기 단계에서 시스템의 개념적 구조를 시각화하는 데 사용됩니다.

ERD(ER Diagram) 표기법

기호 의미
네모 Entity (객체)
동그라미 Attribute (속성)
마름모 Relationship (관계)

5. 데이터베이스 언어 (DB Language)

분류 설명
DDL (Data Definition Language) 테이블, 속성, 제약조건 등 데이터 구조 정의
DML (Data Manipulation Language) 데이터를 조회/삽입/수정/삭제
DCL (Data Control Language) 권한 제어, 무결성 제어 등 보안 및 제약 관리

SQL은 DDL, DML, DCL 모두 포함합니다. → TRUE


6. 절차적 언어 vs 선언적 언어

분류 설명
절차적 (Procedural) "어떻게 처리할 것인지"를 명시
선언적 (Non-Procedural) "무엇을 원하는지"만 명시
  • 관계대수(Relational Algebra): 절차적
  • SQL: 선언적 (Declarative)

7. 트랜잭션 (Transaction)과 ACID

트랜잭션은 하나의 논리적인 작업 단위입니다. 은행 송금, 쇼핑몰 주문 처리 등은 하나의 트랜잭션으로 다뤄져야 합니다.

ACID 원칙

항목 설명
Atomicity (원자성) 모든 작업이 완전하게 수행되거나 전혀 수행되지 않아야 함
Consistency (일관성) 트랜잭션 전후에 데이터의 제약조건이 항상 만족되어야 함
Isolation (고립성) 여러 트랜잭션이 동시에 실행될 경우에도, 서로 간섭하지 않음
Durability (지속성) 일단 커밋된 트랜잭션은 시스템 장애가 나도 유지됨

마무리

이러한 개념들은 관계형 데이터베이스의 설계, 구현, 운용의 기초를 이루는 핵심들입니다. 단순한 테이블 이상으로, 무결성과 일관성, 동시성 제어를 위해 데이터베이스는 정교하게 구성됩니다. 관계형 모델은 이러한 복잡함을 이론적으로 잘 다듬은 프레임워크이며, 이를 이해하는 것은 효과적인 데이터베이스 설계를 위한 필수 요소입니다.

'Database' 카테고리의 다른 글

DATABASE #6. SETTING SQL DEVELOPER at MAC  (0) 2025.04.28
DATABASE #5. TO SQL  (0) 2025.04.28
DATABASE #4. Relational Algebra 2  (0) 2025.04.27
DATABASE #3. Relation Algebra  (0) 2025.04.27
DATABASE #1. WHY DB?  (0) 2025.04.27