3. 관계형 DB 테이블 구성 요소
1. 테이블(Table)의 정의
테이블(Table)은 관계형 데이터베이스(RDBMS)에서 데이터를 저장하는 가장 기본적이고 핵심적인 격자 모양의 표 구조입니다.
데이터베이스 내에서 모든 실질적인 데이터는 이 테이블이라는 단위 안에 차곡차곡 쌓이게 됩니다. 우리가 흔히 보는 엑셀의 '시트(Sheet)'와 시각적으로 거의 동일한 형태를 가집니다.
2. 테이블 구조가 필요한 이유
컴퓨터가 데이터를 인식할 때 규칙이 없는 통문장이나 무작위 텍스트로 저장하면, 어디서부터 어디까지가 이름이고 나이인지 구별할 수 없습니다.
실제 개발에서 해결하는 문제
- 데이터의 규격화: 이름 칸에는 문자만, 나이 칸에는 숫자만 들어오도록 강제하여 잘못된 데이터가 섞여 들어오는 시스템 오류를 원천 차단합니다.
- 초고속 데이터 추출: 데이터가 정형화된 칸(테이블)에 들어 있으면, 컴퓨터가 전체를 헤매지 않고 특정 칸만 정밀하게 타격하여 검색하므로 처리 속도가 압도적으로 빨라집니다.
3. 반드시 알아야 할 핵심 개념
테이블을 이루는 세 가지 필수 뼈대 요소입니다.
- 열 (Column / 컬럼 / 필드): 테이블의 세로줄입니다. 데이터의 '항목 이름(예: 이름, 연락처, 가입일)'을 정의하며, 한 테이블 내에서 각 열은 고유한 이름을 가집니다.
- 행 (Row / 로우 / 레코드 / 튜플): 테이블의 가로줄입니다. 하나의 열 항목들에 맞춰 실제로 채워진 '회원 1명의 데이터 묶음' 전체를 의미합니다.
- 데이터 타입 (Data Type): 각 열(Column)에 어떤 종류의 값만 넣을 수 있는지 지정하는 규칙입니다. 숫자인지, 문자인지, 날짜인지 미리 결정해야 합니다.
4. 함께 알아야 하는 주변 기초 개념
- 도메인 (Domain): 하나의 열(Column)이 합법적으로 가질 수 있는 올바른 값의 범위입니다. 예를 들어 '성별' 열의 데이터 타입이 문자형이고 도메인이 ['남', '여']라면, '힌트' 같은 다른 문자는 입력될 수 없습니다.
- NULL (널): 데이터베이스에서 "값이 없음", "정해지지 않음", "알 수 없음(Unknown)"을 뜻하는 특수한 상태 표시입니다.
5. 테이블 정의 및 데이터 적재 흐름
개발자가 서비스를 만들 때 테이블이 기획되고 데이터가 쌓이는 실제 단계별 순서입니다.
- 요구사항 분석: 저장해야 할 회원 정보 항목(아이디, 비밀번호, 나이)을 선정합니다.
- 열 및 데이터 타입 정의 (설계): '아이디'는 문자형, '비밀번호'는 문자형, '나이'는 숫자형으로 규격을 정합니다.
- 빈 테이블 생성: 실제 데이터는 없고 제목 칸(열)만 존재하는 뼈대 테이블을 데이터베이스에 생성합니다.
- 행 데이터 삽입 (적재): 회원이 가입할 때마다 가로줄(행) 단위로 실제 데이터가 한 줄씩 추가됩니다.
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