상세 컨텐츠

본문 제목

CS기초 - 데이터베이스

컴퓨터과학(CS)/데이터베이스

by A_D 2024. 11. 1. 07:50

본문

반응형

데이터베이스

1. 데이터베이스의 기본

  • 엔터티 (Entity): 데이터베이스에서 관리하고자 하는 개체로, 실제 데이터로 표현되는 객체를 뜻합니다.
  • 릴레이션 (Relation): 데이터베이스 테이블을 의미하며, 엔터티 간의 관계를 정의합니다.
  • 속성 (Attribute): 엔터티가 가지는 특징이나 정보를 나타내는 항목으로, 테이블의 열(column)에 해당합니다.
  • 도메인 (Domain): 속성에 들어갈 수 있는 값의 범위를 지정하는 규칙이나 제약 조건입니다.
  • 필드와 레코드 (Field and Record): 필드는 속성(열), 레코드는 하나의 엔터티 데이터를 표현한 행(row)을 의미합니다.
  • 관계 (Relationship): 엔터티 간의 연결로, 엔터티들 사이의 연관성을 나타냅니다.
  • 키 (Key): 테이블에서 특정 레코드를 식별하기 위한 속성으로, 기본 키(primary key)와 외래 키(foreign key) 등이 있습니다.

2. ERD와 정규화 과정

  • ERD의 중요성: ERD(Entity-Relationship Diagram)는 데이터베이스 구조를 시각적으로 표현해 엔터티와 관계를 이해하기 쉽게 만듭니다.
  • 예제로 배우는 ERD: ERD를 실습해 보면서 엔터티와 속성, 관계를 시각화하는 과정을 익힙니다.
  • 정규화 과정: 데이터 중복을 줄이고 무결성을 높이기 위해 테이블을 구조화하는 과정입니다. 각 정규형에 따라 데이터베이스를 설계합니다.

3. 트랜잭션과 무결성

  • 트랜잭션 (Transaction): 데이터베이스에서 여러 작업을 하나로 묶어 실행하는 단위로, ACID 특성(원자성, 일관성, 고립성, 영속성)을 만족해야 합니다.
  • 무결성 (Integrity): 데이터의 정확성과 일관성을 유지하는 것으로, 제약 조건을 통해 데이터 손상을 방지합니다.

4. 데이터베이스의 종류

  • 관계형 데이터베이스 (RDBMS): 테이블 간의 관계를 통해 데이터를 구조화하는 데이터베이스, SQL을 사용합니다.
  • NoSQL 데이터베이스: 비정형 데이터를 효율적으로 관리하기 위한 데이터베이스로, 키-값, 문서, 그래프 데이터베이스 등이 포함됩니다.

5. 인덱스

  • 인덱스의 필요성: 데이터를 빠르게 검색하기 위한 구조로, 조회 속도를 크게 향상시킵니다.
  • B-트리 (B-Tree): 데이터베이스에서 인덱스를 구현하는 방식 중 하나로, 이진 트리를 변형한 구조입니다.
  • 인덱스 만드는 방법: 필요한 컬럼에 대해 인덱스를 생성하는 SQL 구문으로 수행합니다.
  • 인덱스 최적화 기법: 인덱스를 효율적으로 관리하기 위해 사용하는 다양한 기법입니다.

6. 조인의 종류

  • 내부 조인 (Inner Join): 두 테이블에서 공통된 데이터를 가진 레코드만을 조회하는 조인입니다.
  • 왼쪽 조인 (Left Join): 왼쪽 테이블의 모든 레코드를 유지하고 오른쪽 테이블의 일치하는 값만 조회하는 방식입니다.
  • 오른쪽 조인 (Right Join): 오른쪽 테이블의 모든 레코드를 유지하고 왼쪽 테이블의 일치하는 값만 조회하는 방식입니다.
  • 합집합 조인 (Union Join): 두 테이블의 레코드를 모두 포함하는 조인으로, 중복 없이 모든 데이터를 조회합니다.

7. 조인의 원리

  • 중첩 루프 조인 (Nested Loop Join): 하나의 테이블을 기준으로 다른 테이블을 반복 탐색하며 일치하는 데이터를 찾는 방법입니다.
  • 정렬 병합 조인 (Sort-Merge Join): 두 테이블을 정렬한 후, 일치하는 레코드를 병합하여 결과를 출력하는 방식입니다.
  • 해시 조인 (Hash Join): 해시 함수를 이용하여 빠르게 일치하는 레코드를 찾는 방법으로, 대용량 데이터에서 주로 사용됩니다.
반응형

댓글 영역