데이터베이스를 처음 접하거나, PostgreSQL을 사용하면서 "스키마가 뭐지?", "컬럼이랑 테이블은 또 뭐가 다르지?"라는 생각이 들었다면 이 글이 도움이 될 거예요. 지금부터 정말 쉽게 설명해드릴게요!
1. 스키마(Schema)란?
쉽게 말해, 스키마는 데이터베이스 안의 폴더라고 생각하면 됩니다. 한 데이터베이스 안에 여러 개의 스키마가 있을 수 있어요. 각각의 스키마 안에는 테이블, 뷰, 함수 등 다양한 객체들이 들어 있습니다.
📦 예시:
- public 스키마: PostgreSQL에서 기본으로 제공하는 스키마
- sales, marketing 등의 이름으로 스키마를 만들어 부서별로 데이터를 나눌 수도 있어요.
🧠 스키마는 네임스페이스 역할을 합니다. 같은 이름의 테이블이라도 다른 스키마 안에서는 공존할 수 있어요.
2. 테이블(Table)이란?
테이블은 엑셀처럼 데이터를 저장하는 표입니다. 행(Row)과 열(Column)로 이루어져 있어요.
📋 예시
- customer 테이블: 고객 정보를 저장
- order 테이블: 주문 내역을 저장
한 테이블은 여러 개의 컬럼을 가지고, 데이터는 행 단위로 쌓입니다.
3. 컬럼(Column)이란?
컬럼은 테이블의 속성(열) 정보를 말합니다. 엑셀의 세로줄이라고 보면 돼요.
📌 예시 (customer 테이블 기준):
- customer_id: 고객 ID
- name: 고객 이름
- email: 이메일 주소
컬럼마다 데이터 타입이 있고, NULL 허용 여부, 최대 길이 등 다양한 설정이 존재합니다.
4. PostgreSQL에서 테이블 컬럼 정보 조회하기
PostgreSQL에서는 information_schema.columns라는 시스템 뷰를 통해 테이블의 컬럼 정보를 조회할 수 있습니다.
🧾 자주 쓰는 컬럼 정보:
- column_name: 컬럼 이름
- data_type: 데이터 타입 (integer, varchar 등)
- is_nullable: NULL 허용 여부 ('YES' or 'NO')
- character_maximum_length: 문자열 최대 길이
SQL 예제
SELECT
column_name,
data_type,
is_nullable,
character_maximum_length
FROM information_schema.columns
WHERE table_schema = 'AAAA' -- 스키마 이름
AND table_name = 'BBBB'; -- 테이블 이름
이 쿼리를 실행하면 특정 테이블의 컬럼 정보를 한눈에 볼 수 있어요.
5. 언제 유용할까?
- 데이터 분석 전에 테이블 구조 파악할 때
- ETL 파이프라인 설계할 때
- 스키마 문서화할 때
- 컬럼 기반 자동화 스크립트 작성할 때 등
컬럼 정보를 미리 파악해두면 에러를 줄이고, 업무 효율이 훨씬 올라갑니다 💡
✅ 결론
- 스키마는 데이터의 폴더
- 테이블은 데이터가 들어있는 표
- 컬럼은 표의 속성(열)
PostgreSQL에서는 information_schema.columns를 이용해 이 정보를 쉽게 조회할 수 있으니, 꼭 기억해두세요!
📚 데이터는 구조를 아는 순간부터 진짜 힘을 발휘합니다!
'빅데이터 관련 자료 > [SQL] Basic' 카테고리의 다른 글
PostgreSQL과 Athena에서 sequence와 generate_series 사용법 (0) | 2025.03.26 |
---|---|
SQL: 데이터베이스 언어 DDL DML DQL DCL JOIN (0) | 2024.07.29 |
SQL에서 JOIN의 종류와 사용 방법 (0) | 2024.07.09 |
SQL 피벗 및 언피벗 pivot unpivot (0) | 2024.05.20 |
PostgreSQL에서 테이블 스키마 정보 조회하기 (information_schema.columns) (0) | 2024.04.26 |