Relation은 데이터베이스에서 사용되기 위한 조건을 갖춘 Table입니다. 이때, Relation의 제약 조건은 'Cell은 단일값 가져야함', '중복된 Row가 존재하지 않음' 등이 있습니다. 하지만, 통상적으로 두 용어를 구분하지 않고 사용하기도 합니다.Supe
연관 관계는 서로 다른 Table(Entity) 간의 논리적인 연결을 의미합니다. 연관 관계를 통해 여러 테이블에 분산된 데이터를 효율적으로 관리하고, 필요한 정보를 쉽게 결합하여 조회할 수 있습니다. 또한, 연관 관계는 다음과 같은 특징을 가지고 있습니다.참조 무결성
Join은 두 개 이상의 테이블을 서로 연결하여 하나의 결과를 만들어 보여주는 것을 말합니다. 이는 Inner Join(Join)과 Left Outer Join(Left Join) 2가지 종류로 분류됩니다.Inner Join은 두 테이블 모두 있는 내용에 대하여 조회하
RDB는 사전에 엄격하게 정의된 DB Schema를 요구하는 Table 기반 데이터 구조를 가지고 있습니다. 이는 엄격한 Schema로 인해 데이터 중복이 발생하지 않기 때문에 데이터 Update가 빈번할때 적합합니다.NoSQL은 Table 형식이 아닌 비정형 데이터를
트랜잭션이란 데이터베이스 내에서 수행되는 작업의 최소 단위로 무결성을 유지하며 데이터베이스의 상태를 변화시키는 기능을 수행합니다. 또한, 데이터베이스에서 여러 연산을 하나의 논리적 단위로 묶어 처리하기 위해 사용합니다. 이때, 트랜잭션의 무결성을 보장하기 위해서는 AC
Index는 데이터베이스에서 검색 성능을 높여주는 대표적인 방법으로, 마치 책의 끝에 있는 색인처럼 특정 값을 빠르게 찾기 위해 사용되는 자료구조입니다. 인덱스를 사용하면 전체 테이블을 처음부터 끝까지 탐색하는 Full Table Scan 대신 Index Scan을 통
낙관적 락과 비관적 락은 데이터베이스 트랜잭션 동시성 제어를 위한 주요 기법입니다. 데이터 무결성을 유지하면서 여러 트랜잭션이 동시에 데이터에 접근할 때 발생할 수 있는 충돌을 해결할 때 사용합니다.낙관적 락은 데이터 충돌이 적을 것으로 가정하고, 데이터를 읽을 때 락
파티셔닝은 대용량 데이터를 보다 효율적으로 저장하고 관리하기 위해, 특정 기준에 따라 테이블이나 인덱스를 물리적으로 나누는 기술입니다.테이블 또는 인덱스 크기가 커짐에 따라 발생하는 성능 저화 및 관리 어려움 등의 문제를 해결하기 위해 사용합니다.샤딩과 차이점은 무엇인
오늘은 MySQL에서 제공하는 스토리지 엔진에 대해 알아보겠습니다. MySQL은 단순한 RDBMS를 넘어 다양한 용도에 맞게 데이터를 저장할 수 있도록 여러 가지 스토리지 엔진을 제공합니다. 이 중에서도 실제 서비스에서 자주 사용되거나 특정 목적에 특화된 4가지(Inn
격리 수준이란 동시에 실행되는 트랜잭션이 서로에게 얼마나 영향을 미치지 않도록 할지를 결정하는 정도를 말합니다. 즉, 트랜잭션 간의 동시성과 정합성의 균형을 조절하는 설정입니다.데이터베이스는 기본적으로 여러 사용자가 동시에 접근할 수 있습니다. 만약, 격리 수준이 낮으