오늘은 단일 쿼리로는 해결할 수 없는 로직을 처리할 때 필요한 개념인 트랜잭션에 대해 알아보고, Spring에서 어떻게 활용하는지 확인해보도록 하겠습니다. 1. 동시성 제어(Concurrency Control) [ 동시성 제어(Concurrency Control)이란? ] 동시성 제어란 DBMS가 다수의 사용자 사이에서 동시에 작용하는 다중 트랜잭션의 상호간섭 작용에서 Database를 보호하는 것을 의미한다. 일반적으로 동시성을 허용하면 일관성이 낮아지게 되며 이를 그래프로 나타내면 아래와 같다. 다수 사용자의 동시 접속을 위해 DBMS는 동시성 제어를 할 수 있도록 Lock 기능과 SET TRANSACTION 명령어를 이용해 트랜잭션의 격리성 수준을 조정할 수 있는 기능도 제공한다. 이렇게 동시성을 ..
이 내용은 아래의 정보에 해당하는 논문을 요약한 것입니다. 논문 제목: Query Optimization Techniques - Tips For Writing Efficient And Faster SQL Queries 저자 : Jean HABIMANA 출판된 저널/컨퍼런스명: INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH 볼륨/페이지: VOLUME 4, ISSUE 10, 5 출판년도: 2015 1. Query Optimize Skill(Query 최적화 및 튜닝 기술) [ Tip #1: Use Column Names Instead of * in a SELECT Statement ] 테이블에서 몇 개의 컬럼만을 조회하는 경우라면, SELECT *을 ..
[ 본 사진은 쉽게 배우는 오라클로 배우는 데이터베이스 개론과 실습 ppt에서 캡처했습니다. ]이번 장에서는 트랜잭션(Transaction), 동시성 제어(Locking or Currency Control), 회복(Recovery)에 대해 알아보겠습니다. 1. 트랜잭션(Transaction) [ 트랜잭션 ]트랜잭션: DBMS에서 데이터를 다루는 논리적인 작업의 단위DB에서 데이터를 다룰 때 장애가 일어난 경우 데이터를 복구하는 작업의 단위가 된다.DB에서 여러 작업이 동시에 같은 데이터를 다룰 때가 이 작업을 서로 분리하는 단위가 된다.트랜잭션은 전체가 수행되거나 또는 전혀 수행되지 않아야 한다.(All or Nothing)우리가 데이터베이스에 삽입, 수정, 삭제 등의 작업을 할 때, 여러 개의 작업들을..
[ 본 사진은 쉽게 배우는 오라클로 배우는 데이터베이스 개론과 실습 ppt에서 캡처했습니다. ] 이번에는 이상현상(Anomly), 함수 종속성(Functional Dependency), 그리고 정규화(Normalization)에 대해 알아보겠습니다. 1. 이상현상(Anomly) [ 이상현상의 개념 ] 삭제 이상: 튜플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상 삽입 이상: 튜플 삽입 시 특정 속성에 해당하는 값이 없어 NULL을 입력해야 하는 현상 수정 이상: 튜플 수정 시 중복된 데이터의 일부만 수정되어 일어나는 데이터 불일치 현상 삭제 이상(Deletion Anomly)란 튜플을 삭제할 때 저장되어있는 다른 정보도 삭제되어 연쇄 삭제(Triggered Deletion)의 문제가 발생..
[ 본 사진은 쉽게 배우는 오라클로 배우는 데이터베이스 개론과 실습 ppt에서 캡처했습니다. ]이번 장에서는 데이터 모델링(Data Modeling), ER 모델(ER Model)에 대해 알아보겠습니다. 1. 데이터 모델링의 개념(Data Modeling) [ 데이터베이스 생명주기 ]데이터베이스 생명주기는 데이터베이스의 생성과 운영에 관련된 특징을 의미하고 아래의 5단계로 구성된다.요구사항 수집 및 분석설계구현운영감시 및 개선요구사항 수집 및 분석의 단계에서는 사용자들의 요구사항을 듣고 분석하여 데이터베이스 구축의 범위를 정합니다. 설계 단계에서는 분석된 요구사항을 기초로 주요 개념과 업무 프로세스 등을 식별하고(개념적 설계) 사용하는 DBMS의 종류에 맞게 변환(논리적 설계)한 후, 데이터베이스 스키마..