DevGang

[DB-16] SQL 본문

정보처리/DB

[DB-16] SQL

별천랑 2021. 1. 30. 21:14

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