HSEOM GeckoHSEOM
Instagram

흑섬 TECH 블로그 - 데이터 기반 브리딩 기술

레오파드게코 브리딩에 데이터 분석과 AI 기술을 접목합니다. Python, NumPy를 활용한 체중 관리, 성장 추이 분석, 환경 데이터 시각화 등 실무에서 직접 사용하는 기술을 일반인도 이해하기 쉽게 설명합니다.

주요 카테고리

Data Viz 카테고리

NumPy, Pandas를 활용한 데이터 분석과 시각화 기술을 일상 예제로 쉽게 설명합니다.

12개의 글이 있습니다.

[SQL 실습 #1] 학생 정보 데이터베이스 설계

가장 간단한 테이블 설계부터 시작. CREATE TABLE, INSERT, SELECT 기본 문법을 배우고 첫 데이터베이스를 완성합니다. DB Browser for SQLite 실습 포함.

카테고리: Data Viz

작성일: 2026-01-24

예상 읽기 시간: 12

Back to Tech
Data Viz·12min read·

[SQL 실습 #1] 학생 정보 데이터베이스 설계

가장 간단한 테이블 설계부터 시작. CREATE TABLE, INSERT, SELECT 기본 문법을 배우고 첫 데이터베이스를 완성합니다. DB Browser for SQLite 실습 포함.

시작 전, 워밍업

학생 명단을 엑셀에서 관리하던 것을 데이터베이스로 옮긴다면?
학번, 이름, 나이, 학과. 단순해 보이는 이 정보들.
어떻게 저장하고, 어떻게 꺼내 쓸까?

시작하며 - 첫 번째 테이블

이전 글에서 데이터베이스가 무엇인지 알아봤습니다.
이제 직접 만들어볼 차례예요.

첫 실습 주제는 학생 정보 데이터베이스입니다.
가장 간단한 예제이면서도, 데이터베이스의 핵심 개념을 모두 담고 있어요.

"학번, 이름, 나이, 학과"
이 4가지 정보만으로도 완벽한 데이터베이스를 만들 수 있습니다.

30분이면 충분합니다. 직접 해보면서 배워봅시다.

DB Browser for SQLite 다운로드 페이지

DB Browser for SQLite 공식 웹사이트 - OS에 맞는 버전을 다운로드하세요


DB Browser for SQLite 설치하기

우리가 사용할 도구는 DB Browser for SQLite입니다.
무료이고, 설치도 간단하며, 초보자가 사용하기 딱 좋아요.

설치 과정

  1. 공식 웹사이트에 접속
  2. 본인의 OS에 맞는 버전 다운로드 (Windows, macOS, Linux)
  3. 설치 파일 실행 후 기본 설정으로 설치
  4. 프로그램 실행

설치가 완료되면 이런 화면이 나타납니다.

DB Browser for SQLite 첫 실행 화면

깔끔한 인터페이스 - 초보자도 쉽게 사용할 수 있습니다


새 데이터베이스 만들기

이제 첫 번째 데이터베이스를 만들어봅시다.

1단계: New Database 버튼 클릭

좌측 상단의 "New Database" 버튼을 클릭합니다.

New Database 버튼 위치

좌측 상단 'New Database' 클릭

2단계: 파일 저장

파일 이름을 students.db로 입력하고 저장합니다.
어디에 저장해도 상관없어요. 찾기 쉬운 곳에 저장하세요.

3단계: 빈 데이터베이스 확인

빈 데이터베이스가 생성되었습니다.
이제 여기에 테이블을 만들 차례예요.


테이블 설계하기 (ERD)

코드를 작성하기 전에, 먼저 설계도를 그려봅시다.
이걸 ERD (Entity Relationship Diagram)라고 해요.

학생 테이블 설계

Entity: 학생 (Student)
Attributes (속성):

  • student_id (학번) - 각 학생을 구분하는 고유 번호 → Primary Key
  • name (이름) - 학생 이름
  • age (나이) - 학생 나이
  • major (학과) - 소속 학과
학생 테이블 ERD

Student 테이블 설계도 - 4개 컬럼으로 구성

Primary Key란?
각 행(row)을 고유하게 식별하는 값입니다.
학번이 같은 학생은 절대 없어야 하므로, student_id를 Primary Key로 지정합니다.


CREATE TABLE - 테이블 생성

이제 SQL 코드로 테이블을 만들어봅시다.

Execute SQL 탭으로 이동

DB Browser 상단의 "Execute SQL" 탭을 클릭합니다.

SQL 코드 입력

CREATE TABLE students (
    student_id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER,
    major TEXT
);

코드 설명:

  • CREATE TABLE students - "students"라는 이름의 테이블 생성
  • student_id INTEGER PRIMARY KEY - 정수형, 고유 식별자
  • name TEXT NOT NULL - 문자형, 필수 입력 (NULL 불가)
  • age INTEGER - 정수형, 선택 입력
  • major TEXT - 문자형, 선택 입력

실행하기

코드를 입력했다면, ▶ 실행 버튼을 클릭합니다.

CREATE TABLE 쿼리 실행

Execute SQL 탭에서 쿼리 입력 후 실행 버튼 클릭

성공 확인

좌측 Database Structure를 보면,
students 테이블이 생성된 것을 확인할 수 있습니다.

students 테이블 생성 완료

좌측 Database Structure에 students 테이블이 나타남


INSERT - 데이터 입력하기

빈 테이블에 데이터를 넣어봅시다.

SQL 코드

INSERT INTO students (student_id, name, age, major)
VALUES
    (1, '김철수', 20, '컴퓨터공학'),
    (2, '이영희', 22, '경영학'),
    (3, '박민수', 21, '전자공학');

코드 설명:

  • INSERT INTO students - students 테이블에 데이터 삽입
  • VALUES - 삽입할 값들 나열
  • 각 괄호 () 안의 값들이 한 행(row)이 됩니다

결과 확인

실행 후, Browse Data 탭으로 이동하면
입력한 학생 3명의 정보가 표시됩니다.

학생 데이터 3건 입력 완료

Browse Data 탭에서 입력한 데이터 확인


SELECT - 데이터 조회하기

이제 데이터를 꺼내보는 방법을 배워봅시다.

전체 데이터 조회

SELECT * FROM students;

*는 "모든 컬럼"을 의미합니다.
즉, students 테이블의 모든 데이터를 보여달라는 뜻이에요.

특정 컬럼만 조회

SELECT name, major FROM students;

이름과 학과만 보고 싶다면, 원하는 컬럼명을 나열하면 됩니다.

조건부 조회 (WHERE)

SELECT * FROM students WHERE age >= 21;

WHERE 뒤에 조건을 붙이면, 조건에 맞는 데이터만 필터링됩니다.
위 코드는 "나이가 21세 이상인 학생만 보여줘"라는 의미예요.

SELECT 쿼리 실행 결과

조건에 맞는 학생만 필터링된 결과 (age >= 21)


축하합니다!

여러분은 방금 첫 번째 데이터베이스를 완성했습니다.

배운 내용 정리:

  • CREATE TABLE - 테이블 생성
  • INSERT - 데이터 입력
  • SELECT - 데이터 조회
  • WHERE - 조건 필터링
  • Primary Key - 고유 식별자 개념

실생활 응용
이 구조를 응용하면 다양한 정보를 관리할 수 있습니다.
예를 들어:

  • 반려동물 정보: pet_id, name, species, birth_date, weight
  • 식물 관리: plant_id, name, type, last_watered, location
  • 독서 기록: book_id, title, author, finished_date, rating

레오파드 게코를 키우신다면?
gecko_id, name, morph, hatch_date, current_weight 같은 컬럼으로
개체 정보를 체계적으로 관리할 수 있어요.


다음 글 예고

다음 실습에서는 도서관 대출 시스템을 만들어봅니다.
이번에는 테이블이 하나가 아니라 여러 개예요.

1:N 관계라는 중요한 개념을 배우게 됩니다.
"한 회원이 여러 책을 빌릴 수 있다" - 이런 관계를 데이터베이스로 어떻게 표현할까요?

다음 글에서 만나요! 👋

#SQL#CREATE TABLE#Primary Key#DB Browser#실습