약 5분
본문 듣기
읽기 설정
글자 크기
줄 간격
글꼴
4.1 종합 프로젝트 실습
이 종합 프로젝트 실습에서는 여러분이 학습한 내용을 바탕으로 실제 데이터베이스를 설계하고 구현하는 작업을 수행합니다. 데이터베이스의 필요성과 SQL 쿼리가 어떻게 활용될 수 있는지를 이해하며, 회원 관리 시스템을 예로 들어 실습을 진행하겠습니다.
데이터베이스 설계
-
데이터베이스의 필요성
데이터베이스는 데이터를 조직적으로 저장하며, 필요할 때마다 쉽게 검색하고 관리할 수 있도록 만들어줍니다.
예를 들어, 여러분이 웹사이트에서 회원가입을 하면 이름, 이메일, 비밀번호 등의 정보가 서버에 저장되어야 합니다. -
ERD 설계
간단한 회원 관리 시스템을 구축하기 위해 ERD를 설계합니다.- 회원(Member) 테이블: id(PK), name, email, password, created_at
- 주문(Order) 테이블: id(PK), member_id(FK), product_name, order_date
SQL 쿼리 예제
- 데이터베이스 및 테이블 생성
CREATE DATABASE membership;
USE membership;
CREATE TABLE Member (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE `Order` (
id INT AUTO_INCREMENT PRIMARY KEY,
member_id INT NOT NULL,
product_name VARCHAR(100) NOT NULL,
order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (member_id) REFERENCES Member(id)
);
- 실행 결과
| 테이블명 | 상태 |
|-----------|------|
| Member | 생성 완료 |
| Order | 생성 완료 |
구현 실습
이제 여러분이 직접 회원과 주문 정보를 삽입하고 관리하는 기능을 구현해보세요.
- 3명의 회원을 추가하세요.
- 각 회원이 최소 2개의 주문을 생성하도록 추가하세요.
SQL 문장 예제
INSERT INTO Member (name, email, password) VALUES
('홍길동', 'hong@example.com', 'password1'),
('이순신', 'lee@example.com', 'password2'),
('강감찬', 'gang@example.com', 'password3');
INSERT INTO `Order` (member_id, product_name) VALUES
(1, '상품 A'),
(1, '상품 B'),
(2, '상품 C'),
(2, '상품 D'),
(3, '상품 E');
- 실행 결과
| 테이블명 | 상태 |
|-----------|------|
| Member | 3명 추가 완료 |
| Order | 5개 주문 추가 완료 |
데이터 조회
모든 회원과 그들의 주문을 조회하기 위해 JOIN 쿼리를 사용합니다.
SELECT M.name, O.product_name
FROM Member M
JOIN `Order` O ON M.id = O.member_id;
이 쿼리를 실행하면 각 회원과 그들이 주문한 상품이 함께 표시됩니다.
이제 여러분은 위의 단계를 따라 SQL 쿼리를 작성하고, 데이터베이스를 설계 및 구현해 보세요. 실습 문제를 통해 여러분의 이해도를 높이고, 데이터베이스 관리의 기초를 확립할 수 있습니다.
댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.