절차형 SQL 작성
1) SQL 문법
- Structured Query Language
- 데이터베이스를 접근하고 조작하는 데 필요한 표준 언어를 활용할 수 있게 해주는 규칙
2) SQL 문법의 분류 ⭐
분류 | 설명 |
데이터 정의어 | - CREATE, ALTER, DROP, TRUNCATE - 다양한 응용 프로그램과 데이터베이스의 인터페이스 제공 |
데이터 조작어 | - SELECT, INSERT, UPDATE, DELETE - 사용자와 데이터베이스 사이의 인터페이스 제공 |
데이터 제어어 | - GRANT, REVOKE, COMMIT, ROLLBACK - DBA가 사용하는 제어용 언어 |
3) 데이터 정의어
- DDL, Data Definition Language: 자동저장 (auto commit)
DDL 명령어 | 설명 |
CREATE | - 생성 (데이터베이스 객체) |
ALTER | - 변경 (객체의 속성), 단 View는 변경 불가 |
RENAME | - 이름 변경 (데이터베이스 객체) |
DROP | - 삭제 (데이터베이스 내 객체) |
TRUNCATE | - 삭제 (테이블 내 테이블) |
DDL 대상 | 설명 |
도메인 | - Domain - 하나의 속성이 가질 수 있는 원자값들의 집합 |
스키마 | - Schema - 데이터베이스의 구조, 제약조건 등의 정보를 담고있는 기본적인 구조 |
테이블 | - Table - 데이터 저장 공간 |
뷰 | - View - 하나 이상의 물리 테이블에서 유도되는 가상의 테이블 |
인덱스 | - Index - 검색을 빠르게 하기 위한 데이터 구조 |
4) 데이터 조작어
- DML, Data Manipulation Language: 변경 가능(commit, rollback)
DML 명령어 | 설명 |
DELETE | - 데이터 (튜플) 삭제 |
UPDATE | - 데이터 (튜플) 수정 |
INSERT | - 데이터 (튜플) 삽입(입력) |
SELECT | - 데이터 (튜플) 조회(검색) |
5) WHERE 조건 연산자 종류
구분 | 연산자 |
비교 | =, <>, <, <=, >, >= |
범위 | [A] BETWEEN [B] AND [C] B <= A <= C |
집합 | IN, NOT IN |
패턴 | LIKE |
NULL | IS NULL, IT NOT NULL |
복합조건 | AND, OR, NOT |
6) LIKE와 같이 사용하는 와일드 문자
와일드 문자 | 예시 | 예시 결과 |
+ | '연결된' + ' ' + '문자열' | - '연결된 문자열' 검색 |
% | LIKE '노란색%' | - '노란색' 으로 시작하는 문자열 검색 |
LIKE '%노란색' | - '노란색' 으로 끝나는 문자열 검색 | |
LIKE '%노란색%' | - '노란색' 이 포함된 문자열 검색 |
7) 데이터 제어어
- DCL, Data Control Language: 데이터 보안, 무결성 유지, 병행수행 제어, 회복
명령어 | 설명 |
GRANT | - 데이터베이스 객체에 대한 접근 권한 부여 |
REVOKE | - 데이터베이스 객체에 대한 접근 권한 취 |
응용 SQL 작성 - 집계 함수
집계 함수 | 설명 |
COUNT | - 줄 수를 구하는 함수 (데이터 개수를 확인할 때도 사용) - count(*): Null 값도 포함하여 개수를 구함 |
SUM | - 합계를 구하는 함수 |
AVG | - 평균을 구하는 함수 |
MAX | - 최댓값을 구하는 함수 |
MIN | - 최솟값을 구하는 함수 |
STDDEV | - 표준편차를 구하는 함수 |
VARIAN | - 분산을 구하는 함수 |
OLAP (On-Line Analytical Processing)
- 사용자가 동일한 데이터를 여러 기준을 이용하는 다양한 방식으로 바라보면서 다차원 데이터 분석을 할 수 있도록 도와주는 의사결정 지원 시스템
- 연산: Roll-Up, Drill-Down, Drill-Up, Slicing, Dicing, Pivoting
- 윈도우 함수 = OLAP 함수
- 윈도우 함수의 분류: 집계 함수, 순위 함수, 행순서 함수, 비율 함수
트리거 (Trigger)
- DB의 이벤트 프로그래밍으로 데이터 연산 (INSERT, UPDATE, DELETE 같은 DML문)이 발생하면 데이터베이스에서 자동적으로 호출하는 과정
이벤트 (Event)
- 특정 시간에 특정한 쿼리, 프로시저, 함수 등을 실행시키는 기능
정리하기
1. SQL 문법
- 데이터 정의어/DDL: CREATE, ALTER, RENAME, DROP, TURNCATE (테이블 관련)
- 데이터 조작어/DML: INSERT, UPDATE, DELETE, SELECT (테이블의 데이터 관련)
- 데이터 제어어/DCL: GRAND, REVOKE (권한 관련)
- WHERE 조건 연산자: 비교, 범위, 집합, 패턴, NULL, 복합조건
- LIKE 와일드문자: +, %
2. SQL 작성
- 집계 함수: COUNT, SUM, AVG, MAX, MIN, STDDEV, VARIAN
3. OLCP
- 연산: Roll-Up, Drill-Down, Drill-Up, Slicing, Dicing, Pivoting
4. 윈도우 함수
- 분류: 집계 함수, 순위 함수, 행순서 함수, 비율 함수
5. 트리거
- DB의 이벤트 프로그래밍으로 데이터 연산 (INSERT, UPDATE, DELETE 같은 DML문)이 발생하면 데이터베이스에서 자동적으로 호출하는 과정
6. 이벤트
- 특정 시간에 특정한 쿼리, 프로시저, 함수 등을 실행시키는 기능
'정보처리기사 > 3과 데이터베이스 구축' 카테고리의 다른 글
4. 물리 데이터베이스 설계 (2) / 5. 데이터 전환 기술 (0) | 2023.09.17 |
---|---|
4. 물리 데이터베이스 설계 (1) (0) | 2023.09.16 |
3. 논리 데이터베이스 설계 (0) | 2023.09.15 |
2. SQL 활용 (0) | 2023.09.14 |