본문 바로가기

DB

(5)
정규화(Normalization) 정규화 란 정규화는 데이터베이스 설계 과정에서 데이터를 효율적으로 저장하고 중복을 최소화하며 데이터 일관성과 무결성을 유지하기 위한 기법을 의미한다. 정규화의 주요 목적은 다음과 같다.중복 데이터 제거- 동일한 데이터가 여러 위치에 저장되지 않도록 데이터 구조를 설계한다.데이터 무결성 보장- 데이터의 불일치나 오류를 방지하기 위해 종속성 있는 데이터를 올바르게 분리한다.이상 현상 해결- 이상 현상을 최소화하여 데이터베이스 관리가 용이하도록 한다.이상(Abnomal) 현상의 개념 및 종류 데이터베이스 설계에서 이상 현상은 데이터 삽입, 삭제, 또는 업데이트 시 발생하는 비정상적인 동작이나 문제를 의미한다. 이러한 이상 현상은 테이블 설계가 비효율적이거나 정규화가 제대로 이루어지지 않았을 때 발생할 수 있다..
DB Lock 이번 포스트를 보기 앞서 이전 포스트를 보고 오시기 바랍니다. https://jaystorage.tistory.com/29 Transaction의 Isolation Level이번 포스트를 보기 앞서 이전 포스트를 보고 오시기 바랍니다.https://jaystorage.tistory.com/28 DB TransactionTransaction 이란? 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행jaystorage.tistory.com  DB Lock 이란? DB Lock이란 데이터베이스에서 동시성과 데이터 일관성을 보장하기 위해 사용되는 메커니즘을 의미한다. 이러한 DB Lock은 여러 트랜잭션이 동시에 데이터에 접근하더라도 데이터가 손상되거나 일관성이 깨지지 않도록 만들어준다.  참..
Transaction의 Isolation Level 이번 포스트를 보기 앞서 이전 포스트를 보고 오시기 바랍니다.https://jaystorage.tistory.com/28 DB TransactionTransaction 이란? 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다. 트랜잭션의 특jaystorage.tistory.com  Isolation Level 이란? 트랜잭션의 격리 수준(Isolation Level)이란 여러 트랜잭션이 동시에 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터에 접근할 수 있게 허용할지 여부를 결정하는 것을 의미한다.  이러한 Isolation Level 등장하게 된 이유는 다음과 같다. 트랜잭션의 ..
DB Transaction Transaction 이란? 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다. 트랜잭션의 특징1) 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위이다.2) 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위이다.3) 하나의 트랜잭션은 Commit되거나 Rollback된다.   Transaction의 성질 트랜잭션은 ACID 원칙이라고 하는 성질을 가져야 한다.Atomicity(원자성)- 트랜잭션은 전부 수행되거나 전혀 수행되지 않아야 한다.Consistency(일관성)- 트랜잭션이 완료되면 데이터베이스는 일관된 상태를 유지해..
DB INDEX 첫 회사에 재직할 당시 은근 자주 들었던 얘기가 있다. “뭐가 문제야?”“이거 쿼리가 인덱스를 안 타는 것 같아요. 인덱스 설정이 안되어 있나?” 특정 데이터를 가져오기 위해 쿼리를 작성하는 사람들은 이 인덱스라는 것이 얼마나 중요한지 잘 알고 있을 것이다. 만약 DB 데이터가 적다면 인덱스는 반드시 필요하지 않을 수도 있다. 하지만 DB에 데이터가 어느정도 쌓이게 되면 인덱스는 더 이상 옵션이 아니라 필수가 된다. 오늘은 이러한 인덱스가 구체적으로 어떤 것이며 어떠한 방식으로 작동하는지 알아보고자 한다.  INDEX란 인덱스란 데이터베이스의 테이블에 대한 검색 속도를 향상시켜주는 자료구조이다. 테이블의 특정 컬럼(Column)에 인덱스를 생성하면, 해당 컬럼의 데이터를 정렬한 후 별도의 메모리 공간에 ..