Table, Row, Column, Key
- 테이블 (Table) : 행(Row)과 열(Column)로 이루어진 데이터 집합을 의미한다 ( 테이블 =릴레이션, Relation)
- 행 (Row) : 관계된 데이터의 묶음. 튜플(Tuple) 또는 레코드(Record)라고도 불린다.
- 열 (Column) : 가장 작은 단위의 데이터를 의미. 필드(Field) 또는 속성(Attribute)라고도 불린다.
- 값 (Value) : 테이블은 각각의 행과 열에 대응하는 값을 가지고 있어야 한다. 또, 값은 해당 열의 타입에 맞는 값이어야 한다. (ex. int 타입의 행에 문자가 들어갈 수 없다.)
- 키 (Key) : 테이블에서 행의 식별자로 이용되는 식별자를 의미한다.
- (= 테이블의 각 레코드를 구분할 수 있는 값이다)
유일성과 최소성
- 유일성 : 테이블 내에서 겹치는 값이 없어서 하나의 키로 어떠한 행을 바로 찾아낼 수 있는 성질 (ex. 주민등록번호)
- 최소성 : 레코드를 식별하는데 꼭 필요한 속성들로만 구성되어 있는 성질
Key의 종류
- Key : 데이터베이스에서 조건에 만족하는 행을 찾거나 순서대로 정렬할 때 서로 구분할 수 있는 기준이 되는 열
- 슈퍼키
- 유일성을 만족하는 키 (유일성 O & 최소성 X)
- 후보 키(Candidate Key)
- 각 튜플을 유일하게 식별할 수 있는 key (유일성 O & 최소성 O)
- 기본 키로 사용할 수 있는 속성들
- 기본 키 (Primary Key)
- 대체 키 (Surrogate Key)
- 후보키에서 선택되지 않은 키 (= 후보키 O & 기본키 X)
- 외래 키 (Foreign Key)
- 서로 다른 테이블 간의 관계를 맺어주는 키
- 외래키는 새롭게 추가되는 행에서 외래키에 해당하는 값이 외래키가 참조하는 테이블에 존재하는지를 확인한다.
- 복합 키 (Composite Key)
- 2개 이상의 속성(Attribute)을 사용한 키
스키마 (Schema)
- (**주의: postgreSQL에서 사용되는 Schema와 다른 개념이다. )
- 스키마는 데이터베이스에 저장되는 데이터의 구조와 제약조건에 관해서 전반적인 명세를 기술한 것이다.
- 데이터베이스의 복잡한 내부 구조를 감추고 일반 사용자가 데이터베이스를 쉽게 이해하고 이용할 수 있도록 하기 위해, 사용자의 관점에 따라 세 가지로 분류한다.
- 외부 스키마 (= 서브 스키마 = 사용자 뷰 (가상 테이블))
- 사용자 입장에서 정의한 데이터베이스의 논리 구조
- 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재할 수 있고, 하나의 외부 스키마를 여러 개의 응용 프로그램이나 사용자가 공용으로 사용할 수도 있다.
- 개념 스키마
- 데이터베이스의 전체적인 논리적 구조
- 사용자가 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스로 하나만 존재하며 객체 간의 관계와 제약조건, 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 뜻한다.
- 데이터베이스 파일에 저장되는 데이터의 형태를 나타내는 것으로, 단순히 스키마라고 하면 주로 개념 스키마를 의미한다.
- 내부 스키마
- 물리적 저장장치의 입장에서 본 데이터베이스 구조
- 데이터베이스에 저장될 레코드의 물리적인 구조, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
출처