끈기 있는 개발 공간
관계형 데이터베이스의 구성 요소 본문
테이블
관계형 데이터 베이스는 기본적으로 데이터를 2차원 표 형태로 저장하고 관리한다. 이 표 형태의 데이터 저장 공간을 테이블이라고 한다.
테이블은 로우와 컬럼으로 구성된다.
- 행(로우, row)
- 행은 저장하려는 하나의 개체를 구성하는 여러 값을 가로로 늘어뜨린 형태이다.
- 예를 들어, 학생 데이터를 관리할 경우에 테이블을 구성하는 하나의 행은 학번, 이름과 같은 여러 값으로 이루어진다.
- 열(칼럼, column)
- 열은 저장하려는 데이터를 대표하는 이름과 공동 특성을 정의한다.
- 예를 들어, 각 학생 데이터를 구성하는 학번, 이름, 그 외 필요한 정보를 정의해 두면 통일성 있게 저장할 수 있다.
- 열은 저장 정보의 종류와 저장 가능한 값의 최대 길이 그리고 값의 중복을 허용하지 않는 등의 저장 조건과 범위를 지정할 수 있다.
관계형 데이터베이스에서 관계란 행과 열의 특성에 맞추어 데이터를 저장한 테이블 하나하나를 의미한다. 여러 테이블의 구성과 관계를 잘 규정하고 관리하는 것이 관계형 데이터베이스에서 데이터를 관리하는 핵심이다.
특별한 의미를 지닌 열, 키
키는 수많은 데이터를 구별할 수 있는 유일한 값이다. 키는 하나의 테이블을 구성하는 여러 열 중에서 특별한 의미를 지닌 하나 또는 여러 열의 조합을 의미한다.
종류별로 데이터를 구별하거나 테이블 간의 연관 관계를 표현할 때 키로 지정한 열을 사용한다.
키는 기본키, 보조키, 외래키, 복합키 등으로 구분할 수 있다.
- 기본키(PK: Primary Key)
- 기본키는 여러 키 중에서 가장 중요한 키로서 한 테이블 내에서 중복되지 않는 값만 가질 수 있는 키이다.
- 속성
- 테이블에 저장된 행을 식별할 수 있는 유일한 값이어야 한다.
- 값의 중복이 없어야 한다.
- NULL 값을 가질 수 없다.
- 보조키
- 보조키는 대체키(Alternate Key)라고도 부르며 후보키(Candidate Key)에 속해 있는 키이다. 그리고 후보키 중에서 기본키로 지정되지 않은 열이다.
- 후보키는 기본키가 될 수 있는 모든 키를 의미한다. 예를 들어, 학번이 기본키라면 아이디, 주민등록번호는 유일한 데이터를 가지고 있고 빈 값(NULL)이 없으므로 보조키가 된다.
- 외래키(FK: Foreign Key)
- 외래키는 특정 테이블에 포함되어 있으면서 다른 테이블의 기본키로 지정된 키를 의미한다.
- 예를 들어, 학과 정보 테이블의 기본키가 학과 코드인데 이 키가 학생 정보 테이블에도 존재한다. 이 때, 학과 코드가 학과 정보 테이블과 학생 정보 테이블을 이어 주는 외래키 역할을 한다. 즉, 학과 코드를 통해 학생 정보 테이블은 학과 정보 테이블의 세부 정보를 찾아갈 수 있다.
- 외래키는 데이터의 중복을 피하기 위해 테이블 사이의 관계를 규명하기 위한 필수 요소이다. 하지만 데이터 구조 및 설계가 외래키를 사용해 너무 엄격하게 정의되면 응용 프로그램 제작 및 테스트 진행에 걸림돌이가 되기도 한다.
- 복합키(Composite Key)
- 복합키는 여러 열을 조합하여 기본키 역할을 할 수 있게 만든 키를 뜻한다.
- 복합키를 만들 때 적게는 두세 개, 많게는 열 개가 넘는 열을 조합하기도 한다. 이는 유일한 데이터로서 가치를 지니기 위함이다.
- 예를 들어, 과목 정보 테이블에서 과목 코드와 담당 교수가 있는데 하나의 과목에 대해 여러 교수가 가르친다면 어느 하나를 기본키로 정할 수 없다. 이 때 과목 코드와 담당 교수 열을 조합하여 하나의 키로 지정한다면 행을 정확히 구분하는 것이 가능하다.
참고
- 오라클로 배우는 데이터베이스 입문 | 이지훈 저 | 이지스퍼블리싱
'DB' 카테고리의 다른 글
오라클 함수와 문자 함수 (0) | 2021.07.16 |
---|---|
데이터베이스 (0) | 2021.05.07 |
Comments