자격증/정보처리필기 86

[정보처리산업기사] 86강 쿼리 성능 최적화

1.쿼리 성능 최적화 개요 데이터 입출력 애플리케이션의 성능 향상을 위해 SQL 코드를 최적화하는 것 쿼리 성능 최적화 전에 성능 측정 도구인 APM을 사용하여 최적화 할 쿼리를 선정 APM(Application Performanc Management/Monitoring) : 애플리케이션의 성능 관리를 위해 접속자, 자원 현황, 트랜잭셩 수행 내역, 장애 진단 등 다양한 모니터링 기능을 제공하는 도구 최적화 대상 쿼리에 대해 옵티마이저가 수립한 실행 계획을 검토하고 SQL 코드와 인덱스 재구성 2. 옵티마이저(Optimizer) 옵티마이저는 작성된 sql이 가장 효율적으로 수행되도록 최적의 경로를 찾아 주는 모듈이다. 옵티마이저 종류 RBO(rule based optimizer) CBO(cost base..

[정보처리산업기사] 85강 프로시저(Procedure)

1. 프로시저 개요 절차형 SQL을 활용해 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다. cf) 절차형 SQL : DB에서 연속적인 실행, 분기, 반복 등의 제어가 가능한 SQL 프로시저를 만들어 DB에 저장하면 여러 프로그램에서 호출하여 사용할 수 있다. 프로시저는 DB에 저장되어 수행되기 때문에 Stored Procedure라고 부른다. 프로시저는 시스템의 일일 마감 작업, 일괄 작업 등에 주로 사용된다. 프로시저 구성도 DECLARE : 프로시저의 명칭, 변수, 인수, 데이터 타입을 정의하는 선언부 BEGIN/END : 프로시저의 시작과 종료를 의미 CONTROL : 조건문 또는 반복문이 삽입되어 순차적으로 처리 SQL : DML, D..

[정보처리산업기사] 84강 절차형 SQL

1. 절차형 SQL의 개요 절차형 sql은 c, java 등의 프로그래밍 언어와 같이 연속적인 실행이나, 분기, 반복 등의 제어가 가능한 sql을 의미한다. 절차형 sql은 일반적인 프로그래밍 언어에 비해 효율은 떨어지지만 단일 sql문장으로 처리하기 어려운 연속적인 작업들을 처리하는데 적합하다. 절차형 sql은 dbms 엔진에서 직접 실행되기 때문에 입/출력 패킷이 적은 편이다. begin ~ end 형식으로 작성되는 블록 구조로 되어 있기 때문에 기능별 모듈화가 가능하다. 절차형 sql의 종류 프로시저(procedure) : 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 sql작업을 수행한다. 트리거(trigger) : 데이터 입력, 갱신, 삭제 등의 이벤트가 ..

[정보처리산업기사] 83강 DML - JOIN

1. JOIN의 개념 JOIN(조인)은 2개의 테이블에 대해 연관된 튜플들을 결합하여, 하나의 새로운 릴레이션을 반환한다. 크게 INNER JOIN과 OUTER JOIN으로 구분된다. JOIN은 일반적으로 FROM 절에 기술하지만, 릴레이션이 사용되는 어디에나 사용할 수 있다. 사용 형식과 의미 UNION 구조가 동일한 두 테이블을 통합할 땐 UNION을 사용한다. 중복된 행은 한 번만 출력 UNION ALL 구조가 동일한 두 테이블을 통합한 후 중복된 행도 그대로 출력한다 INTERSECT 두 SELECT 문의 조회 결과 중 공통된 행만 출력한다 EXCEPT 첫 번째 SELECT문의 결과에서 두 번째 SELECT 문의 조회 결과를 제외한 행을 출력한다 JOIN 2개 테이블에 대해 연관된 튜플을 결합하여..

[정보처리산업기사] 82강 SELECT - 2

1. 일반 형식 SELECT는 테이블에서 튜플을 검색 표기방법 SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭][, [테이블명.]속성명, ...] FROM 테이블명[, 테이블명, ...][, WINDOW 함수 OVER (PARTITION BY 속성명1, ... ORDER BY 속성명2) [AS 별칭]] [WHERE 조건] [GROUP BY 속성명, 속섬영, ..] [HAVING 조건] [ORDER BY 속성명 [ASC | DESC]]; PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술 ALL : 모든 튜플 검색할 때 지정, 생략 가능 DISTINCT : 중복 튜플 존재 시 한개만 검색 DISTINCTROW : 중복 튜플 존재 시 한개만 제거하지만 튜플 전체를 대상으로 함 속성..

[정보처리산업기사] 81강 SELECT - 1

1. 일반 형식 SELECT는 테이블에서 튜플을 검색 표기방법 SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭][, [테이블명.]속성명, ...] FROM 테이블명[, 테이블명, ...][, WINDOW 함수 OVER (PARTITION BY 속성명1, ... ORDER BY 속성명2) [AS 별칭]] [WHERE 조건] [GROUP BY 속성명, 속섬영, ..] [HAVING 조건] [ORDER BY 속성명 [ASC | DESC]]; PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술 ALL : 모든 튜플 검색할 때 지정, 생략 가능 DISTINCT : 중복 튜플 존재 시 한개만 검색 DISTINCTROW : 중복 튜플 존재 시 한개만 제거하지만 튜플 전체를 대상으로 함 속성..

[정보처리산업기사] 80강 DML

1. DML의 개념 DML(데이터 조작어)는 데이터베이스 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 관리하는 데 사용하는 언어 데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공한다. 2. INSERT INTO (삽입문) 테이블에 새로운 튜플을 삽입 명령어 표기법 INSERT INTO 테이블명([속성명1, 속성명2, ...]) VALUES (데이터1, 데이터2, ...) //사원 테이블에 (이름 - 김이박, 부서 - 개발)을 삽입하는 SQL문 INSERT INTO 사원(이름, 부서) VALUE(김이박, 개발); //사원 테이블에 있는 개발의 모든 튜플을 개발 부원(이름, 생일) 테이블에 삽입하는 SQL문 INSERT INTO 개발부원(이름, 주소) SELECT 이름, 주소..

[정보처리산업기사] 79강 DCL

1. DCL(Data Control Language)의 개념 DCL(데이터 제어어)는 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어 DCL은 DBA가 데이터 관리 목적으로 사용 2. GRANT/REVOKE 데이터베이스 관리자가 사용자에게 권한 부여 혹은 취소하기 위한 명령어 GRANT 데이터베이스 관리자가 사용자에게 권한 부여 REVOKE 데이터베이스 관리자가 사용자에게 권한 취소 사용자 등급 지정 및 해제 표기법 GRANT 사용자등급 TO 사용자_ID_리스트 [IDENTIFIED BY 암호]; REVOKE 사용자등급 FROM 사용자_ID_리스트 // 사용자 ID가 '테스트' 인 사람에게 데이터베이스 및 테이블 생성 권한 부여 SQL GRANT RESOURCE TO 테스트 /..

[정보처리산업기사] 78강 DDL

1. DDL의 개념 DDL(데이터 정의어)는 DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어 DDL의 종류에는 CREATE, ALTER, DROP 으로 구성됨 2. CREATE SCHEMA 스키마(데이터베이스 구조와 제약 조건에 관한 전반적인 명세를 기술한 것)를 정의하는 명령문 표기형식 CREATE SCHEMA 스키마명 AUTHORIZATION 사용자_id; 스키마(Schema) : 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 것으로 개체, 속성, 관계 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의합니다. //소유권자의 사용자 ID가 '김이박'이고 스키마 '성적'을 정의하는 SQL문 CREATE SCHEMA 성적 ..

[정보처리산업기사] 77강 SQL의 개념

1. SQL의 개요 국제 표준 데이터베이스 언어이며 많은 관계형 데이터베이스(RDB)를 지원하는 언어로 채택 질의어지만 질의 기능만 있는 것이 아닌 구조의 정의, 조작, 제어 기능을 모두 가지고 있다. 2. DDL(Data Define Language, 데이터 정의어) 스키마, 도메인, 테이블, 뷰, 인덱스를 정의, 변경, 삭제할 때 사용하는 언어 CREATE : 스키마, 도메인, 테이블, 뷰, 인덱스를 정의 ALTER : 테이블에 대한 정의를 변경 DROP : 스키마, 도메인, 테이블, 뷰, 인덱스를 삭제 3. DML(Data Manipulation Language, 데이터 조작어) 사용자가 저장된 데이터를 실질적으로 처리하는 데 사용 SELECT: 테이블에서 조건에 맞는 튜플 검색 INSERT : 테..