본문 바로가기
CS 개념정리/데이터베이스(DB)

[CS] 데이터베이스 이론 정리(3)

by 반오십 코린이 2022. 11. 28.
728x90

데이터 베이스 뷰란?

  • 허용된 데이터를 제한적으로 보여주기 위해 하나 이상의 테이블에서 유도된 가상의 테이블 

데이터 베이스 뷰의 장점은?

  • 뷰의 데이터가 저장되는 물리적위치가 없기에 자원을 낭비하지 않고 출력 가능
  • insert, update, delete 명령어를 허용하지 않기 때문에 데이터 엑세스 제한( 보안적 이득 )

데이터 베이스 뷰의 단점은?

  • 큰 테이블에 대해 뷰를 만들 때 더 많은 메모리가 사용된다.

ER 모델은 무엇인가?

  • ER 모델은 데이터베이스의 개념적 뷰를 정의하는 엔터티 - 관계 모델이다.
  • ER 모델은 기본적으로 실체와 그 연관 관계를 보여준다. - (엔터티는 데이터베이스의 속성(column))

엔터티(Entity), 엔터티 타입(Entity type), 엔터티 집합(Entity set)이란?

  • Entity란 독립적으로 존재하는 클래스 or 객체
  • Entity type은 유사한 특성을 가진 Entity 집합
  • 데이터베이스에 설정된 Entity 는 특정 Entity  유형을 갖는 Entity 의 집합을 나타냅니다.

인덱스란?

  •  인덱스는 데이터분야에 있어서 테이블에 대한 동작의 속도를 높여주는 자료 구조를 말합니다. 인덱스는 테이블 내의 1개의 컬럼, 혹은 여러 개의 컬럼을 이용하여 생성될 수 있습니다. 고속의 검색 동작 뿐만 아니라 레코드 접근과 관련하여 효율적인 순서 매김 동작에 대한 기초를 제공.

인덱스 사용하는 경우

  • 데이터의 양이 많고 검색이 변경보다 빈번하다.
  • 인덱스를 걸고자 하는 필드의 값이 다양한 값을 가지는 경우

인덱스를 사용할 시 단점

  • DB의 10%정도 공간 요구
  • 인덱스 생성 자체에 큰 시간 소요
  • INSERT, DELETE, UPDATE 쿼리문을 실행할 때 별도의 과정이 추가적으로 발생하기 때문에 DB의 변경작업이 잦으면 성능 저하.

※정리

  • 인덱스는 SELECT가 잦은 테이블에 사용하면 유리하다!
  • 변경관련 (INSERT, DELETE, UPDATE)에는 불리하다.

인덱스 헌팅이란?

  • 인덱스 수집을 향상시켜 데이터베이스 성능뿐만 아니라 쿼리 성능을 향상시키는 프로세스

어떠한 방법으로 쿼리 성능을 향상시키는가?

  • 쿼리 최적화 프로그램을 사용하여 워크로드와 쿼리를 조정합니다.
  • 인덱스 및 쿼리 배포의 성능 및 효과 관찰

검사점 (Check point)란?

  • Checkpoint는 해당지점까지 모든 로그를 저장 디스크에 영구적으로 저장시키고 충돌이 발생하면 시스템이 검사 점에서 다시 시작 할 수 있습니다. -> 작업량과 시간 절약

데이터 사전(Data dictionary)이란?

  •  데이터 사전은 테이블과 데이터베이스 개체의 내용과 구조를 설명하는 정보 집합입니다. 데이터 딕셔너리에 저장된 정보의 작업은 데이터베이스 요소 간의 관계를 제어, 조작 및 액세스하는 것입니다.

PK와 Unique 키의 차이?

  • PK는 오직 하나만 생성 가능, Unique 키는 여러개 생성 가능
  • PK는 Null이 오면 x Unique 키는 Null 가능

DELETE, TRUNCATE, DROP 의 차이점?

  • DELETE 명령어는 데이터는 지워지지만 테이블 용량은 줄어 들지 않는다. 원하는 테이블 안의 데이터만 지울 수 있다. 삭제 후 잘못 삭제한 것을 되돌릴 수 있다.
  • TRUNCATE 명령어는 용량이 줄어 들고, 인덱스 등도 모두 삭제 된다. 테이블은 삭제하지는 않고, 데이터만 삭제한다. 한꺼번에 다 지워야 한다. 삭제 후 절대 되돌릴 수 없다.
  • DROP 명령어는 데이블 전체를 삭제, 공간, 객체를 삭제한다. 삭제 후 절대 되돌릴 수 없다.
728x90