본문 바로가기

IT IS IT/DB

관계형 데이터베이스 구성요소 (테이블, 행, 열, 키)

728x90
반응형

 

 

관계형 데이터베이스는 위 그림처럼 테이블(Table) 형태로 데이터를 관리한다.

여기서 가로줄은 행(Row, 로우), 세로줄은 열(Column, 컬럼) 이라고 표현한다.

 

위 그림에서 알 수 있듯이 테이블 내의 행(Row)는 하나의 개체를 구성하는 전체 속성의 값을 늘어뜨린 모양새다.

반대로 열은 한 속성에 대해 전체 데이터들의 값을 알 수 있는 형태를 띠고 있다.

 

좀 더 엄밀히 말하자면, 관계형 데이터베이스에서는 테이블, 행, 열을 다른 호칭으로 부른다고 한다.

테이블 - 관계(Relation).
행 - 튜플(Tuple), 레코드(Record).
열 - 애트리뷰트(Attribute), 필드(Field).

 

 

Key란?

열쇠라는 의미를 가진 Key데이터를 구별할 수 있는 유일한 값이다.

키는 테이블을 구성하는 여러 열 중에서 특별한 의미를 지닌 하나 혹은 여러 열의 조합을 의미한다.

 

우리가 데이터를 구별하거나 테이블 간의 연관 관계를 나타낼 때는 키로 지정한 열을 사용한다.

키의 종류는 기본키(Primary Key), 후보키(Candidate Key), 외래키(Foreign Key), 복합키(Composite Key) 등이 존재한다.

 

키의 종류

기본키(PK : Primary Key)

한 테이블 내에서 중복되지 않는 값만 가질 수 있는 Key.

이러한 특징으로 가장 중요한 키라고 볼 수 있다.

기본키의 속성은 아래와 같다.

1. 테이블에 저장된 행을 식별할 수 있는 유일한 값이어야 함.
2. 값의 중복이 없어야 함.
3. Null 값이 대입될 수 없음.

 

사람으로 치면 주민등록번호, 차량으로 치면 번호판 정보 같은 것이 PK가 되기에 적합한 값을 지니고 있다.

 

보조키 or 대체키(AK : Alternate Key)

후보키(CK : Candidate Key) 에서 기본키로 선택되지 않은 모든 Key를 보조키 혹은 대체키로 부를 수 있다.

가령 대학 전산 시스템이라면 후보키로 학번, 주민등록번호, 아이디 등이 존재할 수 있다.

여기서 학번을 기본키로 설정했다면, 나머지 후보키인 주민등록번호, 아이디 등은 보조키로 볼 수 있는 것이다.

 

 

외래키(FK : Foreign Key)

외래키는 다른 테이블에서 기본키로 지정되어 있으면서 특정 테이블에 포함된 키를 의미한다.

이런 방식을 통해 테이블을 분리하여 관리하므로 데이터의 중복을 효율적으로 제거할 수 있다.

 

아래 그림의 경우에는 '관리견 정보 테이블' 이 '견종코드' 를 '참조'한다고 표현한다.

 

복합키(CK : Composite Key)

하나의 열이 아닌 여러개의 열을 엮어서 기본키 역할을 할 수 있게 만든 키.

테이블에서 하나의 열만으로 식별이 불가능할 경우에 활용할 수 있다.

가령 영화 정보 테이블이 있다고 하면 영화명, 제작연도, 영화설명, 평점 등의 정보가 있을 수 있다.

여기서 영화명은 동명의 영화가 있을 수 있고, 제작연도 역시 키로 사용할 수 없는 정보다.

 

이럴 때 영화명과 제작연도를 엮으면 중복성을 제거할 수 있으므로 이를 엮어서 복합키로 설정할 수 있다.

물론 2개의 열로도 구별이 안되면 더 많은 열을 묶어서 복합키를 구성할 수도 있다.

728x90
반응형