[DB]Key & Index

반응형

Database Key

key

  • 데이터베이스 내에서 각 레코드를 고유하게 식별할 수 있는 필드
  • 각 레코드마다 고유한 값을 가짐
  • NULL 값을 가질 수 없음
  • 데이터베이스 내에서 중복되는 값이 없음
  • 데이터베이스 관리 및 검색에 사용

key 종류

  1. 후보키(Candidate Key)
  • 유일성과 최소성을 만족하는 키
  • 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 함
  1. 기본키(Primary Key)
  • 테이블에서 각 행을 유일하게 식별할 수 있는 키
  • 후보 키에서 선택된 키
  • Null 값을 가질 수 없음
  • 동일한 값이 중복되어 저장될 수 없음
  1. 대체키(Alternate Key)
  • 기본 키 대신 사용할 수 있는 다른 유일한 식별자
  • 후보 키 중에 기본 키로 선택되지 않은 키
  • 보조키
  1. 왜래키(Foreign Key)
  • 다른 테이블의 기본 키로 사용되는 키
  • 테이블(Relation)들 간의 관계를 나타내기 위해서 사용
  • 외래키 속성과 그것이 참조하는 기본키 속성의 이름은 달라도 되지만 도메인은 같아야 함
  • 외래키 속성은 NULL 값을 가질 수도 있음
  1. 슈퍼키(Super Key)
  • 레코드(행)를 유일하게 식별할 수 있는 하나 이상의 키
  • 어떤 속성끼리 묶던 중복값이 안나오고 서로 구별만 할 수 있으면 됨

이미지

Database Index

  • 인덱스는 데이터베이스 테이블의 특정 열에 대한 빠른 검색을 가능하게 해주는 데이터 구조
  • 테이블의 특정 열에 대한 빠른 검색 가능
  • 인덱스 생성 시 약간의 성능 저하가 발생할 수 있음
  • 데이터 변경 시 인덱스도 함께 업데이트
  • 인덱스는 WHERE, JOIN, ORDER BY 등의 쿼리 성능 향상에 도움

Index 종류

  1. B-tree Index(가장 많이 사용)
  • 노드 삽입 및 삭제 시 특정 규칙에 맞게 재정렬되어 양쪽 자식 노드 수의 밸런스를 유지하는 트리
  • 데이터의 삽입/수정/삭제가 빈번히 일어날 경우에는 적합하지 않음
  1. Bitmap Index
  2. IOT Index
  3. Clustered Index

참고사이트

반응형

Designed by JB FACTORY