Index
▪ 데이터베이스의 테이블에 대한 검색 속도를 향상시켜주는 자료구조
▪ 컬럼의 값과 물리적 주소를 (key, value)의 한 쌍으로 저장하여 원하는 값을 찾을 때, 인덱스를 이용하면 빠르게 찾을 수 있다.
관계 데이터 모델의 기본 용어
▪ 테이블(Table): 행과 열로 구성된 데이터 집합, 엔티티(Entity) 또는 릴레이션(Relation)로도 불림
▪ 행(row): 테이블에서 가로 방향의 데이터 집합, 튜플(tuple) 또는 레코드(record)로도 불림
▪ 열(column): 테이블에서 세로 방향의 데이터 집합, 속성(Attribute) 또는 필드(field)로도 불림
▪ 도메인(domain): 속성이 취할 수 있는 원자값들의 집합 또는 데이터 타입, ex) 가격: 숫자값, 성별: 남 또는 여
▪ 차수(degree): 테이블에서 속성의 개수,해당 테이블은 FirstName, LastName, Gender로 구성되어 있기 때문에 차수는 3
▪ 카디널리티(Cardinality): 테이블에서 튜플의 개수
Key
▪ 테이블에서 다른 튜플들과 구별할 수 있는 기준이 되는 속성
Key의 성질
▪ 유일성: 하나의 키로 튜플을 바로 찾아낼 수 있는 성질, (주민번호, 나이, 사는 곳, 혈액형)로 구성된 테이블에서 유일성을 만족하는 키는 주민번호
▪ 최소성: 튜플을 식별하기 위해 최소의 속성들로만 키를 구성하는 성질, (주민번호, 나이)는 최소성을 만족하지 않음
Key의 종류
슈퍼 키(Super Key) | 테이블의 행을 고유하게 식별할 수 있는 속성 또는 속성의 집합 (유일성 O, 최소성 X) |
후보 키(Candidate Key) | 슈퍼 키 중 최소성을 만족하는 키 (유일성 O, 최소성 O) |
기본 키(Primary Key) | 후보 키에서 선택된 키 (유일성 O, 최소성 O) (null 값 혹은 중복 값으로 가질 수 없음) |
대체 키(Surrogate Key) | 후보 키 중 기본 키로 선택되지 않은 키 |
외래 키(Foreign Key) | 서로 다른 테이블 간의 관계를 맺기 위해 참조하는 키 (다른 테이블의 기본 키를 참조) |
스키마(Schema)
▪ 데이터베이스 내에서 데이터가 저장되는 구조를 나타내는 도면
▪ 릴레이션이 어떤 속성들을 가지고 있고, 릴레이션 간에 관계와 제약조건 등을 정의
스키마(Schema)의 3계층
외부 스키마
▪ 개별 사용자 관점에서의 스키마
▪ 사용자 마다 다른 요구사항을 충족해야 하기 때문에 여러 개의 외부 스키마가 존재
개념 스키마
▪ 조직 전체 관점에서의 스키마
▪ 모든 사용자에게 필요한 데이터를 통합하여 전체 데이터베이스의 논리적 구조를 정의
▪ 하나만 존재
내부 스키마
▪ 물리적 저장 장치의 관점의 스키마
▪ 전체 데이터베이스가 저장 장치에 실제로 저장되는 방법을 정의 (파일에 데이터를 저장하는 레코드의 구조, 레코드를 구성하는 필드 크기, 인덱스를 이용한 레코드 접근 경로 등)
참고:
'CS > Database' 카테고리의 다른 글
[Database] JOIN 알고리즘 종류 (0) | 2024.09.13 |
---|---|
[Database] 테이블 JOIN 종류 (0) | 2024.09.13 |
[Database] Index (0) | 2024.09.13 |
[Database] 트랜잭션(transaction) (0) | 2024.05.21 |
[Database] 데이터 모델의 이해 (1) (0) | 2024.05.09 |