반응형

# 4. 자격증/SQLD 28

SQLD 자격증 # SQL 기본(과목2)_GROUP BY HAVING 절

1. 집계함수(Aggregate Function) 특성 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수 GROUP BY 절은 행들을 소그룹화 SELECT 절, HAVING 절, ORDER BY 절에 사용 집계 함수명 ( ALL 칼럼이나 표현식 ) ALL : Default 옵션이므로 생략 가능함 DISTINCT : 같은 값을 하나의 데이터로 간주할 때 사용하는 옵션임 자주 사용되는 주요 집계 주로 숫자 유형에 사용 MAX, MIN, COUNT 함수는 문자, 날짜 유형에도 적용이 가능 예제 테이블 전체가 하나의 그룹이 되는 경우 - GROUP BY 절 없이 단독으로 사용 가능 SELECT COUNT(*) "전체 행수", COUNT(HEIGHT) "키 건수", MAX(HEIGHT) 최대키, ..

# 4. 자격증/SQLD 2021.11.11

SQLD 자격증 # SQL 기본(과목2)_함수

1. 내장 함수(BUILT-IN FUNCTION) 개요 함수는 입력되는 값이 아무리 많아도 출력은 하나만 된다는 M:1 관계라는 중요한 특징을 가지고 있다. 단일행 함수 - 단일행 값이 입력됨. - 단일행 내에 있는 하나의 값 또는 여러 값이 입력 인수로 표현될 수 있다. 다중행 함수 - 여러 행의 값이 입력됨. - 여러 레코드의 값들을 입력 인수로 사용하는 것이다. - 다중행 함수는 집계함수, 그룹함수, 윈도우 함수로 다시 구분된다. 단일행 함수의 중요한 특징은 다음과 같다. SELECT, WHERE, ORDER BY 절에 사용 가능하다. 각 행(Row)들에 대해 개별적으로 작용하여 데이터 값들을 조작하고, 각각의 행에 대한 조작 결과를 리턴한다. 여러 인자(Argument)를 입력해도 단 하나의 결과..

# 4. 자격증/SQLD 2021.11.11

SQLD 자격증 # SQL 기본(과목2)_WHERE 절

5. WHERE 절 사용자들은 자신이 원하는 자료만을 검색하기 위해서 SQL 문장에 WHERE 절을 이용하여 자료들에 대하여 제한 WHERE 절에 조건이 없는 FTS(Full Table Scan) 문장은 SQL 튜닝의 1차적인 검토 대상이 된다. (FTS가 무조건 나쁜 것은 아니며 병렬 처리 등을 이용해 유용하게 사용하는 경우도 많다.) 연산자의 종류 예제 소속팀이 삼성블루윙즈이거나 전남드래곤즈에 소속된 선수들이어야 하고, 포지션이 미드필더(MF:Midfielder)이어야 한다. 키는 170 센티미터 이상이고 180 이하여야 한다. 1) 소속팀이 삼성블루윙즈 OR 소속팀이 전남드래곤즈 2) AND 포지션이 미드필더 3) AND 키는 170 센티미터 이상 4) AND 키는 180 센티미터 이하 ​ 잘못된 ..

# 4. 자격증/SQLD 2021.11.11

SQLD 자격증 # SQL 기본(과목2)_TCL

1. 트랜잭션 개요 트랜잭션이란? - 데이터베이스의 논리적 연산단위 - 밀접히 관련되어 분리될 수 없는 한 개 이상의 데이터베이스 조작을 의미한다. - 하나의 트랜잭션에는 하나 이상의 SQL 문장이 포함된다. - 트랜잭션은 분할할 수 없는 최소의 단위이다. - 따라서, 전부 적용하거나 전부 취소. 즉, ALL OR NOTHING ​ 트랜잭션을 컨트롤하는 TCL TRANSACTION CONTROL LANGUAGE 커밋(COMMIT) : 올바르게 반영된 데이터를 데이터베이스에 반영시키는 것 롤백(ROLLBACK) : 트랜잭션 시작 이전의 상태로 되돌리는 것 저장점(SAVEPOINT) 트랜잭션 대상이 되는 SQL UPDATE, INSERT, DELETE 등 데이터를 수정하는 DML 문. SELECT FOR U..

# 4. 자격증/SQLD 2021.11.11

SQLD 자격증 # SQL 기본(과목2)_DML

DML이란? 자료들을 입력, 수정, 삭제, 조회하는 명령어 INSERT UPDATE DELETE SELECT 1. INSERT INSERT문 기본 형태 ▶ INSERT INTO 테이블명 (컬럼 리스트) VALUES (컬럼 리스트에 넣을 값); 해당 칼럼과 입력값을 1:1 매핑하여 입력한다. 칼럼의 데이터가 문자 유형일 경우 single quotation('')로 입력할 값 을 입력한다. 숫자일 경우 붙이지 않는다. 컬럼을 모두 명시하지 않은 경우엔 모든 컬럼을 삽입해야 된다. INSERT문 예제 1 (정의된 칼럼에 데이터 입력하기) INSERT INTO PLAYER (PLAYER_ID, PLAYER_NAME, TEAM_ID, POSITION, HEIGHT, WEIGHT, BACK_NO) VALUES ('..

# 4. 자격증/SQLD 2021.11.11

SQLD 자격증 # SQL 기본(과목2)_DDL

1. 데이터 유형 - 숫자 타입 ANSI/ISO 기준 : NUMERIC, DECIMAL, DEC, SMALLINT, INTEGER, INT, BIGINT, FLOAT, REAL, DOUBLE PRECISION SQL Server와 Sybase : 작은 정수형, 정수형, 큰 정수형, 실수형 등 + MONEY, SMALLMONEY Oracle : 숫자형 타입에 대해서 NUMBER 한 가지 숫자 타입의 데이터 유형만 지원 - 벤더에서 ANSI/ISO 표준을 사용할 때는 기능을 중심으로 구현하므로, 일반적으로 표준과 다른 용어를 사용하는 것이 허용 (ex: NUMERIC → NUMBER, WINDOW FUNCTION → ANALYTIC/RANK FUNCTION) - 테이블의 칼럼이 가지고 있는 대표적인 4가지 ..

# 4. 자격증/SQLD 2021.11.11

SQLD 자격증 # SQL 기본(과목2)_관계형 데이터베이스 개요

1. 데이터베이스 ■ 관계형 데이터베이스(Relational Database) ​- 파일 시스템의 단점 동시에 입력, 수정, 삭제할 수 없기 때문에 정보의 관리가 어렵다 복사본 파일을 만들어 사용할 경우 데이터의 불일치성이 발생한다. ​- 관계형 데이터베이스의 장점 정규화를 통해 이상(ANOMALY) 현상을 제거하고 데이터 중복을 피할 수 있다 동시성 관리, 병행 제어를 통해 데이터를 공유 데이터의 표현 방법 등을 체계화할 수 있고, 데이터 표준화, 데이터 품질을 확보 보안 기능 데이터 무결성(Integrity)을 보장 데이터를 회복/복구하는 기능 2. SQL(Structured Query Language) SQL 문장들의 종류 ​ 3. TABLE 데이터를 저장하는 객체(Object)로서 관계형 데이터베..

# 4. 자격증/SQLD 2021.11.11

SQLD 자격증 # 데이터 모델과 성능(과목1)_분산 데이터베이스와 성능

1. 분산 데이터베이스의 개요 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 노드로 위치시켜 사용성/성능 등을 극대화 시킨 데이터베이스 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스. 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임. 물리적 Site 분산, 논리적으로 사용자 통합·공유 2. 분산 데이터베이스의 투명성(Transparency) ​1) 분할투명성 (단편화) : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장 2) 위치 투명성 : 사용하려는 데이터의 저장 장소 명시 불필요. 위치정보가 System Catalog에 유지되어야 함 3)..

# 4. 자격증/SQLD 2021.11.11

SQLD 자격증 # 데이터 모델과 성능(과목1)_데이터베이스 구조와 성능

1. 슈퍼/서브타입 모델의 성능고려 방법 가. 슈퍼/서브타입 데이터 모델(Extended ER Model)의 개요 - 최근 가장 많이 쓰임 이유) 업무를 구성하는 데이터를 공통과 차이점을 특징을 고려하여 효과적으로 표현할 수 있기 때문 - 공통의 부분 -> 슈퍼타입 - 공통으로부터 상속받아 다른 엔티티와 차이가 있는 속성 -> 서브타입 - 논리적 데이터 모델에서 이용되는 형태이며, 분석단계에서 많이 쓰이는 모델 ​ - 물리적 데이터 모델로 설계시의 문제점이 나타남 이유) 적당한 노하우가 없음 결과) 1:1 타입이 되거나 All in one 타입이 되어버림 -> 성능저하 ​ ​ 나. 슈퍼/서브타입 데이터 모델의 변환 ​ - 성능저하의 원인 3가지 1) 트랜젝션은 항상 일괄로 처리하는데 테이블은 개별로 유지..

# 4. 자격증/SQLD 2021.11.11

SQLD 자격증 # 데이터 모델과 성능(과목1)_대량 데이터에 따른 성능

1. 대량 데이터발생에 따른 테이블 분할 개요 테이블 분할 설계를 통한 성능 저하의 예방 수평분할 : 컬럼 단위로 분할하여 I/O(Input/Output) 경감 수직분할 : 로우 단위로 분할하여 I/O 경감 성능저하의 원인 하나의 테이블에 데이터 대량집중 : 한 테이블에 데이터가 대량으로 집중될때 디스크 I/O를 많이 유발하게 된다. 하나의 테이블에 여러개의 컬럼 존재 : 디스크의 점유량이 높아지고 데이터를 읽는 I/O량이 많아져서 성능이 저하된다. 대량의 데이터가 처리되는 테이블의 경우 : 데이터를 처리하기 위한 I/O의 양이 증가. 인덱스를 적절하게 구성하여 이용하면 이를 줄일 수 있다. 대량의 데이터가 하나의 테이블에 존재할때 : 인덱스의 크기(용량)가 커지게 되고 인덱스를 찾아가는 단계가 깊어지게..

# 4. 자격증/SQLD 2021.11.11
반응형