Database

DATABASE #1. WHY DB?

Frisbeen 2025. 4. 27. 20:41

 

데이터베이스를 왜 알아야하는가?

1. 파일 시스템의 구조적 한계

파일 시스템은 전통적인 데이터 저장 방식이지만, 다음과 같은 여러 가지 구조적 문제를 가지고 있습니다.

①    중복 저장 및 불일치 문제 (Redundancy and Inconsistency)

동일한 데이터가 여러 파일에 중복 저장되면서, 한쪽만 수정될 경우 불일치가 발생할 수 있습니다.

  • ➜ 저장 공간 낭비
  • ➜ 데이터 신뢰성 저하

②    데이터 접근의 비효율성 (Accessing Data)

파일별로 접근 방식이 고정되어 있어, 복잡한 질의나 분석이 비효율적입니다.

  • ➜ 다양한 검색, 조합 어려움
  • ➜ 수작업 필요 증가

③    데이터 종속성 (Data Dependency)

애플리케이션이 파일 포맷과 저장 방식에 직접 의존하기 때문에, 포맷 변경 시 코드 수정이 불가피합니다.

  • ➜ 유지보수 어려움
  • ➜ 유연성 저하

④    데이터 격리 (Data Isolation)

여러 파일에 흩어진 데이터를 통합 조회하거나 수정하기가 어렵습니다.

  • ➜ 데이터 통합/관리 어려움
  • ➜ 동시 수정 시 충돌 가능성

⑤    무결성 제약 부재 (Integrity Problem)

데이터의 형식이나 제약조건(예: 나이는 양수여야 함)을 시스템적으로 강제할 수 없습니다.

  • ➜ 오류 발생 가능성 증가

⑥    원자성 결여 (Atomicity Problem)

작업 도중 오류가 발생해도 전체 작업을 되돌릴 수 있는 트랜잭션 관리가 없습니다.

  • ➜ 데이터 일관성 위협

⑦    동시 접근 문제 (Concurrent Access)

여러 사용자가 동시에 파일을 수정할 경우 충돌 및 데이터 손상이 발생할 수 있습니다.

  • ➜ 동기화 메커니즘 부족

2. 데이터 독립성 (Data Independence)

데이터베이스는 파일 시스템의 한계를 극복하기 위해, 3계층 아키텍처를 통해 데이터 독립성을 제공합니다.

Physical Level (물리적 수준)

  • 데이터가 실제로 하드디스크, SSD 등에 저장되는 방식 정의
  • 물리적 독립성: 저장 포맷 변경에도 논리적 구조는 변경되지 않음

Logical Level (논리적 수준)

  • 테이블, 관계, 제약조건 등 데이터베이스 스키마 정의
  • 논리적 독립성: 스키마 변경에도 사용자 인터페이스(View)는 영향 없음

View Level (뷰 수준)

  • 사용자별로 맞춤화된 데이터 뷰 제공
  • 보안 및 편의성을 위한 다양한 뷰 구성 가능

✨ 예시

  • 회계팀은 고객 결제 정보만
  • 마케팅팀은 고객 이름과 구매 내역만

 다음 글: [#2. RELATIONAL DATABASE]