러닝 SQL - (1)배경

김동환·2021년 5월 12일
0

관계형 데이터베이스

  • 1970년 IBM 연구소의 에드거 프랭크 커드 박사의 'A Relational Model of Data for Large Shared Data Banks'라는 논문에서 제시
  • 데이터를 테이블 집합으로 나타내는 것을 제안
  • 기존의 포인터를 사용하여 관련 entity를 탐색하는 방법이 아닌 중복 데이터를 사용하여 서로 다른 테이블의 레코드를 연결하는 방식

여기서 중복 데이터는 외래 키처럼 테이블들을 연결하기 위해 여러 테이블에서 중복적으로 사용되는 데이터를 이야기합니다.

SQL

  • 커드 박사가 제안한 관계형 테이블의 데이터를 조작하는 DSL/Alpha라는 언어가 시초
  • 이후 단순화된 SQUARE 언어가 세분화 되면서 SEQUEL이 등장했고 이를 짧게 SQL이라고 부르게 됨
  • SQL 쿼리의 결과는 테이블이므로 SQL은 관계형 모델과 밀접한 관련이 있음
  • 비절차적 언어로 실제 명령문 실행은 옵티마이저라는 데이터베이스 엔진의 구성요소에게 일임되어 직접 제어하지 않음

SQL이 'Structured Query Language'의 약자가 아니라고 합니다.

SQL 문 클래스

종류설명예시
SQL 스키마 문데이터베이스에 저장된 데이터 구조를 정의할 때 사용CREATE TABLE
SQL 데이터 문SQL 스키마 문으로 정의한 데이터 구조를 조작할 때 사용INSERT INTO
SQL 트랜잭션 문트랜잭션의 시작과 종료 및 롤백에 사용

SQL 스키마 문을 통해 작성된 모든 데이터베이스 요소는 data dictionary라는 특수한 테이블셋에 저장되며, 이를 통칭 메타데이터라고 합니다.


참고

이 글 및 이와 관련된 앞으로의 글의 모든 내용은 한빛미디어의 러닝 SQL의 내용을 공부하며 요약한 것입니다.

profile
개발을 통해 다양한 세상을 경험하는 것을 즐기는 개발자입니다.

0개의 댓글