본문 바로가기

반응형

Data Science

(60)
[SQLD] 데이터 모델과 성능 1-1. 성능 데이터 모델링의 개요 1. 성능 데이터 모델링의 정의 성능이 저하되는 데이터 모델의 경우 (1) 데이터 모델 구조 (2) 데이터가 대용량 (3) 인덱스 특성을 충분히 고려하지 않고 인덱스를 생성 일반적인 성능이 가리키는것, 데이터 조회의 성능을 의미 -> 일반적인 트랜잭션의 성격이 조회의 패턴을 가지고 있으며, 업무에 따라서 입력/수정/삭제인 경우도 있다. 작업 유형 -> 목표 설정 -> 정확한 성능향상 모델링 성능 데이터 모델링 : 데이터베이스 성능향상을 목적으로, 설계 단계의 데이터 모델링 부터 -> 정규화, 반정규화, 테이블통합 및 분할, 조인구조, PK, FK 등을 반영 성능 데이터 모델링 (1) 반정규화 (2) 정규화 (3) 인덱스의 특징을 고려한 칼럼 순서 변형 (4) 대량의 데이터 특성의 경우 테이블을 수직 또는..
[SQLD] SQL 기본 1-9. 조인 1. JOIN 개요 : 두 개 이상의 테이블 들을 연결 또는 결합해 데이터를 출력하는 것 일반적인 경우 : PK나 FK 값의 연관에 의해 JOIN이 성립 특수한 경우 : 논리적인 값들의 연관을 이용한 JOIN 단, FROM 절에 여러 테이블이 나열되더라도 SQL에서 데이터를 처리할 때는 단 두 개의 집합 간에만 조인 발생 FROM 절에 A, B, C 테이블이 나열되었더라도 특정 2개의 테이블만 먼저 조인 처리, 2개의 테이블이 조인되어서 처리된 새로운 데이터 집합과 남은 한 개의 테이블이 다음 차례로 조인 A, B, C, D 4개의 테이블을 조인 시 : ( ( (A JOIN D) JOIN C) JOIN B) -> A, D -> , C-> ,B [옵티마이저에 의한 조인 순서 결정] 2. EQUI JOIN ..
[SQLD] SQL 기본 1-8. ORDER BY절 1. ORDER BY 정렬 : SQL 문장으로 조회된 데이터를 목적에 맞게 특정 칼럼 기준 정렬해 출력 :칼럼명 대신에 SELECT절에서 사용한 ALIAS명이나 칼럼 순서를 나타내는 정수도 사용 가능 : Default는 오름차순이며 SQL 문장의 제일 마지막에 작성 SELECT 칼럼명 [ALIAS명] FROM 테이블명 [WHERE 조건식] [GROUP BY 칼럼이나 표현식] [HAVING 그룹조건식] [ORDER BY 칼럼이나 표현식 [ASC 또는 DESC]]; (1) 선수 테이블에서 선수들의 이름, 포지션, 백넘버를 출력하는데 사람 이름을 내림차순으로 정렬해서 출력 더보기 SELECT PLAYER_NAME 선수명, POSTION 포지션, BACK_NO 백넘버 FROM PLAYER ORDER BY PLA..
[SQLD] SQL 기본 1-7. GROUP BY절, HAVING 절 1. 집계 함수 -여러 행의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수 -GROUP BY는 행들을 소그룹화 -SELECT, HAVING, ORDER BY절에 사용가능 데이터 분석 함수 (1) GROUP 함수 : ROLLUP, CUBE, GROUPING SETS (2) WINDOW 함수 집계 함수명 ( [DISTINCT | ALL ] 칼럼이나 표현식) - ALL : Default 옵션이므로 생략 가능 - DISTINCT : 같은 값을 하나의 데이터로 간주할 때 사용 집계 함수의 종류 COUNT(*) COUNT(표현식) SUM([DISTINCT | ALL] 표현식) AVG([DISTINCT | ALL] 표현식) MAX([DISTINCT | ALL] 표현식) MIN([DISTINCT | ALL] 표..
[SQLD] SQL 기본 1-6. 함수 1. 내장 함수 내장 함수Bulit-in Function 와 사용자가 정의할 수 있는 함수 UDF 내장 함수 : 데이터 값을 간편하게 조작하는데 사용 단일행 함수 다중행 함수 다중행 함수 집계 함수 그룹 함수 윈도우 함수 -> M:1 관계 -> 단일행 함수 : 하나의 값 또는 여러 값이 입력 인수로 표현 -> 다중행 함수 : 여러 레코드의 값들을 입력 인수로 사용 단일행 함수 : 문자형 함수 문자를 입력시 문자나 숫자 값을 반환 LOWER, UPPER, SUBSTR, LENGTH, LEN, LTRIM, RTRIM, TRIM, ASCII 숫자형 함수 숫자 입력시 숫자 값 반환 ABS, MOD, ROUND, TRUNC, SIGN, CHR, CEIL, FLOOR, EXP, LOG, LN, POWER, SIN,..
[SQLD] SQL 기본 1-5. WHERE절 1. WHERE 조건절 자신이 원하는 자료만 검색하기 위한 방법 조인 조건 기술 / 결과 제한 조건 기술 WHERE 절의 JOIN 조건 / FROM 절의 JOIN 조건 WHERE 절에 조건이 없는 FTS (Full Table Scan) 문장이 SQL 튜닝의 1차적인 검토대상 SELECT [DISTINCT/ALL] 칼럼명 [ALIAS명] FROM 테이블명 WHERE 조건식; WHERE절은 FROM 절 다음에 위치한다, 조건식 구성 방법 칼럼명 비교 연산자 문자, 숫자, 표현식 비교 칼럼명 (JOIN 사용시) 2. 연산자의 종류 WHERE 절 조건식의 비교 연산자 K-리그 일부 선수들의 이름과 포지션, 백넘버를 알고 싶다. 조건은 소속팀이 삼성블루윙즈이거나 전남드래곤즈에 소속된 선수들 중에서 포지션이 미드필..
[SQLD] SQL 기본 1-4. TCL (Transaction Control Language) [4] TCL (Transaction Control Language) 1. 트랜잭션 개요 트랜잭션 : DB의 논리적 연산단위 -> 분리될 수 없는 한 개 이상의 데이터베이스 조작, 즉 분할 할 수 없는 최소의 단위 -> 논리적인 작업 단위를 구성하는 세부적인 연산들의 집합 ->원자성 : ALL OR NOTHING TCL : COMMIT커밋, ROLLBACK롤백, SAVEPOINT저장점 트랜잭션의 대상 : DML (데이터를 수정하는 UPDATE, INSERT, DELETE) + 배타적 LOCK을 요구하는 SELECT문 트랜잭션의 특성 원자성 : ALL OR NOTHING 일관성 : 트랜잭션 실행 전 내용이 올바르면 트랜잭션 이후에도 올바른 내용 고립성 : 트랜잭션 실행 도중 다른 트랜잭션의 영향을 받아 잘..
[SQLD] SQL 기본 1-3. DML (Data Manipulation Language) [3] DML (Data Manipulation Language) 원하는 자료들을 입력, 수정, 삭제, 조회 1. INSERT CHAR, VARCHAR2 : ' 숫자일 경우 : '를 붙이지 않는다. (COULUMN_LIST) 방식 : 정의하지 않은 칼럼은 Default로 NULL 값이 입력, 모든 칼럼 입력 방식 : 모든 칼럼에 데이터를 입력하며, 칼럼의 순서대로 빠짐없이 데이터가 입력되어야 한다. 정의되지 않은 값은 ''이나 NULL로 표현 가능하다. 2. UPDATE UPDATE SET 3. DELETE 데이터 삭제 수행 -> FROM은 생략 가능, WHERE이 없으면 전체 데이터 삭제 DDL : 테이블에 영향을 미치기 때문에, 즉시 완료 (AUTO COMMIT) DML : 테이블을 메모리 버퍼에 올..

반응형