CS Study/Database(DB)

[DB] [1.3] View of Data

23학번이수현 2025. 3. 16. 03:15

0. Reference

- Database System concepts 7th를 보고 정리했습니다.

 

1. Database System

- Database System이란 서로 연관된 데이터의 집합과 사용자가 이 데이터를 관리하는 프로그램들의 집합을 의미한다.

- Database System의 주요 목적 중 하나는 사용자에게 데이터에 대한 "abstract view"를 제공하는 것이다.

- 즉, 데이터베이스의 실제 복잡한 시스템은 숨기고, 사용자에게 단순하고 직관적이게 데이터를 관리할 수 있도록 제공한다.

 

2. Data Models

- Data Structure는 Data model에 의해 결정되게 된다.

- 여기서 Data model은 데이터를 표현하고, 데이터 간의 관계, consistency constraints를 기술하기 위한 도구들의 모음이다.

- 이러한 Data model의 종류는 다음과 같다.

"""

i) Relational model

ii) ER data model

iii) Entity-Relationship model

iv) Semi-structured Data model

v) Object-Based Data Model

vi) Network model

vii) Hierarchical model

"""

- 해당 책에선 대부분 Relational Model에 포커싱두고있다.

- 그 이유는, 대부분의 데이터베이스 애플리케이션들은 Relational Model에 기반을 두고 있기 때문이다.

 

3. Relational Data Model

- Data를 table형식으로 표현하는 것을 의미한다.

- 각 table은 columns과 rows를 가지고 있는데,

- columns은 feature, rows는 하나의 특정 정보를 의미한다.

 

4. Data Abstraction

- Database system이 효율적으로 동작하기 위해선, 데이터를 효율적으로 검색할 수 있어야 한다.

- 이러한 효율성을 위해 DB내의 데이터를 복잡한 데이터 구조로 표현한다.

- 다만, 많은 사용자들은 CS에 대해 자세히 알지 못하기 때문에, 이러한 복잡성을 data abstraction을 통해 숨기고,

- 사용자가 DB System과 쉽게 상호작용할 수 있도록 설계한다.

 

4.1. 3 step of data abstraction

- data abstraction은 3단계로 구성되어 있다.

 

step 1) : Physical Level

- 데이터가 실제로 어떻게 저장되는지 설명한다.

- 디스크에 데이터가 어떤 형태로 저장되는지, 어떤 인덱스나 포인터가 사용되는지 등 복잡하고 저수준의 데이터 구조를 기술한다.

 

step 2) : Logical Level

- 어떤 데이터가 저장되고, 그 데이터 들 간에 어떤 관계가 존재하는지를 설명하는 수준이다.

- DB 관리자는 DB에 어떤 정보를 저장할지 결정하기 위해 이 수준을 사용한다.

 

step 3) : View Level

- DB의 일부분만을 사용자에게 보여준다.

 

5. Instances and Schemas

- DB는 시간이 지나면서 데이터가 삽입되거나 삭제되며 변화한다.

- 이러한 DB의 상태를 표현하기 위해 Instance와 Schema라는 개념이 도입된다.

5.1. Instance

- Instance는 특정 시점에 DB에 저장된 정보의 집합을 의미한다.

 

5.2. Schema

- DB의 전체적인 설계 구조를 의미한다.

- DB가 어떻게 구성되어 있는지, 어떤 테이블이 있으며, 각 테이블에 어떤 attribute가 있는지 정의한다.

- 프로그램에서 변수 선언 및 타입 정의와 유사하다.

ex) instructor(ID, name, dept_name, salary)