반응형
제육's 휘발성 코딩
반응형
[Database] 인덱스 정리 (클러스터, 보조 인덱스, B+ 트리)
CS/데이터베이스 2022. 6. 7. 02:40

INDEX INDEX는 데이터베이스에서 릴레이션의 검색 성능을 높여주는 대표적인 방법 중 하나이다. 일반적인 RDBMS에선 B+Tree 자료 구조를 사용하여 구현한다. INDEX 방식은 테이블의 컬럼을 별도로 저장하여 검색 시 해당 테이블의 레코드를 FULL SCAN하는 것이 아니라 INDEX 파일을 검색하여 검색 속도를 빠르게 한다. SEARCH-KEY라는 이름의 속성값과 포인터를 통해 검색하여 SELECT 결과를 빠르게 찾아올 수 있다. 클러스터형 인덱스 기본키는 자동으로 클러스터형 인덱스가 생성된다. 해당 컬럼 기준으로 정렬이 된다. 보조 인덱스 보조 인덱스(secondary index)는 별도의 공간에 인덱스가 생성되며 create index 와 같이 index를 생성하거나 고유키(unique)로..

[Database] 트랜잭션 격리 수준
CS/데이터베이스 2022. 6. 7. 00:13

트랜잭션 격리 수준 트랜잭션의 4원칙인 ACID에서 I인 격리성은 트랜잭션 수행 시 서로 동기화 보장을 의미한다. 즉, 트랜잭션의 병렬성에서 서로 격리되어 마치 순차적으로 실행되는 것처럼 동작해야되는 것을 의미한다. 트랜잭션 격리 수준은 다음과 같이 4가지로 나뉜다. 아래로 내려갈 수록 성능이 낮아지고, 격리 수준이 높아진다. (즉, 성능이 나빠지는 만큼 격리성이 높아진다.) READ UNCOMMITTED (커밋되지 않은 읽기) READ COMMITTED (커밋된 읽기) REPEATABLE READ (반복 가능한 읽기) SERIALIZABLE (직렬화 기능) 트랜잭션에 관한 이론은 https://sasca37.tistory.com/204 를 참고하자. 격리 수준 READ_UNCOMMITTED 가장 낮은 ..

[Database] 정규화 정리
CS/데이터베이스 2022. 6. 6. 23:24

정규화 정규화 과정은 릴레이션 간의 잘못된 종속 관계로 인해 데이터베이스 이상 현상이 발생해서 해결하거나, 저장 공간을 효율적으로 사용하기 위해 릴레이션을 여러 개로 분리하는 과정이다. 이상 현상이란 한 개의 값을 가져야 하는 컬럼이 여러 값을 갖거나, 삽입 또는 삭제 시 문제가 발생하는 현상을 말한다. 정규화 과정은 정규화 원칙을 거쳐서 진행되며 정규형(NF, Normal Form)으로 표현한다. 정규화 원칙에는 제1정규형, 제2정규형, 제3정규형, 보이스/코드 정규형, 제4정규형, 제5정규형 등이 있다. 제1 정규형 ~ 보이스/코드 정규형 까지를 다뤄보자. 제1 정규형 제1 정규형 : 릴레이션의 모든 속성은 하나의 도메인을 갖고 있는 형태 현재 릴레이션은 도메인 값이 여러 개인 속성이 있다. 제1 정..

[Database] 데이터베이스 정리 (엔티티, 릴레이션, 속성)
CS/데이터베이스 2022. 6. 6. 21:39

데이터베이스란 데이터베이스(DB, Database)는 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터 모음이다. 이 데이터베이스를 제어 및 관리하는 통합 시스템을 DBMS (Database Management System)라고 하며, DBMS 마다 정의된 쿼리 언어들을 사용하여 데이터베이스를 관리한다. 엔티티 엔티티(Entity)란 사람, 장소, 물건 등 여러 개의 속성을 지닌 명사를 의미한다. 예를 들어 회원이란 엔티티를 보면 회원 (이름, 아이디, 주소, 전화번호) 등이 있으며 서비스에 맞게 속성을 지정한다. 약한 엔티티와 강한 엔티티 엔티티는 약한 엔티티와 강한 에티티로 나뉜다. 예를 들어 방과 건물을 보면, 방은 항상 건물에 종속적이며 건물은 독립적으로 존재한다. 이때 종속적인 방은 약..

[Database] 개체, 속성, 관계 의미
CS/데이터베이스 2021. 9. 1. 18:43

데이터베이스 엔티티 (Entity) 엔티티는 업무에서 관리해야 하는 데이터 집합을 의미 개념, 사건, 장소 등의 명사 엔티티 특징 식별자 : 유일한 식별자 인스턴스 집합 : 2개 이상의 인스턴스 필요 ex) 고객 정보는 2명 이상 있어야 한다. 속성 : 엔티티는 반드시 속성을 가지고 있다. ex) 고객 엔티티에 이름, 주소, 전화번호 등 관계 : 다른 엔티티와 최소한 한 개 이상 관계 필요 업무 : 업무에서 관리되어야 하는 집합 엔티티 종류 엔티티의 종류는 유형과 무형에 따른 종류, 발생하는 시점에 따른 종류로 나뉜다. 유형과 무형 유형 엔티티 : 업무에서 도출되며 지속적으로 사용되는 엔티티 ex) 고객, 강사, 사원 개념 엔티티 : 유형 엔티티는 물리적 형태가 있지만, 개념 엔티티는 없다. ex) 거래..

[Database] 데이터 모델링
CS/데이터베이스 2021. 8. 29. 21:00

데이터 모델링 데이터 모델링이란 현실 세계를 데이터베이스로 표현하는 것을 의미한다. 특징 추상화 (Abstraction) : 현실 세계를 간략하게 표현 단순화 (Simplification) : 누구나 쉽게 이해할 수 있도록 표현 명확성 (Clarity) : 명확하게 의미 해석, 한가지 의미만 가짐 단계 1. 개념적 모델링 Entity와 Attribute를 도출하고 개념적 ERD를 작성 복잡하게 표현하지 않고 중요한 부분을 위주로 모델링 추상화 수준이 가장 높으며, 전사적 관점에서 모델링 2. 논리적 모델링 개념적 모델링을 논리적 모델링으로 변환하는 작업 식별자를 도출하고 필요한 모든 릴레이션 정의 정규화를 통해 데이터 모델의 독립성 확보 3. 물리적 모델링 실제 데이터베이스를 구축 (테이블, 인덱스, 함..

반응형
반응형