SQL 베이스캠프 - 23. 데이터베이스

admin | | 조회 4


[주요 목차]

데이터베이스와 DBMS의 핵심 개념

테이블 구조와 키의 종류

테이블 간 관계와 ERD 작성 팁


SQL을 처음 배우다 보면 데이터베이스가 정확히 무엇인지 헷갈리는 경우가 많아요. 단순히 데이터를 저장하는 곳이라고 생각하기 쉽지만, 실제로는 여러 사람이 함께 쓰는 통합된 정보의 집합이죠. 이번 글에서는 데이터베이스, RDBMS, SQL의 기본 개념부터 테이블 구조와 키, 마지막으로 테이블 사이의 관계까지 정리해 드릴게요. 영상을 보지 않아도 이 글 하나로 데이터베이스의 전체 흐름을 파악할 수 있을 거예요.


SQL 베이스캠프 - 23. 데이터베이스 - 핵심 장면 1 - 데이터베이스SQL 베이스캠프 - 23. 데이터베이스 · 핵심 장면 1

데이터베이스와 DBMS의 핵심 개념

데이터베이스는 단순히 숫자와 문자를 모아놓은 게 아니에요. 여러 사람이 동시에 접근하고, 중복 없이 정리된 정보의 집합을 의미하죠. 이런 데이터를 관리하는 소프트웨어를 DBMS라고 불러요. 오라클, MySQL, PostgreSQL 같은 프로그램들이 모두 DBMS에 속합니다.

RDBMS는 그중에서도 테이블 형태로 데이터를 저장하는 관계형 데이터베이스 관리 시스템을 가리켜요. 여기서 중요한 점은 SQL이라는 언어로 데이터를 다룬다는 거예요. SQL은 RDBMS마다 조금씩 문법이 달라질 수 있어서, 실무에서는 사용하는 DBMS에 맞춰 함수를 익혀야 합니다.

예를 들어 쇼핑몰을 만든다고 생각해 보세요. 회원 정보, 상품 정보, 주문 내역을 각각의 테이블에 저장하고, SQL로 조회하거나 수정하죠. 이렇게 하면 데이터가 흩어지지 않고 한 곳에서 관리돼요. 초보자라면 먼저 MySQL이나 PostgreSQL 같은 오픈소스 RDBMS부터 설치해 보는 걸 추천해요.

SQL 베이스캠프 - 23. 데이터베이스 - 핵심 장면 2 - 데이터베이스SQL 베이스캠프 - 23. 데이터베이스 · 핵심 장면 2

테이블 구조와 키의 종류

테이블은 데이터를 저장하는 기본 단위예요. 가로줄은 행(튜플), 세로줄은 열(애트리뷰트)이라고 부릅니다. 하나의 테이블이 모이면 ‘릴레이션’이라는 공식 명칭이 붙어요. 실무에서는 보통 테이블이라고 편하게 부르지만, 개념을 정확히 이해하려면 릴레이션이라는 말을 알아두는 게 좋습니다.

여기서 가장 중요한 두 가지 키가 있어요. 기본 키(Primary Key)는 각 행을 유일하게 식별하는 값으로, 중복되면 안 되고 NULL도 허용되지 않아요. 예를 들어 학생 테이블에서 학번이 기본 키가 될 수 있죠. 반대로 외래 키(Foreign Key)는 다른 테이블의 기본 키를 참조하는 열이에요. 학생 테이블의 학과 코드가 학과 테이블의 기본 키를 가리키면 그 학과 코드는 외래 키가 됩니다.

이 두 키를 잘 설정하면 데이터의 무결성을 지킬 수 있어요. 기본 키가 없으면 같은 데이터가 여러 번 들어갈 위험이 커지고, 외래 키가 없으면 테이블끼리 연결이 끊어지기 쉽습니다. 실제로 테이블을 만들 때마다 “이 테이블의 기본 키는 무엇인가?”를 가장 먼저 정하는 습관을 들이세요.

SQL 베이스캠프 - 23. 데이터베이스 - 현장 스냅 3 - 데이터베이스SQL 베이스캠프 - 23. 데이터베이스 · 현장 스냅 3

테이블 간 관계와 ERD 작성 팁

테이블 사이의 관계는 크게 1:1, 1:N, N:M 세 가지로 나뉩니다. 1:N 관계가 가장 흔해요. 예를 들어 한 학교에 여러 학생이 소속되는 경우가 1:N이죠. 반대로 N:M 관계는 학생과 과목처럼 서로 여러 개를 가질 수 있는 경우인데, 데이터베이스에서는 직접 표현할 수 없어서 중간에 연결 테이블을 하나 더 만들어야 합니다.

ERD를 그릴 때 요즘은 Mermaid 문법을 많이 사용해요. Claude나 ChatGPT에 “학생과 학교 관계를 Mermaid로 그려줘”라고 물어보면 바로 코드를 만들어 주죠. 그 코드를 live mermaid 사이트에 붙여넣기만 하면 깔끔한 다이어그램이 완성됩니다. 손으로 그리는 것보다 수정도 쉽고, 팀원과 공유하기도 편합니다.

실제 프로젝트를 시작할 때는 ERD를 먼저 그리고, 그다음에 SQL로 테이블을 생성하는 순서가 가장 안전해요. 관계를 미리 정리해 두면 나중에 외래 키 설정을 놓치거나 중복 테이블을 만드는 실수를 줄일 수 있습니다.


[자주 묻는 질문]

데이터베이스와 RDBMS의 차이가 뭔가요?

데이터베이스는 데이터를 모아놓은 집합 자체를 의미하고, RDBMS는 그 데이터를 관리하는 소프트웨어예요. 쉽게 말해 데이터베이스는 창고이고, RDBMS는 창고를 관리하는 시스템이라고 생각하면 됩니다. MySQL, PostgreSQL, Oracle 등이 RDBMS에 속하죠.

기본 키와 외래 키는 왜 중요한가요?

기본 키는 각 행을 유일하게 구분해 주고, 외래 키는 테이블 간의 관계를 만들어 줍니다. 이 두 키가 제대로 설정되지 않으면 데이터 중복이나 참조 오류가 발생하기 쉬워요. 테이블을 만들 때는 항상 기본 키를 먼저 정하고, 필요한 경우 외래 키로 연결하는 습관을 들이세요.

ERD는 어떤 도구로 그리는 게 좋나요?

Mermaid 문법을 지원하는 Claude, ChatGPT, 또는 draw.io 같은 도구가 편합니다. 특히 Mermaid는 코드로 그릴 수 있어서 수정이 쉽고, GitHub나 Notion에도 바로 붙여넣을 수 있어요. 처음에는 간단한 1:N 관계부터 연습해 보세요.

목록
글쓰기
한국 서버호스팅
전체보기 →

댓글 0