Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

끈기 있는 개발 공간

관계형 데이터베이스의 구성 요소 본문

DB

관계형 데이터베이스의 구성 요소

tenacy 2021. 5. 8. 01:38

테이블

관계형 데이터 베이스는 기본적으로 데이터를 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