728x90
Contents
관계형 데이터베이스 개요
- 데이터베이스
- DBMS(Database Management System)라고 호칭
- 관계형 데이터 베이스 : 데이터 정합성 보장에 대한 고민의 결과물, 메타 데이터 총괄 관리 이점, 데이터 무결성(Integrity) 보장 등...
- SQL
- SQL(Structured Query Language)
- 관계형 데이터베이스에서 데이터 정의, 데이터 조작, 데이터 제어를 위해 사용 언어
- ANSI/ISO에 따라 표준 정의된 SQL 기능이 존재
- 테이블
- 데이터는 DB의 기본 단위인 테이블 형태로 저장
- 어느 특정한 주제와 목적으로 만들어지는 일종의 집합
5. ERD(Entity Relationship Diagram)
- 데이터 유형
- 데이터 유형은 DB 테이블에 특정 자료를 입력할 때, 자료를 받아들일 공간을 자료의 유형별로 나눈다.
- 벤더마다 차이는 존재
- SELECT 문
- DISTINCT 옵션
- 애스터리스트(*) 사용 → 모든 칼럼 정보를 보고 싶을 경우 애스터리스크 사용
- ALIAS 부여 → 칼럼명 바로 뒤에 칼럼명 as ALIAS 형태
- 이중 인용부호(Double quotation)는 alias가 공백, 특수문자를 포함할 경우와 대소문자 구분이 필요할 때 사용
- 공백이 들어갈 경우 " " 를 사용
- 내장함수
- NULL 관련 함수
- NULL 값을 포함하는 연산은 결과도 NULL이다
- NULLIF → EXPR1이 EXPR2와 같으면 NULL 아니면 EXPR1을 리턴, 특정 값을 NULL로 대체하는 경우 사용 NULLIF (EXPR1, EXPR2)
- COALESCE 함수는 인수의 숫자가 한정되어 있지 않으며, 임의의 개수 EXPR에서 NULL이 아닌 최초의 EXPR을 나타낸다
- WHERE 조건절 184p
- 사용자가 자신이 원하는 자료만을 검색하기 위해 SQL 문장에 WHERE 문을 적용시켜 자료 제한
- GROUP BY, HAVING 절
- 집계함수 → 여러행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 다중행 함수 중 하나
일반적으로 집계함수는 GROUP BY 와 함께 사용되지만 테이블 전체가 하나의 그룹이 되는 경우에는 GROUP BY 없이 사용 가능
- GROUP BY, HAVING 절은 아래와 같은 특성을 가진다.
- GROUP BY 절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계함수를 사용
- 집계함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행
- GROUP BY 절에서는 SELCT와 달리 NULL 값 사용 불가
- 집계함수는 WHERE에는 올 수 없음
- WHERE 절은 전체 데이터를 GROUP으로 나누기 전에 행들을 미리 제거함
- HABING 절은 GROUP BY 절의 기준이나 소그룹의 집계함수를 이용한 조건 표시 가능
- GROUP BY 절에 의한 소그룹으로 만들어진 집계 데이터 중, HAVING 절에서 제한 조건을 두어 조건을 만족하는 내용만 출력
- CASE 표현을 활용한 월별 데이터 집계
- 집계 함수(CASE()~ GROUP BY) 기능은 모델링의 제 1정규화로 인해 반복되는 칼럼의 경우 구분 칼럼을 두고, 여러개의 레코드로 만들어진 집합을 정해진 칼럼 수 만큼 확장해 집계 보고서를 만드는 유용한 기법.
- 집계함수와 NULL 처리
- 리포트 출력 때 NULL이 아닌 0을 표시하고 싶은 경우 NVL이나 ISNULL처럼 전체 SUM의 결과가 NULL인 경우에 사용
- 집계함수 → 여러행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 다중행 함수 중 하나
일반적으로 집계함수는 GROUP BY 와 함께 사용되지만 테이블 전체가 하나의 그룹이 되는 경우에는 GROUP BY 없이 사용 가능
- 조인
- 2개 이상의 테이블들을 연결해서 테이블을 출력하는것을 join이라고 한다.
- 일반적인 경우 행들은 PK와 FK 값의 연관에 의해 조인이 성립된다.
- 표준 조인(246페이지)
- FROM 절의 조인 형태는 아래와 같다.
- INNER JOIN
- NATURAL JOIN
- USING 조건절
- ON 조건절
- CROSS JOIN
- OUTER JOIN
- INNER JOIN → 내부 JOIN이라 불리며 조인 조건을 만족하는 행들만 반환. 따라서 USING 조건 절이나 ON 조건절을 필수적으로 사용
- USING 조건절 → 같은 이름을 가진 컬럼들 중에 원하는 컬럼에 대해서만 선택적으로 EQUI JOIN 사용
- ON 조건절 → 조인 서술부(ON) 과 비 조인 서술부(WHERE)를 분리함
- CROSS JOIN → 조인 조건이 없는 경우 생길 수 있는 데이터의 조합 확인
- OUTER JOIN
- LEFT OUTER JOIN → 좌측 테이블에 해당하는 데이터를 먼저 읽은 후 나중 우측 테이블에서 JOIN 대상 데이터 읽음
- RIGHT OUTER JOIN → 우측 테이블이 기준이 돼 결과 생성
- FULL OUTER JOIN → 좌우측 모든 데이터를 읽어 조인해서 결과 생성
- FROM 절의 조인 형태는 아래와 같다.
728x90
'DATA' 카테고리의 다른 글
[TIL] Appsflyer Pull API 엔드포인트 목록 220922-5 (0) | 2022.09.22 |
---|---|
[TIL] Postgresql에서 현재 날짜 추출하기 220922 (0) | 2022.09.22 |
SQLD 2과목 2장 정리 (0) | 2021.07.14 |
SQLD 1과목 2장(데이터 모델과 SQL) 정리 (0) | 2021.05.24 |
SQLD 1과목 1장(데이터 모델링의 이해) 정리 (0) | 2021.05.23 |
3년간 진행했던 데이터 분석 프로젝트 회고 (0) | 2021.05.22 |
Uploaded by Notion2Tistory v1.1.0