Database


정규화ERD 내에서 중복 요소를 찾아 제거해 나가는 과정 (중복된 데이터는 많은 문제를 일으킨다.)3차 정규화 정도만 알면 설계하는데 무리가 없다.중복을 최소화 -> 완전히 없애는 것이 아니라 어느 정도는 인정하겠다.시간을 줄이기 위해(성능 최적화)정규화 절차 - 함수 종속성을 이용해 릴레이션을 연관성 있는 속성들로만 구성되도록 분해함. 제 1 정규화같은 성격과 내용의 컬럼이 연속적으로 나타나는 컬럼이 존재할 때, 해당 컬럼을 제거하고 기본테이블의 PK를 추가해 새로운 테이블을 생성하고, 기존의 테이블과 1:N 관계를 형성하는 것.제 2 정규화PK가 여러 키로 구성된 복합키로 구성된 경우복합키 전체에 의존하지 않고 복합키의 일부분에만 종속되는 속성들이 존재할 경우(즉, 부분적 함수 종속 관계) 이를 분리..


인덱스(Index)는 데이터를 빠르게 검색하기 위한 자료구조이다. 책의 색인과 비슷한 개념으로, 특정 컬럼의 값과 그 값이 위치한 레코드를 참조하는 포인터를 매핑하고 있다. 레코드 : 데이터 행(을 가리키는 위치 정보.) 인덱스는 특정 컬럼의 값과 그 값의 위치 정보를 매핑하여 저장하는 자료구조이다. 작동 원리 1. 생성 : 인덱스는 하나 이상의 컬럼을 기반으로 생성된다. 이 컬럼들을 인덱스 키라고 한다. 인덱스는 키-값 쌍으로 이루어져 있으며, 키는 컬럼 값, 값은 레코드의 위치이다. 2. 검색 : 특정 컬럼 값을 검색할 때, 인덱스는 해당 컬럼 값에 해당하는 레코드의 위치를 빠르게 찾아준다. 3. 갱신 : 레코드가 삽입, 수정, 삭제될 때, 해당 레코드를 참조하는 인덱스도 함께 갱신된다. 특징 1. ..


트랜잭션(Transaction) : DBMS에서 데이터를 다루는 논리적인 작업의 단위 - DB에서 데이터를 다룰 때 장애가 일어난 경우 데이터를 복구하는 작업의 단위가 된다. - DB에서 여러 작업이 동시에 같은 데이터를 다룰 때가 이 작업을 서로 분리하는 단위 - 전체가 수행되거나 또는 전혀 수행되지 않아야 한다. 커밋 : 트랜잭션의 수행이 완료됨을 트랜잭션 관리자에게 알려주는 연산이다. ACID 성질 1. 원자성(Atomicity) : 트랜잭션에 포함된 작업은 전부 수행되거나 전부 수행되지 않아야 한다. 2. 일관성(Consistency) : 트랜잭션을 수행하기 전이나 후에 데이터베이스는 항상 일관된 상태를 유지해야 한다. 3. 고립성(Isolation) : 수행 중인 트랜잭션에 다른 트랜잭션이 끼어..


NoSQL(Not Only SQL)은 관계형 데이터베이스 모델을 사용하지 않는 데이터베이스 시스템을 가리킨다. 대량의 비정형 데이터를 처리하고 확장성과 성능을 향상시킬 수 있는 유연한 데이터 모델을 제공한다. 1. 개요 - NoSQL은 스키마가 없거나 유연한 스키마를 가지며, 데이터 모델은 키-값, 문서, 열, 그래프 등 다양한 형태를 가질 수 있다. - 수평적으로 확장 가능하며, 대량의 데이터 처리에 특화되어 있다. - 고 가용성, 분산 처리, 자동 복구 등을 지원하여 데이터베이스 시스템의 신뢰성을 향상시킨다. - 일반적으로 RDBMS에 비해 쓰기와 읽기 성능이 월등히 빠르다. - 일반적으로 관계형 데베는 저장된 데이터의 양이 많아질수록 읽기/쓰기 성능의 저하가 일어난다. 특히 쓰기 성능의 저하가 심한..