Learn business/Database

SQL 개요


SQL

SQLIBM 연구소에서 1974System R이라는 관계 DBMS 시제품을 연구할 때 개발된 언어이다.

SQL이 필요할까?

- 한글이나 영어와 같은 자연어는 너무 모호하기 때문에 복잡한 질의를 자연어로 표현하면 질의가 정확하게 표현되었는지 입증하기가 어렵다. 따라서 좀더 명확하고 구조적인 질의어가 필요했다. 그래서 SQL이 나왔는데 자연어에 가까운 구문을 사용해서 질의를 표현할 수 있다는 것이 장점이다.

- SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나이다.

- “만일 어떤 DBMSSQL을 사용하지 않는다면 그것은 관계 DBMS가 아니다.”란 말도 있다.

 

- 이전에 관계 데이터 모델사용자는 원하는 데이터(what)만 명시하고, 어떻게 이 데이터를 어떻게 찾을 것인가(how)는 명시할 필요가 없다.” 란 특징을 가지고 있다고 하였다.

- SQL관계 DBMS에서 사용되는 것이므로 이와 같은 특성을 가지고 있는데 이는 비절차적 언어의 특성이라고 볼 수 있다. , 사용자는 자신이 원하는 데이터(what)만 명시하고, 원하는 것을 처리하는 방법(how)는 명시할 수 없다.

- 이 점이 SQL이 상대적으로 배우기 쉬운 언어가 되도록 하는 중요한 요인이다.

 

내포된 SQL(embeded SQL)

- C, C++, 코볼 등의 고급 프로그래밍 언어(호스트 언어) 내에 SQL을 포함하여 사용하는 방식.

- 응용 프로그래머가 전문적인 데이터베이스 응용 프로그램을 개발하기 위해서 사용한다.

 

SQL의 다섯 가지 구성요소

- 데이터 검색: 데이터베이스로부터 데이터를 검색한다.

- 데이터 조작어: 데이터 정의어로 정의된 데이터베이스 스키마 내의 데이터를 수정하는 데 사용한다.

- 데이터 정의어: 릴레이션, 애트리뷰트, , 인덱스 등을 생성 제거하는 작업을 하는 데 사용한다.

- 트랜잭션 제어: 트랜잭션의 시작, 철회, 완료 등을 명시

- 데이터 제어어: 릴레이션에 대한 권한을 부여하거 취소한다.



'Learn business > Database' 카테고리의 다른 글

트리거(TRIGGER) & 내포된SQL  (0) 2017.03.27
데이터 정의어  (0) 2017.03.26
무결성 제약조건 정리  (0) 2017.03.24
식별관계와 비식별관계  (0) 2017.03.24
릴레이션 키 총 정리  (0) 2017.03.23