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
반응형