Zeno ZENO
Database / DB 기초 · 조회 3 · 좋아요 0

3. 관계형 DB 테이블 구성 요소

관계형 DB 테이블 구성 요소 완벽 정리

1. 테이블(Table)의 정의

테이블(Table)은 관계형 데이터베이스(RDBMS)에서 데이터를 저장하는 가장 기본적이고 핵심적인 격자 모양의 표 구조입니다.

데이터베이스 내에서 모든 실질적인 데이터는 이 테이블이라는 단위 안에 차곡차곡 쌓이게 됩니다. 우리가 흔히 보는 엑셀의 '시트(Sheet)'와 시각적으로 거의 동일한 형태를 가집니다.


2. 테이블 구조가 필요한 이유

컴퓨터가 데이터를 인식할 때 규칙이 없는 통문장이나 무작위 텍스트로 저장하면, 어디서부터 어디까지가 이름이고 나이인지 구별할 수 없습니다.

실제 개발에서 해결하는 문제

  • 데이터의 규격화: 이름 칸에는 문자만, 나이 칸에는 숫자만 들어오도록 강제하여 잘못된 데이터가 섞여 들어오는 시스템 오류를 원천 차단합니다.
  • 초고속 데이터 추출: 데이터가 정형화된 칸(테이블)에 들어 있으면, 컴퓨터가 전체를 헤매지 않고 특정 칸만 정밀하게 타격하여 검색하므로 처리 속도가 압도적으로 빨라집니다.

3. 반드시 알아야 할 핵심 개념

테이블을 이루는 세 가지 필수 뼈대 요소입니다.

  • 열 (Column / 컬럼 / 필드): 테이블의 세로줄입니다. 데이터의 '항목 이름(예: 이름, 연락처, 가입일)'을 정의하며, 한 테이블 내에서 각 열은 고유한 이름을 가집니다.
  • 행 (Row / 로우 / 레코드 / 튜플): 테이블의 가로줄입니다. 하나의 열 항목들에 맞춰 실제로 채워진 '회원 1명의 데이터 묶음' 전체를 의미합니다.
  • 데이터 타입 (Data Type): 각 열(Column)에 어떤 종류의 값만 넣을 수 있는지 지정하는 규칙입니다. 숫자인지, 문자인지, 날짜인지 미리 결정해야 합니다.

4. 함께 알아야 하는 주변 기초 개념

  • 도메인 (Domain): 하나의 열(Column)이 합법적으로 가질 수 있는 올바른 값의 범위입니다. 예를 들어 '성별' 열의 데이터 타입이 문자형이고 도메인이 ['남', '여']라면, '힌트' 같은 다른 문자는 입력될 수 없습니다.
  • NULL (널): 데이터베이스에서 "값이 없음", "정해지지 않음", "알 수 없음(Unknown)"을 뜻하는 특수한 상태 표시입니다.

5. 테이블 정의 및 데이터 적재 흐름

개발자가 서비스를 만들 때 테이블이 기획되고 데이터가 쌓이는 실제 단계별 순서입니다.

  1. 요구사항 분석: 저장해야 할 회원 정보 항목(아이디, 비밀번호, 나이)을 선정합니다.
  2. 열 및 데이터 타입 정의 (설계): '아이디'는 문자형, '비밀번호'는 문자형, '나이'는 숫자형으로 규격을 정합니다.
  3. 빈 테이블 생성: 실제 데이터는 없고 제목 칸(열)만 존재하는 뼈대 테이블을 데이터베이스에 생성합니다.
  4. 행 데이터 삽입 (적재): 회원이 가입할 때마다 가로줄(행) 단위로 실제 데이터가 한 줄씩 추가됩니다.

6. 회원(members) 테이블 구조 예시

실무 스타일로 데이터 타입 규격까지 표현한 가상의 회원 테이블 형태입니다.

id
(숫자형)
name
(문자형)
age
(숫자형)
profile_msg
(문자형)
1 김철수 20 안녕하세요
2 이영희 25 NULL

7. 예시 테이블 구조 설명

  • 열(Column) 규격 적용: 세로줄인 age 열은 숫자형 타입으로 고정되어 있습니다. 따라서 이곳에는 '스물다섯' 같은 글자는 절대 들어올 수 없고 20, 25 같은 정수 숫자만 들어옵니다.
  • 행(Row) 데이터 단위: 1 / 김철수 / 20 / 안녕하세요 조합은 가로 한 줄로 묶여 '김철수 회원' 한 명의 온전한 정체성을 나타내는 하나의 레코드가 됩니다.
  • NULL의 표현: 이영희 회원은 프로필 메시지를 입력하지 않았습니다. 이때 빈칸으로 두는 것이 아니라 데이터가 비어있음을 명시하기 위해 시스템 내부적으로 NULL 상태로 채워집니다.

8. 초보자가 가장 많이 헷갈리는 NULL의 정체

프로그래밍이나 데이터베이스를 처음 배울 때 NULL을 숫자 0이나 공백 글자와 똑같다고 오해하여 심각한 데이터 연산 오류를 내는 경우가 많습니다. 완전히 다른 개념이므로 명확히 구분해야 합니다.

  • 0 (숫자 영): 0이라는 숫자 값(Value)이 존재하는 상태입니다. (예: 시험 점수가 0점)
  • ' ' (공백 문자열): 눈에 보이지 않지만 글자 수가 1개 있는 문자 값(Value)이 존재하는 상태입니다. (예: 이름에 스페이스바 한 칸을 입력함)
  • NULL (널): 값 자체가 아예 존재하지 않는 측정 불가, 입력 누락 상태입니다. (예: 시험을 아예 치르지 않아 점수 자체가 없음)

※ 주의: 데이터베이스에서 NULL에 숫자를 더하거나 문자를 더하면 결과는 무조건 시스템 오류 또는 다시 NULL이 되므로, 설계 시 필수 입력 칸은 NULL이 들어오지 못하게 막아야 합니다.


9. 핵심 내용 요약

데이터베이스의 데이터는 세로줄인 열(Column)과 가로줄인 행(Row)이 만나는 표 형태의 테이블(Table)에 저장됩니다. 각 열은 명확한 데이터 타입을 지녀야 하며, 값이 비어있는 특수한 경우는 숫자 0이나 공백과 완전히 구별되는 NULL 상태로 처리됩니다.


10. 핵심 용어 정리

테이블 = 데이터를 행과 열의 격자 형태로 저장하는 RDBMS의 기본 단위

열(Column) = 테이블의 세로줄로, 데이터의 속성과 타입을 정의하는 요소

행(Row) = 테이블의 가로줄로, 하나의 독립된 개체에 대한 실제 데이터의 집합

데이터 타입 = 열에 입력될 수 있는 데이터의 형식(숫자, 문자, 날짜 등)을 지정하는 규칙

NULL = 데이터 값이 비어 있거나 알 수 없음을 나타내는 특수한 상태

AD

제휴 광고

일부 링크는 제휴 링크이며, 구매 또는 가입 시 일정 수수료를 받을 수 있습니다.

AD

'DB 기초' 카테고리의 다른 글

전체보기