정보처리기사 필기

3과목 : 데이터베이스 구축(3장. SQL 응용 : 주요 키워드 정리)

IT의 큰손 2022. 8. 2. 19:02
728x90

3장. SQL 응용

 

3-0. SQL

  • 관계 대수와 관계해석을 혼합한 데이터 언어.
  • 분류
    • DDL (데이터 정의어) : CREATE, ALTER, DROP, TRUNCATE
    • ex)
      • CREATE SCHEMA : 스키마를 정의하는 명령문
      • CREATE DOMAIN : 도메인을 정의하는 명령문
      • CREATE TABLE : 테이블을 정의하는 명령문
      • CREATE VIEW : 뷰를 정의하는 명령어
      • CREATE INDEX : 인덱스를 정의하는 명령어
      • ALTER TABLE : 테이블에 대한 정의를 변경하는 명령문
      • DROM SCHEMA ,,, INDEX : 스키마를 제거 하거나, 인덱스를 제거 할 때 사용하는 명령어
      • CASCADE : 제거할 요소를 참조하는 다른 개체도 함께 제거
      • RESTRICT : 다른 개체가 제거할 요소를 참조중일 때는 제거를 취소
    • DML (데이터 조작어) : SELECT, INSERT, DELETE, UPDATE
    • ex)
      • INSERT INTO 테이블명(속성) VALUES (속성값들) : 기본 테이블에 새로운 튜플을 삽입할 때 사용
      • DELETE FORM 테이블명 WHERE 조건 : 기존 테이블에 있는 튜플중에서 특정 튜플을 삭제
      • UPDATE 테이블명 SET 속성명 = 데이터 : 기존 테이블에 있는 튜플들 중에서 특정 튜플의 내용을 변경
      • SELECT : 특정 튜플을 검색할 때 사용
        • SELECT * FROM 학과 WHERE 전공='컴퓨터공학과'; : 학과 테이블에 전공이 컴퓨터공학과 튜플 검색
        • ORDER BY : 특정 속성을 기준으로 정렬(DESC : 내림차순, ASC : 오름차순)
    • DCL (데이터 제어어) : COMMIT, ROLLBACK, GRANT, REVOKE
    • ex)
      • GRANT RESOURCE TO GOM; : 곰에게 RESOURCCE 권한을 부여
      • RECOKE RESOURCE FROM GOM; : 곰에게 RESOURCE 권한을 취소
      • WITH GRANT OPTION : 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한을 부여
      • GRANT OPTION FOR : 다른 사용자에게 권한을 부여할 수 있는 권한을 취소한다.
      • COMMIT : 트랜잭션이 성공적으로 끝나면 일관성 상태를 가지기 위해 DB에 반영
      • ROLLBACK : 아직 COMMIT 되지 않은 변경된 모든 내용들을 취소하고 이전상태로 되돌림
      • SAVE POINT : 트랜잭션 내에 ROLLBACK 할 위치인 저장점을 지정하는 명령어.
    • 일반형식
      • 그룹함수 : GROUP BY 절에 지정된 그룹별로 속성의 값을 집계할 함수를 기술
      • WINDOW 함수 : GROUP BY 절을 사용하지 않고, 속성의 값을 집계할 함수를 기술
      • GROUP BY : 특정 속성을 기준으로 그룹화하여 검색할 때 사용함.
      • HAVING : GROUP BY 절과 함께 사용. 그룹에 대한 조건을 지정함.
        • ex) 테이블에서 부서 별 상여금의 평균?
          • SELECT 부서, AVG(상여금) AS 평균
          • FROM 상여금
          • GROUP BY 부서;  
    • 집합 연산자 : 2개 이상의 테이블의 데이터를 하나로 통합
      • UNION : 두 조회 결과를 통합하여 출력, 중복된 행은 1번만 출력
      • UNION ALL : 두 조회 결과를 통합하여 출력, 중복된 행도 모두 출력
      • INTERSECT : 두 SELECT 문의 조회 결과중 공통행만 출력
      • EXCEPT : 첫번째 SELECT 문의 조회 결과 - 두번째 조회 결과
    • JOIN 연산자 : 2개의 테이블에 대해 연관된 튜플들을 결합하여 하나의 새로운 릴레이션을 반환
      • INNER JOIN : EQUI JOIN과 NON-EQUI JOIN으로 구분
      • ex)
        • SELECT 학번, 이름, 학생, 학과코드, 학과명
        • FROM 학생, 학과
        • WHERE 학생.학과코드 = 학과.학과코드;
        • SELECT 학번, 이름, 학생, 학과코드, 학과명
        • FROM 학생 NATURAL JOIN 학과;
        • SELECT 학번, 이름, 학생, 학과코드, 학과명
        • FROM 학생 JOIN 학과 USING(학과코드);
      • OUTER JOIN : JOIN 조건에 만족하지 않는 튜플도 결과로 출력한다.
        • LEFT OUTER JOIN : INNER JOIN 결과를 구한 후, 좌측 항의 릴레이션에 있는 튜플들에 NULL 값을 붙여 결과에 추가
        • RIGHT OUTER JOIN : INNER JOIN 결과를 구한 후, 우측 항의 릴레이션에 있는 튜플들에 NULL 값을 붙여 결과에 추가
        • FULL OUTER JOIN : LEFT와 RIGHT를 합친 것
728x90