1. 수업 개요
성취기준
관계형 데이터베이스의 필요성과 구조를 이해하고, MySQL 환경에서 데이터베이스와 테이블을 생성하며 기본적인 자료 정의 명령을 사용할 수 있다.
※ 첫 차시 수준에 맞추어 데이터베이스, 테이블, 행, 열, 기본 자료형, SQL 명령의 역할을 중심으로 구성함.
학습 목표
- 데이터베이스와 데이터베이스 관리 시스템의 차이를 설명한다.
- 관계형 데이터베이스의 테이블·행·열 개념을 구분한다.
- MySQL에서 데이터베이스와 테이블을 생성하고 확인한다.
- SQL 명령문의 기본 작성 규칙과 자료형의 쓰임을 설명한다.
핵심 질문
“많은 데이터를 빠르고 정확하게 찾으려면, 우리는 정보를 어떤 구조로 저장해야 할까?”
2. 수업 시작 멘트
공자는 배운 것을 때때로 익히는 기쁨을 말했고, 데카르트는 복잡한 문제를 작은 부분으로 나누어 생각하라고 했습니다.
갈릴레이는 자연이라는 책이 수학의 언어로 쓰였다고 보았고, 가우스는 수학을 과학의 여왕이라 불렀습니다.
오늘 우리는 흩어진 정보를 작은 칸으로 나누고, 서로 연결하고, 필요할 때 정확히 찾아내는 법을 배웁니다. 데이터베이스는 거대한 기억 창고이지만, 정리하지 않으면 그냥 ‘디지털 다락방’입니다. 오늘부터 우리는 다락방의 주인이 아니라 정보의 건축가가 되어 봅시다.
3. 학습할 개념
데이터
관찰하거나 측정하여 얻은 사실과 값이다. 이름, 점수, 날짜, 온도 등이 데이터가 될 수 있다.
데이터베이스
서로 관련된 데이터를 일정한 구조로 모아 저장한 집합이다.
DBMS
데이터베이스를 생성·저장·검색·수정·삭제하도록 돕는 소프트웨어이다. MySQL은 대표적인 DBMS이다.
관계형 데이터베이스
데이터를 행과 열로 이루어진 테이블 형태로 저장하고, 테이블 사이의 관계를 이용한다.
테이블·행·열
테이블은 데이터 저장 구조, 행은 하나의 레코드, 열은 데이터의 속성 또는 필드를 뜻한다.
SQL
데이터베이스에 명령을 전달하는 표준 언어이다. 생성, 조회, 수정, 삭제 등의 작업을 표현한다.
4. 학습할 코드 10개와 상세 설명
SHOW DATABASES;
SHOW는 현재 서버에 존재하는 정보를 보여 달라는 명령이다.DATABASES는 확인할 대상이 데이터베이스 목록임을 뜻한다.- 명령 끝의 세미콜론은 SQL 문장이 끝났음을 나타낸다.
CREATE DATABASE school_db;
CREATE DATABASE는 새로운 데이터베이스를 만든다.school_db는 사용자가 정한 데이터베이스 이름이다.- 이름에는 공백 대신 밑줄을 사용하는 것이 관리에 편리하다.
USE school_db;
USE는 이후 작업을 수행할 기본 데이터베이스를 선택한다.- 데이터베이스를 생성한 뒤에는 사용할 대상을 선택해야 테이블 생성 작업이 명확해진다.
- 성공하면 일반적으로 “Database changed”와 같은 메시지가 표시된다.
CREATE TABLE student (
student_id INT,
name VARCHAR(20),
score INT
);
student라는 테이블을 만들고 세 개의 열을 정의한다.INT는 정수를 저장하는 자료형이다.VARCHAR(20)은 최대 20자의 가변 길이 문자열을 저장한다.
SHOW TABLES;
- 현재 선택한 데이터베이스 안에 존재하는 테이블 이름을 보여 준다.
USE로 데이터베이스를 선택한 뒤 실행하는 것이 좋다.- 테이블 생성 결과를 확인하거나 구조를 탐색할 때 사용한다.
DESC student;
DESC는DESCRIBE의 줄임말이다.- 열 이름, 자료형, NULL 허용 여부, 키 정보 등을 확인할 수 있다.
- 작성한 테이블 구조가 설계 의도와 일치하는지 점검할 때 유용하다.
INSERT INTO student VALUES (101, '김하늘', 95);
INSERT INTO는 테이블에 새로운 행을 추가한다.- 값의 순서는 테이블을 생성할 때 정의한 열의 순서와 일치해야 한다.
- 문자열 값은 작은따옴표로 감싸며, 정수는 따옴표 없이 작성할 수 있다.
INSERT INTO student (student_id, name, score) VALUES (102, '이바다', 88);
- 입력할 열을 명시하여 코드의 의미를 분명하게 표현한다.
- 열 목록과 값 목록의 개수 및 순서가 서로 맞아야 한다.
- 테이블 구조가 변경될 가능성이 있을 때 열 이름을 지정하는 방식이 더 안전하다.
SELECT * FROM student;
SELECT는 데이터를 조회하는 명령이다.- 별표(
*)는 모든 열을 뜻한다. FROM student는 조회 대상 테이블이 student임을 나타낸다.
SELECT name, score FROM student;
- student 테이블에서 이름과 점수 열만 선택하여 조회한다.
- 필요한 열만 조회하면 결과가 간결하고 의미가 분명해진다.
- 여러 열 이름은 쉼표로 구분한다.
5. 형성평가 OX 퀴즈 10개
6. 수업 끝 멘트
7. 학번·이름 입력 및 결과 저장
코드별 선택형 10문항 50점, OX 10문항 50점으로 총 100점입니다. 선택형은 반드시 옳은 답 3개를 정확히 선택해야 정답으로 처리됩니다.