2025/11/19 15

[3과목 데이터베이스 구축] 데이터 전환 - 121. 데이터 전환 ~ 123. 데이터 전환 방안

1. 데이터 전환운영 중인 기존 정보 시스템에 축적되어 있는 데이터를 추출(Extraction)하여 새로 개발할 정보 시스템에서 운영 가능하도록 변환(Transformation)한 후, 적재(Loading)하는 일련의 과정데이터 전환은 ETL(Extraction, Transformation, Load) = 추출, 변환, 적재 과정데이터 이행(Data Migration) 또는 데이터 이관1) 데이터 전환 계획서데이터 전환이 필요한 대상을 분석하여 데이터 전환 작업에 필요한 모든 계획을 기록하는 문서데이터 전환 개요, 데이터 전환 대상 및 범위, 데이터 전환 환경 구성, 데이터 전환 조직 및 역할, 데이터 전환 일정, 데이터 전환 방안, 데이터 장비 방안, 비상계획, 데이터 복구 대책 등 2. 데이터 전환 ..

[3과목 데이터베이스 구축] SQL 활용 - 120. 쿼리 성능 최적화

데이터 입 · 출력 애플리케이션의 성능 향상을 위해 SQL 코드를 최적화하는 것쿼리 성능 최적화 전에 성능 측정 도구인 APM을 사용하여 최적화 할 쿼리를 선정해야 함💡 APM (Application Perfomance Management/Monitoring)- 애플리케이션의 성능관리를 위해 접속자, 자원 혀황, 트랜잭션 수행 내역, 장애 진단 등 다양한 모니터링기능을 제공하는 도구- 리소스 방식 : Nagios, Zabbix, Cacti- 에느투엔드 방식 : VisualVM, 제니퍼, 스카우터 최적화 할 쿼리에 대해 옵티마이저가 수립한 실행 계획을 검토하고 SQL코드와 인덱스를 재구성💡 옵티마이저- 작성된 SQL이 가장 효율적으로 수행되도록 최적의 경로를 찾아주는 모듈- 실무에서는 주로 CBO 사용..

[3과목 데이터베이스 구축] SQL 활용 - 119. ⭐ ORM (Object-Relational Mapping)

객체지향 프로그래밍의 객체(Object)와 관계형 데이터베이스(Relational Database)의 데이터를 연결(Mapping)해주는 기술객체지향 프로그래밍에서 사용할 수 있는 가상의 객체지향 데이터베이스를 만들어 프로그래밍 코드와 데이터를 연결가상의 객체지향 데이터베이스는 프로그래밍 코드 또는 데이터베이스와 독립적이므로 재사용 및 유지보수 용이SQL 코드를 직접 입력하지 않고 선언문이나 할당 같은 부수적인 코드가 생략되지 때문에 직관적이고 간단하게 데이터 조작 가능1. ORM 프레임워크언어종류JavaJPA, Hibernate, EclipseLink, DataNucleus, EbeanC++ODB, QxQrmPythonDjango, SQLAlchemy, SrotmiOSDatabaseObjects, Co..

[3과목 데이터베이스 구축] SQL 활용 - 118. SQL 테스트

작성 의도에 맞게 원하는 기능을 수행하는지 검증하는 과정1. 단문 SQL 테스트DDL, DML, DCL이 포함되어 있는 SQL과 TCL을 테스트하는 것직접 실행하여 결과물을 확인실행 시 오류나 경고가 발생할 경우 메시지를 참조하여 문제를 해결DESCRIBE 명령어로 DDL로 작성된 테이블이나 뷰의 속성, 자료형, 옵션들을 바로 확인가능DESC [개체명];DML로 변경한 데이터는 SELECT문으로 정상적인 변경 여부 확인 가능DCL로 설정된 사용자 권한은 사용자 권한 정보가 저장된 테이블을 SELECT로 조회하거나, SHOW명령어로 확인 가능Oracle : SELECT * FROM DBA_ROLE_PRIVES WHERE GRANTEE=사용자;MySQL : SHOW GRANTS FOR 사용자@호스트;2. 절..

[3과목 데이터베이스 구축] SQL 활용 - 117. DBMS 접속 기술

사용자가 데이터를 사용하기 위해 응용 시스템을 이용하여 DBMS에 접근하는 것응용 시스템은 사용자로부터 매개 변수를 전달받아 SQL을 실행하고 DBMS로부터 전달받은 결과를 사용자에게 전달하는 매개체 역할 수행웹 응용 시스템은 웹 서버와 웹 애플리케이션 서버(WAS)로 구성서비스 규모가 작은 경우 웹 서버와 웹 애플리케이션 서버를 통합하여 하나의 서버만으로 운용웹 서버 : 웹 페이지, 저용량 자료 등의 처리 담당WAS : DBMS와 통신하며 대용량 파일이나 복잡한 로직 등의 처리 담당1. DBMS 접속 기술API, 프레임워크1) JDBC (Java DataBase Connectivity)Java 언어로 다양한 종류의 데이터 베이스에 접속하고 SQL문을 수행할 때 사용되는 표준 API1997년 2월 썬 마..

[3과목 데이터베이스 구축] SQL 활용 - 116. 사용자 정의 함수

프로시저와 유사하게 SQL을 사용하여 일련의 작업을 연속적으로 처리종료 시 처리 결과를 단일값으로 반환하는 절차형 SQL데이터베이스에 저장되며, SELECT, INSERT, DELETE, UPDATE등 DML 호출에 의해 실행됨예약어 RETURN을 통해 값을 반환하기 때문에 출력 파라미터가 없음INSERT, DELETE, UPDATE를 통한 테이블 조작 불가SELECT를 통한 조회만 가능프로시저를 호출하여 사용 불가SUM(), AVG() 등의 내장함수처럼 DML문에서 반환값을 활용하기 위한 용도로 사용💡 프로시저 vs 사용자 정의 함수구분프로시저사용자 정의 함수반환값없거나 1개 이상 가능1개파라미터입 · 출력 가능입력만 가능사용 가능 명력문DML, DCLSELECT호출프로시저, 사용자 정의 함수사용자 ..

[3과목 데이터베이스 구축] SQL 활용 - 115. ⭐ 트리거 (Trigger)

데이터베이스 시스템에서 데이터의 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL데이터베이스에 저장되며, 데이터 변경 및 무결성 뮤지, 로그 메시지 출력 등을 목적으로 사용됨DCL 사용불가DCL이 포함된 프로시저나 함수를 호출하는 경우에도 오류 발생오류가 있을 경우 트리거가 처리하는 데이터에도 영향을 미치므로 트리거 생성시 세심한 주의 필요1. 트리거 구성DECLARE : 트리거 명칭, 변수 및 상수, 데이터 타입을 정의하는 선언부EVENT : 트리거가 실행되는 조건 명시BEGIN / END : 트리거의 시작과 종료CONTROL : 조건문 또는 반복문이 삽입되어 순차적으로 처리됨SQL : DML문이 삽입되어 데이터 관리를 위한 조회, 추가, 수정, 삭제 작업을 ..

[3과목 데이터베이스 구축] SQL 활용 - 114. 프로시저 (Procedure)

절차형 SQL을 활용해 특정 기능을 수행하는 일종의 트랜잭션 언어호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행여러 프로그램에서 호출하여 사용 가능데이터베이스에 저장되어 수행되기 때문에 스토어드(Stored) 프로시저라고도 불림시스템의 일일 마감 작업, 일괄(Batch) 작업 등 주로 사용1. 프로시저 구성DECLARE : 프로시저의 명칭, 변수, 인수, 데이터 타입을 정의하는 선언부DEGIN / END : 프로시저의 시작과 종료를 의미CONTROL : 조건문 또는 반복문이 삽입되어 순차적으로 처리SQL : DML, DCL이 삽입되어 데이터 관리를 위한 조회, 추가, 수정, 삭제 작업을 수행EXCEPTION : BEGIN ~ END 안의 구문 실행 시 예외가 발생하면 이를 처리하는 방법 정의T..

[3과목 데이터베이스 구축] SQL 응용 - 113. ⭐ DML - JOIN

2개의 테이블에 대해 연관된 튜플들을 결합해 하나의 새로운 릴레이션을 반환일반적으로 FROM절에 기술하지만, 릴레이션이 사용되는 어느 곳에서나 사용 가능INNER JOIN, OUTER JOIN1. INNER JOINEQUI JOIN, NOT-EQUI JOIN조건 없는 INNER JOIN 수행 시 CROSS-JOIN과 동일한 결과를 얻을 수 있음1) EQUI JOINJOIN 대상 테이블에서 공통 속성을 기준으로 '='(equal) 비교에 의해 같은 값을 가지는 행을 연결하여 결과를 생성하는 방법NATURAL JOIN : '='일 경우 동일 속성이 두 번 나타나게 되는데, 이중 중복 속성을 제거하여 같은 속성을 한 번만 표기하는 방법연결 고리가 되는 공통 속성을 JOIN 속성이라함WHERE절을 이용한 EQU..

[3과목 데이터베이스 구축] SQL 응용 - 108. ⭐ DDL (Data Define Language) ~ 112. ⭐ DML - SELECT 2

1. ⭐ DDL (Data Define Language)1. DB구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어2. 결과가 데이터 사전(Data Dictionary)이라는 특별한 파일에 여러개의 테이블로서 저장됨 종류설명CREATE SCHEMA스키마 정의스키마 이름과 소유권자나 허가권자 정의CREATE DOMAIN도메인 정의일반적인 데이터 타입처럼 사용CREATE TABLE테이블 정의속성명, 속성 데이터 타입, 기본 값, NOT NULL여부 지정CREATE VIEW뷰를 정의SELECT문을 서브쿼리로 사용해 SELECT문 결과로서 뷰를 생성서브쿼리인 SELECT문에는 UNION이나 ORDER BY절 사용 불가속성명을 기술하지 않으면 SELECT문의 속성명이 자동으로 사용..