사용자 혹은 개발자가 RDB를 조작할때 SQL 구문을 사용하며, 이후 SQL 구문을 읽은 RDBMS가 해당 구문을 처리하고 결과를 반환합니다. 이는 RDBMS에게 SQL 구문을 위탁하고 결과를 얻는다고 해당 결과를 얻게 됩니다.
일반적으로 C, JAVA와 같은 프로그래밍 언어는 개발자 혹은 사용자가 데이터에 접근하기 위한 절차(How)를 책임지고 기술하지만, RDB는 사용자가 아닌 RDBMS라는 시스템에게 SQL 구문을 받기는 비절차적인 방법을 의미하며 개발자 혹은 사용자는 SQL 구문을 기술 하는 것(What)으로 구분할 수 있습니다.
이렇게 RDBMS에게 SQL 구문의 처리와 결과를 위탁하는 일은 비즈니스 생산성 향상함과 함께, 사용자 혹은 개발자는 SQL 사용에게 집중하게 한다는 장점을 가지고 있습니다.
그러나 보다 RDBMS을 잘 사용하기 위해서는 DB의 내부를 파악하는 것 역시 중요하게 여겨집니다.
RDB에서 데이터 접근 절차를 결정하는 모듈을 쿼리 평가 엔진이라고 부릅니다.
쿼리 평가 엔진은 사용자로부터 입력받은 SQL구문(쿼리)를 처음 읽어들이는 모듈이며, 파서 또는 옵티마이저와 같은 여러 개의 서브 모듈로 구성됩니다.
이를 그림과 같이 나타내자면 다음과 같습니다.
파서(parser
)
파서의 역할은 사용자로부터 입력받은 SQL 구문이 항상 구문적으로 올바르다는 보증이 없으므로 SQL구문을 검사 해주는 것입니다.