자격증/정보처리기사

107~110. SQL의 개념 / DDL / DCL / DML(A)

환성 2023. 2. 4. 17:03
728x90

SQL

  • 관계대수와 관계해석을 기초로 한 혼합 데이터 언어
  • 질의어지만 질의 기능뿐만 아니라 데이터 구조의 정의, 데이터 조작, 데이터 제어 기능까지 모두 갖춤

 

SQL의 분류

  • DDL(Data Define Language, 데이터 정의어)
    • 논리적 데이터 구조와 물리적 데이터 구조의 사상 정의
    • CREATE, ALTER, DROP
  • DML(Data Manipulation Language, 데이터 조작어)
    • 저장된 데이터를 실질적으로 처리하는데 사용되는 언어
    • SELECT, INSERT, DELETE
  • DCL(Data Control Language, 데이터 제어어)
    • 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는데 사용되는 언어
    • COMMIT, ROLLBACK, GRANT, REVOKE

 

DDL

  • CREATE SCHEMA 스키마 명 AUTHORIZATION 사용자 id;(스키마 정의문)
  • CREATE DOMAIN 도메인명 [AS] 데이터 타입 [DEFAULT 기본값] [CONSTRAINT 제약조건명 CHECK (범위값)];
  • CREATE TABLE 테이블명
  • CREATE VIEW 뷰명 [(속성명[, 속성명, ..])] AS SELECT문(서브 쿼리 SELECT문에는 UNION, ORDER BY 사용 X)
  • CREATE INDEX 인덱스명 ON 테이블명(속성명[ASC | DESC]) [CLUSTER] (클러스터드 인덱스로 설정 사용시)
  • ALTER TABLE 테이블명 DROP COLUMN 속성명
  • DROP SCHEMA, DOMAIN, TABLE, VIEW, INDEX, CONSTRAINT .... 
  • CASCADE : 제거할 요소를 참조하는 다른 모든 개체를 함께 제거

 

DCL

  • GRANT : 권한 부여, REVOKE : 권한 취소
  • GRANT 사용자등급 TO 사용자_ID, REVOKE 사용자등급 FROM 사용자_ID
  • GRANT 권한_리스트 ON 개체 TO 사용자, REVOKE 권한_리스트 ON 개체 FROM 사용자
  • COMMIT : 트랜잭션 끝날 떄 일관성을 가지기 위해 모든 내용을 데이터베이스에 반영
  • COMMIT 명령어 사용하지 않아도 DML문이 성공적으로 완료시 자동 COMMIT
  • ROLLBACK :  아직 COMMIT되지 않은 변경된 모든 내용들을 취소하고 데이터베이스를 이전 상태로 되돌림
  • SAVEPOINT : 트랜잭션 내에 ROLLBACK 할 위치를 저장점을 지정하는 명령어

 

DML

  • 삽입문 : INSERT INTO 테이블명 VALUES (데이터1, 데이터2...)
  • 삭제문 : DELETE FROM 테이블명 [WHERE 조건]
  • 갱신문 : UPDATE 테이블명 SET 속성명 = 데이터 [WHERE 조건]