Data Models
- Relational model
- Entity-Relationshilp data model
- Object-based data models
- Semi-structured data model
데이터 모델은 크게 네가지로 나눌 수 있다. 오늘은 소개글이니 간단한 구조 설명만 할 예정이다.
Realtion model 은 column과 row가 있는 table이라고 생각하면 된다.
View of Data

Data Base의 architecture라고 할 수 있겠다. db의 최종적인 목표는 데이터 추상화다.
데이터 추상화는 복잡한 데이터를 사용자가 이해할 수 있게 돕는 장치이다.
- View Level: db의 극히 일부만 저장하고 있다. 최종적으로 보여지는 단계이므로 알짜배기만 있다고 생각하면 된다. 따라서 내가 db안에 보고 싶은 정보에 따라서 보여지는게 달라야 하므로 view level은 여러개 있을 수 있다.
- Logical Level: 데이터들 사이에 관계를 저장하고 있다. physical level에 비해서는 비교적 간단한 구조를 이용하고 있다. 모든 데이터를 가지고 있는 것이 아니라 이들의 관계만 정리 한것이라 당연한 말이다.
- Physical Level: db안에 데이터가 모두 저장되어 있어 meta data라고 생각하면 된다.
Instances and Schemas
- instance: 특정 순간에 db에 저장된 정보들의 모임
- schema: db의 전반적인 구조
- physical schema: physical-leval에서의 데이터를 다룬다.
- logical schema: logical-level에서의 데이터를 다룬다.
logical schema는 관계에 관한 정보이기 때문에 logical schema가 변경되면 physical schema는 따로 변경할 필요가 없는 Physical data independence를 가진다.
Data Base Language
- DDL(Data Definition Language): db를 기술
- DML(Data Manipulation language): db 질의 및 갱신을 표현
Query
db에서 정보를 요청하거나 검색하기 위해 사용되는 명령어나 질의 집합이다.
이는 sql을 통해 작성된다.
query process

- DDL interpreter: DDL문을 해독하고 data dictionary에 데이터 저장
- DML compiler: query 내의 DML 문을 evaluation이 이해할 수 있게 바꾼다.
- Evaluation: DML 컴파일러가 생성한 명령 실행