제21장 온라인 서점 쇼핑몰 만들기
2. 데이터베이스 및 테이블 만들기
쇼핑몰에서 가장 중요한 내용이 데이터베이스이다. 그 이유는 데이터베이스를
통해서 관리자와 구매자가 정보를 교환하기 때문이다. 여기서 사용할 데이터베이스는
세 개의 테이블을 가진다. product 테이블은 상품의 정보를 저장하는 테이블이고
또하나는 구매자가 일시적으로 생성하는 장바구니의 내용을 저장하는 temp_bag테이블이며
마지막 하나는 구매자의 신청 정보를 저장하는 sold 테이블이다.
product 테이블
항목이름
|
데이터형식
|
설명
|
uid
|
int
|
일련번호
|
part
|
char
|
책분류
|
name
|
char
|
책제목
|
author
|
char
|
저자이름
|
price
|
int
|
가격
|
date
|
char
|
출판일자
|
info
|
text
|
세부설명
|
remain
|
int
|
제고수량
|
userfile
|
char
|
도서 그림
|
|
temp_bag 테이블
항목이름
|
데이터형식
|
설명
|
uid
|
int
|
일련번호
|
user_uid
|
int
|
사용자 임시 id
|
product_uid
|
int
|
도서 기본키
|
price
|
int
|
가격
|
acount
|
int
|
수량
|
|
sold 테이블
항목이름
|
데이터형식
|
설명
|
uid
|
int
|
일련번호
|
name
|
char
|
구매자 이름
|
address
|
char
|
주소
|
phone
|
char
|
전화번호
|
desp
|
char
|
전하는 말
|
signdate
|
int
|
주문일
|
status
|
char
|
상태
|
|
sale_bag 테이블
항목이름
|
데이터형식
|
설명
|
uid
|
int
|
일련번호
|
user_uid
|
int
|
사용자 임시 id
|
product_uid
|
int
|
도서 기본키
|
price
|
int
|
가격
|
acount
|
int
|
수량
|
|
사용자 및 데이터베이스 등록
$ mysql -u root -p mysql
mysql> INSERT INTO user (host,user,password,file_priv) VALUES ('localhost','jklee',password('1234'),'Y');
mysql> INSERT INTO db VALUES ('localhost','bookshop','jklee','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql> create database bookshop;
mysql> flush privileges;
mysql> \q
|
상품(product) 테이블 등록
$vi product.sql
CREATE TABLE product (
uid mediumint(9) unsigned DEFAULT '1' NOT NULL auto_increment,
part varchar(20) DEFAULT '' NOT NULL,
name varchar(50) DEFAULT '' NOT NULL,
author varchar(30) DEFAULT '' NOT NULL,
price int(9) unsigned DEFAULT '0' NOT NULL,
date varchar(15) DEFAULT '' NOT NULL,
info text NOT NULL,
remain int(5) unsigned DEFAULT '0' NOT NULL,
userfile varchar(255) NOT NULL,
PRIMARY KEY (uid)
);
$ mysql -u jklee -p bookshop < product.sql
|
장바구니(temp_bag) 테이블 등록
$vi temp_bag.sql
CREATE TABLE temp_bag (
uid int(9) unsigned DEFAULT '0' NOT NULL auto_increment,
user_uid int(9) unsigned DEFAULT '0' NOT NULL,
product_uid int(9) unsigned DEFAULT '0' NOT NULL,
amount int(10) unsigned DEFAULT '1',
price int(15) unsigned DEFAULT '0',
PRIMARY KEY (uid)
);
$ mysql -u jklee -p bookshop < temp_bag.sql
|
구매자(sold) 테이블 등록
$vi sold.sql
CREATE TABLE sold (
uid mediumint(9) unsigned DEFAULT '1' NOT NULL auto_increment,
name varchar(30) DEFAULT '' NOT NULL,
address varchar(200) DEFAULT '' NOT NULL,
phone varchar(30) DEFAULT '' NOT NULL,
signdate int(10) unsigned DEFAULT '0' NOT NULL,
status char(1) NOT NULL,
desp varchar(200) DEFAULT '',
PRIMARY KEY (uid)
);
$ mysql -u jklee -p bookshop < sold.sql
|
구매 제품 목록(sale) 테이블 등록
$vi sale_bag.sql
CREATE TABLE sale_bag (
uid int(9) unsigned DEFAULT '0' NOT NULL auto_increment,
user_uid int(9) unsigned DEFAULT '0' NOT NULL,
product_uid int(9) unsigned DEFAULT '0' NOT NULL,
amount int(10) unsigned DEFAULT '1',
price int(15) unsigned DEFAULT '0',
PRIMARY KEY (uid)
);
$ mysql -u jklee -p bookshop < sale_bag.sql
|
|