。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

CS

3.2 관계형 데이터 베이스에서 사용하는 개념

quarrrter 2023. 12. 15. 18:45

데이터베이스에서 튜플을 구분하기 위한 속성 또는 속성의 집합

  • 유일성: 하나의 . 키값으로 튜플을 식별할 수 있는 특성
  • 최소성: 튜플을 식별하는 데 필요한 속성만으로 이루어져 있는 특성 

 

DBMS(데이터베이스 관리 시스템)의 다섯 가지 키

  • 슈퍼 키: 튜플을 식별할 수 있어서 유일성은 만족하지만 후보 키와 달리 최소성을 만족하지 않아도 된다.
  • 후보 키: 튜플을 식별할 수 있는 유일성과 필요한 속성만으로 구성되는 최소성을 만족해야한다.
  • 기본 키: 후보 키 중에서 메인이 되는 키로 NULL 값을 가지면 안 된다.
  • 대체 키: 후보 . 키중.기본 키를 제외한 키
  • 외래 키: 다른 테이블의 기본 키를 참조하는 키

 

 

무결성

데이터베이스에 저장된 데이터와 실제 데이터가 일치하는 정확성과 데이터가 일정하게 유지되는 일관성을 의미한다. 

  • 개체 무결성: 모든 테이블이 기본 키를 가져야 한다. 기본 키의 값은 NULL이 될 수 없으며 중복되지 않고 고유한 값을 가져야 함.
  • 도메인 무결성: 테이블의 속성 값은 도메인에 속해야 한다. 도메인은 속성이 가질 수있는 값의 집합을 의미.
  • 참조 무결성: 외래 키의 값은 참조하는 테이블의 기본 키 값과 동일하거나 NULL 이어야 함.

 

인덱스

데이터베이스에서 튜플의 검색 성능을 높이기 위해 속성 값과 튜플이 저장된 주소를 저장하는 것.

키-값 형태로 '속성 값-튜플 주소'를 인덱스 테이블에 저장한다.

 

장점

  • 인덱스 테이블에 데이터가 정렬되어 있어서 검색 속도가 빠르다.

단점

  • 인덱스 테이블을 저장하기 위한 추가 공간이 필요하다.
  • 정렬된 상태를 유지하기 위해 데이터를 추가, 수정, 삭제하는 경우에는 속도가 느리다.

=> 데이터 검색 속도에 이점이 있지만, 데이터를 추가하면 데이터를 재정렬해야 하므로 처리 비용이 증가할 수 있으며 

튜플의 삭제 연산이 발생하는 경우 실제 테이블에는 삭제되지 않음. 

 

 

해시 테이블 인덱스

속성 값으로 해시 값을 계산해 인덱싱하는 방법

검색하려는 값을 온전히 입력할 때만 사용할 수 있어 검색속도가 빠름에도 불구하고 자주 사용하지 않음.

 

B+- 트리 인덱스

B : Balanced

B+ 트리는 단말 노드에만 데이터를 저장하여 단말 노드 간 연결 리스트로 연결되는 방식

(B+ 트리의 노드

내부 노드는 키(key)와 자식 노드에 대한 포인터를 가지고 있는 노드로, 트리의 구조를 유지하고 트리를 탐색하는 데 사용.
단말 노드 (Leaf Node): 단말 노드는 데이터를 저장하는 노드로, 키와 실제 데이터(또는 데이터에 대한 포인터)를 가지고 있음)

 

B- 트리는 모든 노드에 데이터가 저장되는 방식

=> 데이터의 삽입, 갱신, 삭제 등에 드는 작업 비용을 줄일 수 있고, 속성을 범위로 검색할 수 있음.

 

*노드:

그래프 또는 트리 자료 구조에서의 기본적인 요소데이터와 다른 노드와의 관계를 나타내는 링크로 이루어진 기본적인 단위

 

 

ORM

객체와 관계형 데이터베이스를 매핑하는 도구

DB를 프로그래밍 언어의 객체 관점으로 바라볼 수 있어서 객체 지향 프로그밍 언어를 이용해 프로그램을 개발할 때 편리하다.

SQL 문을 사용하지 않고 객체 지향적 코드를 작성할 수 있어서 코드의 가독성을 높이고 개발자 편의성을 증대할 수 있다.

하지만 복잡한 프로젝트를 수행할 때는 ORM만으로 서비스를 구현하기 어려울 수 있다.

 

=> 자바: 하이버네이트/ 파이썬:장고 ORM/ 루비: 액티브레코드

하이버네이트: 의존성 추가 - 하이버네이트 설정파일 작성 - 엔티티클래스 작성 - 하이버네이트 세션을 이용하여 db 작업수행

'CS' 카테고리의 다른 글

4. 자료구조  (0) 2023.12.18
3.4 조인  (0) 2023.12.16
앱서버 웹서버  (2) 2023.12.12
3.1 데이터베이스의 종류  (0) 2023.12.04
2. 예상 질문  (0) 2023.12.04