[DB]Key & Index
- Web Developer/DataBase
- 2025. 2. 20.
반응형

Database Key
key
- 데이터베이스 내에서 각 레코드를 고유하게 식별할 수 있는 필드
- 각 레코드마다 고유한 값을 가짐
- NULL 값을 가질 수 없음
- 데이터베이스 내에서 중복되는 값이 없음
- 데이터베이스 관리 및 검색에 사용
key 종류
- 후보키(Candidate Key)
- 유일성과 최소성을 만족하는 키
- 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 함
- 기본키(Primary Key)
- 테이블에서 각 행을 유일하게 식별할 수 있는 키
- 후보 키에서 선택된 키
- Null 값을 가질 수 없음
- 동일한 값이 중복되어 저장될 수 없음
- 대체키(Alternate Key)
- 기본 키 대신 사용할 수 있는 다른 유일한 식별자
- 후보 키 중에 기본 키로 선택되지 않은 키
- 보조키
- 왜래키(Foreign Key)
- 다른 테이블의 기본 키로 사용되는 키
- 테이블(Relation)들 간의 관계를 나타내기 위해서 사용
- 외래키 속성과 그것이 참조하는 기본키 속성의 이름은 달라도 되지만 도메인은 같아야 함
- 외래키 속성은 NULL 값을 가질 수도 있음
- 슈퍼키(Super Key)
- 레코드(행)를 유일하게 식별할 수 있는 하나 이상의 키
- 어떤 속성끼리 묶던 중복값이 안나오고 서로 구별만 할 수 있으면 됨
이미지
Database Index
- 인덱스는 데이터베이스 테이블의 특정 열에 대한 빠른 검색을 가능하게 해주는 데이터 구조
- 테이블의 특정 열에 대한 빠른 검색 가능
- 인덱스 생성 시 약간의 성능 저하가 발생할 수 있음
- 데이터 변경 시 인덱스도 함께 업데이트
- 인덱스는 WHERE, JOIN, ORDER BY 등의 쿼리 성능 향상에 도움
Index 종류
- B-tree Index(가장 많이 사용)
- 노드 삽입 및 삭제 시 특정 규칙에 맞게 재정렬되어 양쪽 자식 노드 수의 밸런스를 유지하는 트리
- 데이터의 삽입/수정/삭제가 빈번히 일어날 경우에는 적합하지 않음
- Bitmap Index
- IOT Index
- Clustered Index
참고사이트
- https://adjh54.tistory.com/245
- https://inpa.tistory.com/entry/DB-%F0%9F%93%9A-%ED%82%A4KEY-%EC%A2%85%EB%A5%98-%F0%9F%95%B5%EF%B8%8F-%EC%A0%95%EB%A6%AC
- https://velog.io/@letskuku/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%ED%82%A4Key%EC%9D%98-%EA%B0%9C%EB%85%90-%EB%B0%8F-%EC%A2%85%EB%A5%98
- https://limkydev.tistory.com/108
- https://velog.io/@bagt/DB-Index%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC
반응형