CS Study/Database(DB)

[DB] [2.5] Relational Query Languages

23학번이수현 2025. 3. 18. 00:44

1. Introduction

- Query Language는 사용자가 DB에서 정보를 요청하는 언어라고 볼 수 있다.

- 이러한 언어는 일반적인 프로그래밍 언어보다 더 높은 수준에서 작동된다.

- Query Language는 imperative(명령형), functional(함수형), declarative(선언형)로 분류할 수 있다.

 

2. Imperative Query Language

- 사용자가 특정 연산의 순서를 지시하여 원하는 결과를 얻도록 한다.

- 이러한 언어는 state variables 개념을 가지며, 연산을 수행하는 동안 상태가 업데이트 된다.

 

3. Functional Query Language

- 함수의 evaluation을 통해 계산을 표현한다.

- 함수는 DB 내 데이터나 다른 함수의 결과에 대해 작동하게 된다.

- 함수는 side-effects(부작용)이 없으며, 프로그램 상태를 변경하지 않는다.

 

4. Declarative Query Language

- 사용자가 원하는 정보를 기술하지만, 그 정보를 어떻게 얻을지는 지시하지 않는다.

- 일반적으로 수학적 논리를 사용하여 데이터를 설명한다.

- DB System이 내부적으로 최적화하여 결과를 가져오게 된다.