자격증/정처기 - 실기

8장. SQL 응용

Carnival7 2024. 7. 30. 13:14

8장. SQL 응용



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

DB를 구축하거나 수정할 목적으로 사용하는 언어 ( CAD )

  • CREATE : 스키마, 도메인, 테이블, 뷰, 인덱스를 정의
  • ALTER : 테이블에 대한 정의를 변경
  • DROP : 스키마, 도메인, 테이블, 뷰, 인덱스를 삭제

CREATE TABLE (B)

  • UNIQUE : 대체키로 사용할 속성을 지정. 중복된 값을 가질 수 없음
  • ON DELETE/UPDATE 옵션 : 참조 테이블의 튜플이 삭제/변경되었을 때 기본 테이블에 취해야 할 사항을 지정
    • NO ACTION : 참조 테이블에 변화가 있어도 기본 테이블에는 아무런 조치도 취하지 않음
    • CASCADE : 참조 테이블의 튜플도 모두 삭제되고, 속성이 변경되면 관련 튜플의 속성 값도 모두 변경
    • SET NULL : 참조 테이블에 변화가 있으면 기본 테이블의 관련 튜플의 속성 값을 NULL로 변경
    • SET DEFAULT : 참조 테이블에 변화가 있으면 기본 테이블의 관련 튜플의 속성 값을 기본값으로 변경
  • CONSTRAINT : 제약 조건의 이름 지정
  • CHECK : 속성 값에 대한 제약 조건 정의

CREATE INDEX (A)

인덱스를 정의하는 명령문

  • UNIQUE
    • 사용된 경우 : 중복 값이 없는 속성
    • 생략된 경우 : 중복 값을 허용하는 속성
  • CLUSTER : 클러스터드 인덱스로 설정

ALTER TABLE (A)

테이블에 대한 정의를 변경

  • ADD : 새로운 속성(열)을 추가
  • ALTER : 특정 속성의 Default 값을 변경
  • DROP COLUMN : 특정 속성을 삭제

DROP (A)

스키마, 도메인, 기본 테이블, 뷰 테이블, 인덱스, 제약 조건 등을 제거하는 명령문

  • CASCADE : 제거할 요소를 참조하는 다른 모든 개체를 함께 제거
  • RESTRICT : 다른 개체가 제거할 요소를 참조 중일때는 제거를 취소

DCL(Data Control Language, 데이터 제어어) (B)

데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어 (GRCR. 그러쿠라)

데이터베이스 관리자(DBA)가 데이터 관리를 목적으로 사용

  • COMMIT : 명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고, 데이터베이스 조작 작업이 정상적으로 완료되었음을 관리자에게 알려줌
  • ROLLBACK : 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구
  • GRANT : 데이터베이스 사용자에게 사용 권한을 부여
  • REVOKE : 데이터베이스 사용자의 사용 권한을 취소

GRANT / REVOKE (A)

데이터베이스 관리자가 데이터베이스 사용자에게 권한을 부여/취소하기 위한 명령어

  • GRANT : 권한 부여

    • GRANT 권한_리스트 ON 개체 TO 사용자 [WITH GRANT OPTION]
  • REVOKE : 권한 취소

    • REVOKE [GRANT OPTION FOR] 권한_리스트 ON 개체 FROM 사용자 [CASCADE]
      • WITH GRANT OPTION : 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한을 부여
      • GRANT OPTION FOR : 다른 사용자에게 권한을 부여할 수 있는 권한을 취소
      • CASCADE : 권한 취소 시 권한을 부여받았던 사용자가 다른 사용자에게 부여한 권한도 연쇄적으로 취

ROLLBACK (A)

변경되었으나 아직 COMMIT되지 않은 모든 내용들을 취소하고 데이터베이스를 이전 상태로 되돌리는 명령어

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

저장된 데이터를 실질적으로 관리하는데 사용되는 언어 (SIUD)

  • SELECT

  • INSERT

    • INSERT INTO 테이블명([속성명1, 속성명2, ...])
      VALUES (데이터1, 데이터2, ...)
  • DELETE

    • DELETE FROM 테이블명 [WHERE 조건]
  • UPDATE

    • UPDATE 테이블명
      SET 속성명=데이터[, 속성명=데이터]
      [WHERE 조건]

조건 지정 검색 (A)

  • LIKE 연산자 : 대표 문자를 이용해 지정된 속성의 값이 문자 패턴과 일치하는 튜플을 검색하기 위해 사용
  • IN 연산자 : 필드의 값이 IN 연산자의 수로 지정된 값과 같은 레코드만 검색, OR 연산을 수행한 결과와 같음

하위 질의 (A)

조건절에 주어진 질의를 먼저 수행하여 그 검색 결과를 조건절의 피연산자로 사용

  • ALL () : 하위 질의로 검색된 범위를 기본 질의의 조건으로 사용

집합 연산자를 이용한 통합 질의 (A)

2개 이상의 테이블의 데이터를 하나로 통일

  • UNION (합집합)

    • 두 SELECT 문의 조회 결과를 통합하여 모두 출력
    • 중복된 행은 한 번만 출력
  • UNION ALL (합집합)

    • 두 SELECT 문의 조회 결과를 통합하여 모두 출력
    • 중복된 행도 그대로 출력
  • INTERSECT (교집합) : 공통된 행만 출력

  • EXCEPT (차집합) : 첫 번째 SELECT 문의 조회 결과에서 두 번째 SELECT 문의 조회 결과를 제외한 행을 출력

EQUI JOIN(동등 조인) (A)

  • THETA JOIN(세타 조인) : JOIN에 참여하는 두 릴레이션의 속성 값을 비교하여 조건을 만족하는 튜플만 반환

  • EQUI JOIN(동등 조인)

    • 조인에 사용되는 조건 중 =(equal) 비교에 의해 같은 값을 가지는 행을 연결하여 결과를 생성

    • 결과로 표시되는 속성(차수)은 두 릴레이션의 속성을 더한 값과 같다

    • NATURAL JOIN(자연 조인) : JOIN 조건이 '='일 때 동일한 속성이 두 번 나타나게 되는데, 이 중 중복된 속성을 제거하여 같은 속성을 한 번만 표기

    • EQUI JOIN 표기 형식

      • WHERE 테이블명1.속성명 = 테이블명2.속성명
      • FROM 테이블명1 NATURAL JOIN 테이블명2
      • FROM 테이블명1 JOIN 테이블명2 USING(속성명);

OUTER JOIN (A)

  • LEFT OUTER JOIN : INNER JOIN의 결과를 구한 후, 우측 항 릴레이션의 어떤 튜플과도 맞지 않는 좌측 항의 릴레이션에 있는 튜플들에 NULL 값을 붙여서 INNER JOIN의 결과에 추가
  • RIGHT OUTER JOIN : INNER JOIN의 결과를 구한 후, 좌측 항 릴레이션의 어떤 튜플과도 맞지 않는 우측 항의 릴레이션에 있는 튜플들에 NULL 값을 붙여서 INNER JOIN의 결과에 추가

트리거(Trigger) (B)

이벤트가 발생할 때 관련 작업이 자동으로 수행되게 하는 절차형 SQL