SW
[2020 정보처리기사 필기] SQL 응용 (2) 본문
104. DML ★★
1. DML(Data Manipulation Language, 데이터 조작어)의 개념
- DML은 데이터베이스 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적으로 관리하는데 사용되는 언어이다.
- DML은 데이터베이스 사용자와 관리 시스템 간의 인터페이스를 제공한다.
- SELECT, INSERT, DELETE, UPDATE
2. 삽입문(INSERT INTO~)
- INSERT INTO 테이블명([속성명1, 속성명2,..]) VALUES (데이터1, 데이터2);
- 대응하는 속성과 데이터는 개수와 데이터 유형이 일치해야 한다.
- 기본 테이블의 모든 속성을 사용할 때는 속성명을 생략할 수 있다.
- SELECT 문을 사용하여 다른 테이블의 검색 결과를 삽입할 수 있다.
3. 삭제문(DELETE FROM~)
- 기본 테이블에 있는 튜플들 중에서 특정 튜플을 삭제할 때 사용한다.
- DELETE FROM 테이블명 [WHERE 조건];
- 모든 레코드를 삭제하더라도 테이블 구조는 남아있기 때문에 디스크에서 테이블을 완전히 제거하는 DROP과는 다르다.
4. 갱신문(UPDATE~ SET~)
- 갱신문은 기본 테이블에 있는 튜플들 중에서 특정 튜플의 내용을 변경할 때 사용한다.
- UPDATE 테이블명 SET 속성명=데이터[, 속성명=데이터,..] [WHERE 조건];
핵심
- INSERT INTO... VALUES(O), INSERT... ON... VALUES(X)
- 각 명령어의 형식
105. DML - SELECT - 1 ★★★
1. 일반 형식
- SELECT 절
- PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술한다.
- ALL : 모든 튜플을 검색할 때 지정, 주로 생략
- DISTINCT : 첫 번째 한 개만 검색
- DISTINCTROW : 중복된 튜플을 제거하고 한 개만 검색하지만 선택된 속성의 값이 아닌, 튜플 전체를 대상으로 한다.
- 속성명 : 검색하여 불러올 속성 또는 속성을 이용한 수식을 지정한다.
- 기본 테이블을 구성하는 모든 속성을 지정할 때는 '*'를 기술
- 두 개 이상의 테이블을 대상으로 검색할 때는 '테이블명.속성명'으로 표현
- AS : 속성 및 연산의 이름을 다른 제목으로 표시하기 위해 사용
- FROM 절 : 질의에 검색될 데이터들을 포함하는 테이블명을 기술
- WHERE 절 : 검색할 조건을 기술
- ORDER BY 절 : 특정 속성을 기준으로 정렬하여 검색할 때 사용
2. 기본 검색
- SELECT 절에 원하는 속성을 지정하여 검색
3. 조건 지정 검색
- WHERE 절에 조건을 지정하여 조건에 만족하는 튜플만 검색
4. 정렬 검색
- ORDER BY 절에 특정 속성을 지정하여 지정된 속성으로 자료를 정렬하여 검색
5. 하위 질의
- 하위 질의는 조건절에 주어진 질의를 먼저 수행하여 그 검색 결과를 조건절의 피연산자로 사용
6. 복수 테이블 검색
- 여러 테이블을 대상으로 검색을 수행
핵심
- SELECT문 형식을 알고 있어야 문제 풀이 가능
106. DML - SELECT - 2 ★★★
1. 일반 형식
- 그룹함수 : GROUP BY절에 지정된 그룹별로 속성의 값을 집계할 함수를 기술한다.
- WINDOW 함수 : GROUP BY절을 이용하지 않고 속성의 값을 집계할 함수를 기술한다.
- PARTITION BY : WINDOW 함수가 적용될 범위로 사용할 속성을 지정한다.
- ORDER BY : PARTITION 안에서 정렬 기준으로 사용할 속성을 지정한다.
- GROUP BY절 : 특징 속성을 기준으로 그룹화하여 검색할 때 사용한다. 일반적으로 GROUP BY절은 그룹 함수와 함께 사용된다.
- HAVING 절 : GROUP BY와 함께 사용되며, 그룹에 대한 조건을 지정한다.
- 그룹함수 : COUNT, SUM, AVG, MAX, MIN, STDDEV(표준편차), VARIANCE(분산), ROLLUP(인수로 주어진 속성을 대상으로 그룹별 소계), CUBE(모든 조합의 그룹별 소계)
- WINDOW 함수 : ROW_NUMBER()(일련번호 반환), RANK()(윈도우 별로 순위 반환, 공동 순위 반영), DENSE_RANK()(윈도우 별로 순위 반환, 공동 순위 무시)
2. WINDOW 함수 이용 검색
- GROUP BY 절을 이용하지 않고 함수의 인수로 지정한 속성을 범위로 하여 속성의 값을 집계한다.
3. 그룹 지정 검색
- GROUP BY 절에 지정한 속성을 기준으로 자료를 그룹화하여 검색 한다.
4. 집합 연산자를 이용한 통합 질의
- 집합 연산자를 사용하여 2개 이상의 테이블의 데이터를 하나로 통합한다.
- UNION : 중복없음
- UNION ALL : 중복있음
핵심
- 그룹합수
- HAVING
- UNION
107. DML - JOIN ★★
1. JOIN의 개념
- JOIN은 2개의 테이블에 대해 연관된 튜플들을 결합하여, 하나의 새로운 릴레이션을 반환한다.
- JOIN은 크게 INNER JOIN과 OUTER JOIN으로 구분된다.
- JOIN은 일반적으로 FROM 절에 기술하지만, 릴레이션이 사용되는 어느 곳에서나 사용할 수 있다.
2. INNER JOIN
- INNER JOIN은 일반적으로 EQUI JOIN과 NON-EQUI JOIN으로 구분된다.
- 조건이 없는 INNER JOIN을 수행하면 CROSS JOIN과 동일한 결과를 얻을 수 있다.
- EQUI JOIN : JOIN 대상 테이블에서 공통 속성을 기준으로 '=' 비교에 의해 같은 값을 가지는 행과 연결하여 결과를 생성하는 JOIN 방법이다. 중복된 속성을 제거하고 한 번만 표기하는 것을 NATURAL JOIN이라고 한다. EQUI JOIN에서 연결 고리가 되는 공통 속성을 JOIN 속성이라고 한다.
- 가장 자주 사용되는 것은 'WHERE 테이블1.속성명 = 테이블2.속성명' 과 같은 형태이다.
- NON-EQUI JOIN : '='조건이 아닌 나머지 비교 연산자
3. OUTER JOIN
- OUTER JOIN은 릴레이션에서 JOIN 조건을 만족하지 않는 튜플도 결과를 출력하기 위한 JOIN 방법으로 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 이 있다.
- LEFT OUTER JOIN : INNER JOIN의 결과를 구한 후, 우측 항 릴레이션의 어떤 튜플과도 맞지 않는 좌측 항의 릴레이션에 있는 튜플들에 NULL 값을 붙여서 INNER JOIN의 결과에 추가한다.
- RIGHT OUTER JOIN : LEFT OUTER JOIN의 반대
- FULL OUTER JOIN : LEFT, RIGHT 합쳐 놓은 것
4. SELF JOIN
- 같은 테이블에서 2개의 속성을 연결하여 EQUI-JOIN을 하는 JOIN 방법이다.
핵심
- CROSS JOIN : 조건없는 INNER JOIN
- NATURAL JOIN : 중복 제거하고 한 번만 표기
- LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN
'대학교 > 자격증' 카테고리의 다른 글
[2020 정보처리기사 필기] SQL 활용 (2) (0) | 2020.08.10 |
---|---|
[2020 정보처리기사 필기] SQL 활용 (1) (0) | 2020.08.09 |
[2020 정보처리기사 필기] SQL 응용 (1) (0) | 2020.08.09 |
[2020 정보처리기사 필기] 물리 데이터베이스 설계 (3) (0) | 2020.08.09 |
[2020 정보처리기사 필기] 물리 데이터베이스 설계 (2) (0) | 2020.08.09 |