데이터베이스(7)
-
[SQLP] 이론 8. 데이터베이스 성능
1. 성능 - 클라이언트 요청에 대한 응답시간과 시간당 처리할 수 있는 처리량 (Response Time, Throughput) 2. 용어 - Concurrent User : 동시 사용자 (Active + Inactive User) - Active User : 대상 서버에 부하를 발생시키고 있는 사용자 - Inactive User : 현재 서버에 요청을 보내고 있지 않은 사용자 - TPS (Transaction Per Second) : 서버가 일정 시간(초) 내에 처리한 트랜잭션의 양 - Response Time : 요청 후 응답을 받을 때 까지 소요된 시간 - Resource : 한정되어 있는 자원 3. 특성 - 경합부하 구간에서 Response Time 이 급격하게 늘어남 4. 성능 측정 대상 - 목..
2021.12.08 -
[SQLP] 이론 7. 백업 및 복구
1. 백업의 관점 1) 핫백업 & 콜드백업 - 핫백업 : 온라인백업, 데이터베이스 기능 이용, 백업 대상의 데이터베이스를 정지하지 않고 가동중인 상태에서 백업데이터를 얻음 - 콜드백업 : 오프라인 백업, OS기능, 백업 대상의 데이터베이스를 정지한 후 백업 데이터를 얻음, OS 명령으로 복사 2) 논리백업 & 물리백업 - 논리백업 : SQL 기반 텍스트 형식으로 백업 - 물리백업 : 데이터 영역을 그대로 Dump, 이미지로 바이너리 형식 기록 3) 풀백업 & 부분(증분/차등)백업 - 풀백업 : 데이터 전체를 매일 백업 - 부분백업 : 풀 백업 이후 갱신된 데이터를 백업, 차등/증분 백업 2. 데이터베이스 관리 시 주의 - 백업 파일들은 떨어진 곳에 각각 보관 - 지리적으로 따로 - 신속한 복구가 가능하도..
2021.12.08 -
[SQLP] 이론 6. 테이블 설계
1. 테이블 TABLE - 데이터를 관리 및 저장하는 장소 - 데이터의 효율적인 관리 및 적절한 조작이 중요함 - 2차원 표 2. 설계 규칙 - 집합에 따라 설계 - 기본키에 따라 설계 ※ 기본키 - 특정 집합에서 특정 행을 유일하게 식별할 수 있는 속성의 집합 - 중복되면 안됨 3. 정규형 - 테이블을 정의하는 기본 형태 1) 제1정규형 (1NF) : 테이블의 셀에 여러 개의 값을 포함하지 않음 2) 제2정규형 (2NF) : 부분함수 종속성을 허용하지 않음, 기본키를 구성하는 열의 일부에만 함수 종속이 존재함 3) 제3정규형 (3NF) : 기본 키를 제외한 일반 컬럼끼리 함수 종속이 발생하지 않도록 설계 4) 4~5 정규형은 거의 사용하지 않음 4. ER다이어그램 - 데이터 구조 표기법 1) Barke..
2021.12.08 -
[SQLP] 이론 5. Transaction
1. 트랜잭션 - 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위 - 상호독립적 - 트랜잭션 간에는 서로 간섭하지 않음 2. 4대 특징 1) 원자성 Atomicity - All or Nothing 2) 일관성 Consistency - 데이터 조작 전후 데이터가 일관성이 있어야함 3) 고립성 Isolation - 동시에 데이터 조작을 실행할 경우, 모순 없이 실행되는 것을 보증 4) 지속성 Durability - Commit 후 데이터 변경사항이 확정되는 것 3. 격리 수준 (ANSI표준) Level Description Level 동시성 Dirty Read Non-Repeatable Read Phantom Read Read Uncommitted 아직 Commit 되지 않은 데이터를 다른 ..
2021.12.03 -
[SQL] VIEW
1. VIEW - 실제 데이터를 저장하고 있지는 않지만 DML 작업이 가능한 가상의 테이블 - 하나 이상의 테이블에서 원하는 데이터를 선택하여 미리 정의해 둔 형태 - 다른 뷰 참조 가능 2. CREATE CREATE OR REPLACE VIEW 뷰 이름 ( COLOMN 별칭 --옵션 ) AS SELECT 구문 ※옵션 WITH READ ONLY --SELECT만 가능 WITH CHECK OPTION [CONSTRAINT 제약조건명] --WHERE 절의 조건에 해당하는 데이터만 변경 가능 - OR REPLACE : 뷰 DROP 없이 바로 수정 가능함 3. DELETE(DROP) DROP VIEW 뷰이름 ※ 특징 - 한 테이블로 이루어진 단순 뷰의 경우, DML 사용 가능 (WITH READ ONLY 옵션 ..
2021.12.03 -
[SQL] SELECT, INSERT, UPDATE, DELETE, MERGE
1. SELECT 조회 ※필수 SELECT 필드 FROM 테이블명 ※옵션 WHERE 조건 GROUP BY 조건 HAVING 조건 ORDER BY 조건(default.ASC) 2. INSERT 삽입 INSERT INTO 테이블명 ( 필드1, 필드2, ... ) VALUES ( 값1, 값2, ... ) 컬럼의 수와 값의 수가 같은 경우, 컬럼 명시는 생략 가능하고, 값은 반드시 컬럼의 순서대로 들어가야 한다. 3. UPDATE 수정 UPDATE 테이블명 SET 필드1 = 값1, 필드2 = 값2, ... WHERE 조건 4. DELETE 삭제 DELETE FROM 테이블명 WHERE 조건 5. MERGE 삽입 또는 수정 MERGE INTO 테이블명 USING [ DUAL(단일테이블) | 조인테이블명 ] ON ..
2021.12.02 -
[SQL] DDL, DML, DCL, TCL
※ SQL ( Structured Query Language ) : 구조적 질의어. DB를 제어하고 관리하기 위한 언어. 크게 DDL, DML, DCL 3가지로 나눠진다. 1. DDL ( Data Definition Languange, 데이터정의어 ) 명령어 설명 CREATE 데이터 구조 생성 ALTER 데이터 구조 변경 DROP 데이터 구조 삭제 TRUNCATE 데이터 구조 초기화 COMMENT 설명 추가, 변경 등 ※ RENAME 등도 있음 2. DML ( Data Management Language, 데이터조작어 ) 명령어 설명 SELECT 테이블 데이터 조회 INSERT 테이블 데이터 추가 UPDATE 테이블 데이터 변경 DELETE 테이블 데이터 삭제 MERGE 테이블 데이터 추가 또는 변경 ※..
2021.12.01