[정보처리기사] 실기 8장 SQL 응용

최윤성·2023년 4월 22일
0

정보처리기사

목록 보기
9/12

SQL

DDL(Data Define Language, 데이터 정의어)

  • DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어이다.
  • DDL의 3가지 유형
    • CREATE: 스키마, 도메인, 테이블, 뷰, 인덱스를 정의함
    • ALTER: 테이블에 대한 정의를 변경하는 데 사용함
    • DROP: 스키마, 도메인, 테이블, 뷰, 인덱스를 삭제함
CREATE SCHEMA 스키마명 AUTHORIZATION 사용자_id;
CREATE DOMAIN 도메인명 데이터_타입;
CREATE TABLE 테이블명;
CREATE VIEW 뷰명 AS SELECT;
CREATE INDEX 인덱스명 ON 테이블명;
ALTER TABLE 테이블명 ADD 속성명 데이터_타입;
ALTER TABLE 테이블명 ALTER 속성명;
ALTER TABLE 테이블명 DROP COLUMN 속성명;
DROP SCHEMA 스키마명;
DROP DOMAIN 도메인명;
DROP TABLE 테이블명;
DROP VIEW 뷰명;
DROP INDEX 인덱스명;
DROP CONSTRAINT 제약조건명;

DCL(Data Control Lauguage, 데이터 제어어)

  • 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어이다.
  • DCL의 종류
    • COMMIT: 명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고 데이터베이스 조작 작업이 정상적으로 완료되었음을 관리자에게 알려줌
    • ROLLBACK: 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구함
      • SAVEPOINT: 트랜잭션 내에 ROLLBACK 할 위치인 저장점을 지정하는 명령어
    • GRANT: 데이터베이스 사용자에게 사용 권한을 부여함
    • REVOKE: 데이터베이스 사용자에게 사용 권한을 취소함
COMMIT;
SAVEPOINT S1;
ROLLBACK S1;
GRANT 사용자등급 TO 사용자_id;
REVOKE 사용자등급 FROM 사용자_id;
GRANT 권한종류 ON 개체 TO 사용자_id;
REVOKE 권한종류 ON 개체 FROM 사용자_id;

DML(Data Manipulation Language, 데이터 조작어)

  • 데이터베이스 사용자가 저장된 데이터를 실질적으로 관리하는데 사용되는 언어이다.
  • DML의 유형
    • SELECT: 테이블에서 튜플을 검색함
    • INSERT: 테이블에 새로운 튜플을 삽입함
    • DELETE: 테이블에서 튜플을 삭제함
    • UPDATE: 테이블에서 튜플의 내용을 갱신함
SELECT 속성1, 속성2
    FROM 테이블명
    [WHERE 조건]
    [GROUP BY 속성명1, 속성명2, ..]
    [HAVING 조건]
    [ORDER BY 속성명 [ASC | DESC]];
INSERT INTO 테이블명 VALUES (데이터1, 데이터2, ...);
DELETE FROM 테이블명 [WHERE 조건];
UPDATE 테이블명 SET 속성명 = 데이터 [WHERE 조건];

조건 연산자

  • 비교 연산자
    • =: 같다
    • <>: 같지 않다
    • >: 크다
    • <: 작다
    • >=: 크거나 같다
    • <=: 작거나 같다
  • 논리 연산자
    • NOT
    • AND
    • OR
  • Like 연산자: 대표 문자를 이용해 지정된 속성의 값이 문자 패턴과 일치하는 튜플을 검색하기 위해 사용된다.
    • %: 모든 문자를 대표
    • _: 문자 하나를 대표
    • #: 숫자 하나를 대표

그룹 함수

  • GROUP BY절에 지정된 그룹별로 속성의 값을 집계할 때 사용된다.
  • 그룹 함수 종류
    • COUNT(속성명): 그룹별 튜플 수를 구하는 함수
    • SUM(속성명): 그룹별 합계를 구하는 함수
    • AVG(속성명): 그룹별 평균을 구하는 함수

JOIN

  • 2개의 릴레이션에서 연관된 튜플들을 결합하여, 하나의 새로운 릴레이션을 반환한다.

프로시저(Procedure)

  • SQL을 사용하여 작성한 일련의 작업을 저장해두고 호출을 통해 원할 때마다 저장한 작업을 수행하도록 하는 절차형 SQL이다.

트리거(Trigger)

  • 데이터베이스 시스템에서 데이터의 삽입, 갱신, 삭제 등의 이벤트가 발생할 때 관련 작업이 자동으로 수행되게 하는 절차형 SQL이다.

0개의 댓글