반응형

분류 전체보기 492

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

SQLD 자격증 # 데이터 모델과 성능(과목1)_반정규화와 성능

1. 반정규화를 통한 성능 향상 전략 ​ 가. 반정규화의 정의 데이터를 중복하여 성능을 향상하기 위한 기법이라고 정의할 수 있고 더 넓은 의미의 반정규화는 성능을 향상하기 위해 정규화된 데이터 모델에서 중복, 통합, 분리 등을 수행하는 모든 과정을 의미한다. 데이터 무결성이 깨질 수 있어도 반정규화를 적용하는 이유 데이터를 조회할 때 디스크 I/O량이 많아서 성능이 저하될 때 경로가 너무 멀어 조인으로 인한 성능저하가 예상될 때 칼럼을 계산하여 읽을 때 성능이 저하될 것이 예상되는 경우 반정규화를 수행 정규화만을 수행하면 엔터티의 갯수가 증가하고 관계가 많아져 일부 여러 개의 조인이 걸려야만 데이터를 가져오는 경우가 있다. 이러한 경우 조회에 대한 처리성능이 중요하다고 판단될 때 부분적으로 반정규화를 고..

# 4. 자격증/SQLD 2021.11.11

SQLD 자격증 # 데이터 모델과 성능(과목1)_정규화와 성능

정규화, 비정규화 1. 정규화를 통한 성능 향상 전략 정규화란? 기본적으로 데이터에 대한 중복성을 제거하여 주고 성능이 향상되는 특징을 가지고 있다. 데이터베이스에서 데이터를 처리할 때 성능이라고 하면 조회 성능과 입력/수정/삭제 성능의 두 부류로 구분된다. 이 두 가지 성능이 모두 우수하면 좋겠지만 데이터 모델을 구성하는 방식에 따라 두 성능이 Trade-Off 되어 나타나는 경우가 많이 있다. 정규화를 수행한다는 것은 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반 속성을 의존자로 하여 입력/수정/삭제 이상을 제거하는 것이다. 데이터의 중복속성을 제거하고 결정자에 의해 동일한 의미의 일반 속성이 하나의 테이블로 집약되므로 한 테이블의 데이터 용량이 최소화되는 효과가 있다. 따라서 정규..

# 4. 자격증/SQLD 2021.11.11

SQLD 자격증 # 데이터 모델과 성능(과목1)_성능 데이터 모델링의 개요

1. 성능 데이터 모델링의 정의 성능이 저하되는 데이터 모델의 경우 데이터 모델 구조에 의해 성능 저하 데이터가 대용량이 됨으로 인해 불가피하게 성능 저하 인덱스 특성을 충분히 고려하지 않고 인덱스를 생성함으로 인해 성능 저하 ​ 2. 성능 데이터 모델링 수행시점 성능 향상을 위한 비용은 프로젝트 사전에 할수록 비용이 들지 않는다. 특히 분석/설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능저하에 따른 재업무(Rework) 비용을 최소화 할 수 있는 기회를 가지게 된다. 따라서 분석/설계 단계에서 데이터베이스 처리 성능을 향상시킬 수 있는 방법을 주도면밀하게 고려해야 한다. 3. 성능 데이터 모델링 고려사항 순서 데이터 모델링을 할 때 정규화를 정확하게 수행한다. 데이터베이스 ..

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