Computer Science/DB

[DB] SQL의 개념

웅지니어링 2021. 9. 10. 22:44

* SQL이란 ?

- 데이터베이스에 접근하여 데이터를 다루기 위한 전용언어를 구조화된 질의 언어(SQL)라고 한다.

- 데이터베이스 관리 시스템 중 가장 많이 사용되는 관계형 데이터베이스 관리 시스템(RDBMS)과 소통할 수 있는 대부분의 수단은 SQL이다.

- 사용자는 SQL을 RDBMS에 보내고, RDBMS는 사용자가 보낸 SQL을 해석하여 데이터베이스에서 데이터를 가져오거나 조작한다.

 

* SQL의 특징

- DBMS 전용 언어 : 단순히 정보를 얻는 질의(SQL)뿐만 아니라 데이터베이스의 데이터를 정의하고, 조작하고 제어하는 RDBMS의 기능도 한다.

- 타 프로그래밍 언어와의 차이 : 호스트 프로그래밍 언어들은 사용자들이 데이터가 어떤 방식으로 연산되고 처리되어 결과값이 나와야 하는지에 대해서 일일이 설정해줘야 하는 '절차적 언어' 이다. 하지만 SQL은 원하는 결과만 입력하면 RDBMS가 알아서 결과값을 내주므로, 절차를 사용자가 신경쓸 필요가 없는 '비절차적 언어' 이다.

- 표준 SQL : 미국국가표준협회(ANSI)에서 최초로 SQL을 표준화하면서 'SQL-86' 이라는 표준 SQL이 등장했다. 그 후 여러 번의 개정을 거쳐 현재는 국제 표준화 기구(ISO)에서 표준화를 주도하고 있다.

 

* SQL의 유형

- 데이터 정의어(DDL) : 데이터베이스 객체 중 하나인 테이블뿐만 아니라 뷰, 인덱스, 함수 등 다른 데이터베이스 객체들의 정의, 변경, 제거 등 객체 관리에 사용하는 SQL을 DDL이라고 한다. 대표적인 명령어로 CREATE, ALTER, DROP, RENAME, TRUNCATE(테이블 내 데이터 삭제, 복구 불가능) 등이 있다.

- 데이터 조작어(DML) : 테이블 내의 데이터를 갱신, 삭제, 새로운 데이터를 추가, 저장하는 등 데이터를 조작하는 SQL이다. 대표적인 명령어로는 SELECT, INSERT, DELETE, UPDATE 등이 있다.

- 데이터 제어어(DCL) : 데이터베이스에 접근하거나 권한을 부여하는 역할을 하는 SQL이다. 제어하는 역할이 필요한 이유는 데이터베이스의 데이터를 안전하게 보호하기 위해서이다. 대표적인 명령어로는 GRANT, REVOKE 등이 있다.

'Computer Science > DB' 카테고리의 다른 글

[DB] PostgreSQL 설치 및 환경 설정  (0) 2021.09.21
[DB] 데이터베이스의 개념  (0) 2021.09.10