MySQL
[MySQL] 40. 쇼핑몰 서비스 DB 구축 (1)
Song hyun
2024. 6. 12. 09:35
728x90
반응형
[MySQL] 40. 쇼핑몰 서비스 DB 구축
1. 쇼핑몰 카테고리 1단계
2. 응용 문제
1. 쇼핑몰 카테고리 1단계
-카테고리와 상품의 관계차수는 일대다 관계(1:N) 관계이다.
-각 카테고리는 여러 상품을 포함할 수 있으며, 각 상품은 하나의 카테고리에만 속한다.
tb_categories | |||
Field name | Data type | Description | Value |
category_id | int | 카테고리 고유 ID | 1,2,3,4 ... |
category_name | varchar(100) | 카테고리 이름 | "상의", "하의", "외투" |
tb_products | |||
Field name | Data type | Description | Value |
product_id | int | 상품 고유 ID | 1,2,3,4... |
product_name | varchar(255) | 상품 이름 | "청바지","외투","티셔츠"... |
category_id | int | 카테고리 고유 ID(FK) | 1,2,3,4... |
price | decimal(10,2) | 상품 가격 | 10000,25000,12000,. ... |
size | enum | 상품 사이즈 | 'S', 'M', 'L', 'XL' |
color | varchar(50) | 상품 색상 | '흰색', '검은색' ... |
use mydb3;
-- tb_categories : 카테고리 테이블 설계
create table tb_categories(
category_id int auto_increment primary key,
category_name varchar(100) not null
);
-- tb_products : 상품 테이블 설계
create table tb_products(
product_id int auto_increment primary key,
product_name varchar(255),
category_id int,
price DECIMAL(10,2),
size enum('S','M','L','XL'),
color varchar(50),
foreign key (category_id) references tb_categories(category_id)
);
-- 카테고리 테이블 데이터 삽입
insert into tb_categories (category_name) values ('상의');
insert into tb_categories (category_name) values ('하의');
insert into tb_categories (category_name) values ('외투');
-- 프로덕트 테이블 데이터 삽입
insert into tb_products(product_name,category_id,price,size,color)
values('티셔츠',1,19900,'M','흰색'),
('청바지',2,49000,'L','청색'),
('자켓',3,99000,'L','검정색'),
('셔츠',1,30000,'S','보라색');
2. 응용 문제
-- 특정 카테고리에 속한 모든 상품을 조회 쿼리
select p.product_name,round(p.price),p.size,p.color
from tb_products as p
join tb_categories as c on p.category_id=c.category_id
where c.category_name='상의';
728x90
반응형