DevGang
[DB-16] SQL 본문
1. 질의어 (Query Language)
- DBMS에서 데이터베이스로부터 데이터를 뽑아내어 사용 가능한 형식으로 나타내어 주는 소프트웨어 툴 혹은 함수
- 독자적이고 상호 작용 형태로 터미널에서 많이 사용하고 있는 비절차적 언어, 고급 명령어 형태의 독립된 데이터 조작어
- SQL (Structured Query Language) - 데이터베이스에 정보를 요구하는 표준 질의어
2. SQL 분류
- DDL (Data Definition Language)
명령어 | 기능 |
CREATE | SCHEMA, DOMAIN, TABLE, VIEW, INDEX 정의 |
ALTER | TABLE 정의 변경 |
DROP | SCHEMA, DOMAIN, TABLE, VIEW, INDEX 삭제 |
- 데이터베이스 스키마는 데이터 정의 언어라는 특별한 언어로서 표현된 정의의 집합으로 지정됨
- 번역한 결과가 데이터 사전이라는 특별한 파일에 여러 개의 테이블로서 저장됨
- 데이터베이스 관리 시스템(DBMS) 내에서 사용자의 편의와 구현상의 편의를 위해 명령어를 제공함
- 데이터베이스를 정의하거나 그 정의를 수정할 목적으로 사용하는 언어
- 데이터베이스 언어 중 데이터베이스의 객체들 즉 테이블, 뷰, 인덱스 등에 대한 구조인 스키마를 정의하고 변경하며 삭제할 수 있는 기능
- 외부 스키마 명세 및 스키마에 사용되는 제약조건 명세
- DML (Data Maniqulation Language)
명령어 | 기능 |
SELECT | 튜플 검색 |
INSERT | 튜플 삽입 |
DELETE | 튜플 삭제 |
UPDATE | 튜플 변경 |
- 사용자나 응용 프로그램과 데이터베이스 관리 시스템(DBMS) 간의 인터페이스를 제공
- 데이터베이스 사용자에게 적절한 명령어를 사용하여 데이터를 수정하거나 데이터를 질의할 수 있게 하는 것
- 사용자가 적절한 데이터 모델로 구성된 데이터에 접근하고 조작할 수 있게 하는 언어
- DCL (Data Control Language)
명령어 | 기능 |
COMMIT | 정상적인 완료 |
ROLLBACK | 트랜잭션 실패로 원래의 상태로 돌아감 |
GRANT | 사용권한 부여 |
REVOKE | 사용권한 취소 |
- 데이터베이스를 공용하기 위한 데이터 제어를 정의하고 기술하는 언어 (데이터의 보호, 관리)
- 데이터 보안
- 데이터 무결성 및 회복
- 병행수행
3. 내장(Embedded) SQL
- 호스트 프로그램(VB, C, C++) 언어에 삽입한 SQL
- 내장 SQL에서 사용되는 호스트 변수 앞에는 ':'을 붙이며 호스트 언어 안에서는 생략한다.
- 내장 SQL문이 실행되면 SQL 실행 상태가 SQL 상태 변수에 전달된다.
- 상태 변수가 '000000'이면 성공, '02000'이면 검색 결과가 없다는 의미
4. 커서(Cursor)
- 내장 SQL의 실행결과로 여러 개의 튜플을 검색할 수 있도록 하는 기능, 실행결과로 나타나는 튜플들의 순서를 지시하는 포인터를 의미
- 관련 명령 : DECLARE(정의, 선언), OPEN(첫 튜플 지시), FETCH(다음 튜플 이동), CLOSE(처리종료)
'정보처리 > DB' 카테고리의 다른 글
[DB-18] 뷰 (VIEW) (0) | 2021.01.30 |
---|---|
[DB-17] 시스템 카탈로그 (0) | 2021.01.30 |
[DB-15] 관계 대수&관계 해석 (0) | 2021.01.30 |
[DB-14] 무결성 (0) | 2021.01.30 |
[DB-13] 키 (0) | 2021.01.30 |
Comments