Levels of Abstraction
Levels of Abstraction#
1. Physical Level:
어떤 수준인가? 데이터베이스의 가장 낮은 추상화 단계. 이 단계에서는 데이터가 실제로 어떻게 저장되는지에 초점을 맞춤. 즉 컴퓨터의 하드디스크나 메모리 같은 물리적인 저장 장치에서 데이터가 어떻게 관리되는지를 다룸
주요 특징
- 데이터가 파일 형태로 어떻게 조직되는지, 어떤 index를 사용하는지, 데이터를 압축하는 방법 등을 결정함
- ex) 학생 정보 라는 데이터가 하드디스크의 특정 위치에 파일로 저장되고, 빠른 검색을 위해 index가 설정되어 있다
누가 다룸? Database Administrator(DBA)나 시스템 엔지니어가 다룸. 일반 사용자는 이 복잡한 물리적 세부사항을 알 필요가 없음
비유 도서관에서 책이 실제로 어떤 선반, 어떤 상자에 있는지 관리하는 것. 책을 읽는 사람은 몰라도 됨
2. Logical Level
어떤 수준인가? 데이터가 무엇인지, 그리고 데이터들 사이의 관계가 어떻게 되는지를 설명함. 물리적인 저장 방식은 신경쓰지 않고, 데이터의 구조와 의미에 집중함
주요 특징
- table column, row 같은 간단한 구조로 데이터를 표현
- ex) “학생” 테이블에 이름, 학번, 전공 같은 column이 있고, “수업” 테이블과 연결되어 있다고 정의할 수 있음
- 물리적 수준의 세부 사항 (어떤 파일에 저장되는지)은 숨겨져 있음. 이를 Physical Data Independence라고 함. 즉, 저장 방식이 바뀌어도 논리적 수준에는 영향을 주지 않음
누가 다룸? 데이터베이스 설계자나 개발자가 주로 이 수준에서 작업함. 사용자는 여전히 복잡한 기술적 세부 사항을 몰라도 됨
비유 도서관에서 책의 목록을 작성하고, 어떤 책이 어떤 주제와 관련 있는지를 정리하는 것. 책이 실제로 어디에 있는지는 신경쓰지 않고, 책의 내용과 구조만 다룸
3. View Level
어떤 수준인가? 사용자가 데이터를 어떻게 보는지에 초점을 맞춤. 전체 DB중에서 사용자에게 필요한 부분만 보여주고, 원하는 방식으로 데이터를 표현함
주요 특징
- 모든 사용자가 같은 데이터를 다르게 볼 수 있음. 예를 들어 학생은 자신의 성적만 볼 수 있고, 교수는 전체 학생의 성적을 볼 수 있음
- 특정 열이나 요약된 데이터만 보여줄 수도 있음
- 논리적 수준이 바뀌어도 뷰 수준에 영향을 주지 않는 Logical Data Independence을 제공함
누가 다룸? 일반 사용자나 응용 프로그램이 주로 다룸. 사용자는 복잡한 데이터 구조를 알 필요 없이 자신에게 필요한 정보만 쉽게 볼 수 있음
비유 도서관에서 학생은 내가 빌린 책 목록만 보고 사서는 모든 대출 기록을 볼 수 있는 것과 비슷함. 같은 데이터지만 각자의 필요에 맞게 봄
출처: Database System Concept - 1.3 Data View