name: tên danh m cụ.
Trang 1Hướng dẫn tạo cơ sở dữ liệu (CSDL) cho web bán hàng
B n ang có ý nh mu n làm 1 website bán s n ph m mà ch a có nh hạ đ đị ố ả ẩ ư đị ướng làm th nào,c s ế ơ ở
d li u c a nó g m nh ng gì và làm cái gì trữ ệ ủ ồ ữ ước?Qua bài này vi t mình mu n các b n có th tr l i ế ố ạ ể ả ờ
ph n nào có nh ng th c m c trên.Và ây là bài ầ ữ ắ ắ đ đầu tiên trong seriesh ướ ng d n làm website ẫ bán
hàng và thanh toán tr c tuy n ự ế c a mình.Các b n hãy xem các bài trong series này ủ ạ để có th t ể ự làm được 1 website bán hàng vàthanh toán tr c tuy n nhé ự ế
– V i mình ớ để làm 1 website b t k nào ó i u ấ ỳ đ đ ề đầu tiên mình quan tâm ó chính là ch c n ng đ ứ ă chính c a website làm v cái này,quy trình nghi p v và x lý s th nào?Trủ ề ệ ụ ử ẽ ế ước tiên chúng ta c n ầ
tr l i ả ờ được nh ng câu h i ó thì m i b t tay vào thi t k website ữ ỏ đ ớ ắ ế ế được.N u các b n hi u sai yêu ế ạ ể
c u ho c ch c n ng c a website s d n t i tình tr ng làm sai d n t i ph i ch nh s a nhi u ho c làmầ ặ ứ ă ủ ẽ ẫ ớ ạ ẫ ớ ả ỉ ử ề ặ
ch c n ng không ứ ă đượ ố ưc t i u
– Và bước ti p theo c a chúng ta s ph i làm gì ây?ế ủ ẽ ả đ Đố ới v i nh ng công ty l p trình thì thữ ậ ường phân bi t rõ công vi c cho t ng ngệ ệ ừ ườ ừi,t ng b ph n ví d ngộ ậ ụ ười chuyên v bên phân tích thi t k ề ế ế
h th ng,ngệ ố ười chuy nể làm giao di n ệ và người chuyên code… phỞ ương di n chúng ta là l p trình ệ ậ viên không nh ng c n bi t code mà còn bi t phân tích thi t k h th ng c ng nh bi t 1 chút v làmữ ầ ế ế ế ế ệ ố ũ ư ế ề giao di n (ệ html và css).Và nh t là ấ đố ới v i các b n ang nghiên c u v l p trình website thì t t nhiênạ đ ứ ề ậ ấ
t t c công vi c trên các b n c n t làm r i.Hôm nay mình s hấ ả ệ ạ ầ ự ồ ẽ ướng d n cho các b n v ph n ẫ ạ ề ầ đầu tiên ó chính là làm c s di u (đ ơ ở ệ CSDL) cho website bán hàng m c ở ứ độ đơn gi n nh t (sau này ả ấ quen r i các b n có th t phát tri n lên).ồ ạ ể ự ể
– Trước tiên vào làm v c s d li u thì các b n c n bi t website c a chúng ta qu n lý gì?mình xinề ơ ở ữ ệ ạ ầ ế ủ ả
a ra nh ng yêu c u c b n nh t c n có 1 website bán s n ph m ó chính là:
• Qu n tr viênả ị
• Danh m c s n ph mụ ả ẩ
• S n ph mả ẩ
• Đơ hàng
• Giao d chị
• Thành viên
…
Ngoài ra còn r t nhi u các ch c n ng khác c n qu n lý,nh ng ban ấ ề ứ ă ầ ả ư đầu chúng ta c xây d ng 1 c ứ ự ơ
s d li u m c ở ữ ệ ở ứ độ đơn gi n ã.ả đ
– Các b n có th s d ng l nh ho c vào tr c ti pạ ể ử ụ ệ ặ ự ế phpMyadmin để ạ t o các b ng và các trả ương d ữ
li uệ
Trang 2Chú ý: n u b n nào theo dõi lo t series h ế ạ ạ ướ ng d n làm website bán hàng này thì c n chú ý ẫ ầ
k các b ng,ch c n ng và các tr ỹ ả ứ ă ườ ng d li u này,vì trong t t c các bài h ữ ệ ấ ả ướ ng d n mình ẫ
u s d ng t i 1 trong các b ng này.
đề ử ụ ớ ả
Hướng dẫn tạo cơ sở dữ liệu(CSDL) cho web bán
hàng
1.Xây dựng bảng quản trị website (admin)
1
2
3
4
5
6
7
CREATE TABLE IF NOT EXISTS `admin` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `password` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `name` varchar(128) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=6 ;
– V i b ng qu n tr này chúng ta c n l u các trớ ả ả ị ầ ư ường thông tin :
1 id : khóa chính và trường d li u này mình ữ ệ để ự ă t t ng
2 name: h tênọ
Và k t qu s ế ả ẽ được nh hình phía dư ưới
T o csdl cho website bán hàngạ
2.Xây dựng thành viên (user)
1
2
3
4
5
6
7
CREATE TABLE IF NOT EXISTS `user` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`phone` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
`address` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
`password` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`created` int(11) NOT NULL,
PRIMARY KEY (`id`)
Trang 39
10
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=19 ;
– B ng này ả để ư l u các thành viên c a website,v i b ng thành viên này chúng ta c n l u các trủ ớ ả ầ ư ường
thông tin :
1 id : khóa chính
2 name: h tênọ
3 email: email,s d ng ử ụ để đăng nh pậ
4 password: m t kh u ậ ẩ đăng nh pậ
6 created: th i i m ờ đ ể đăng ký thành viên
Và k t qu s ế ả ẽ được nh hình phía dư ưới
B ng l u thông tin thành viênả ư
3.Xây dựng bảng danh mục sản phẩm (catalog)
1
2
3
4
5
6
7
CREATE TABLE IF NOT EXISTS `catalog` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(128) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`parent_id` int(11) NOT NULL DEFAULT '0',
`sort_order` tinyint(4) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=24 ;
– V i b ng danh m c s n ph m này chúng ta c n l u các trớ ả ụ ả ẩ ầ ư ường thông tin :
1 id : khóa chính và trường d li u này mình ữ ệ để ự ă t t ng
2 name: tên danh m cụ
Trang 43 parent_id: id c a danh m c cha,vì danh m c s ủ ụ ụ ẽ được phân theo nhi u c p,t m th i mình ề ấ ạ ờ
g i là cha con nhéọ
4 sort_order: v trí s p x p(hi n th ),cái này không quan trong m yị ắ ế ể ị ấ
Và k t qu s ế ả ẽ được nh hình phía dư ưới
B ng danh m c s n ph mả ụ ả ẩ
4.Xây dựng bảng sản phẩm (product)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE IF NOT EXISTS `product` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`catalog_id` int(11) NOT NULL,
`name` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`price` decimal(15,4) NOT NULL DEFAULT '0.0000',
`content` text COLLATE utf8_unicode_ci NOT NULL,
`discount` int(11) NOT NULL,
`image_link` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`image_list` text COLLATE utf8_unicode_ci NOT NULL,
`created` int(11) NOT NULL DEFAULT '0',
`view` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
FULLTEXT KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=16 ;
– V i b ng s n ph m này chúng ta c n l u các trớ ả ả ẩ ầ ư ường thông tin :
1 id : khóa chính và trường d li u này mình ữ ệ để ự ă t t ng
2 catalog_id: id c a danh m c s n ph m,vì 1 s n ph m ph i thu c 1 danh m c nào óủ ụ ả ẩ ả ẩ ả ộ ụ đ
3 name: tên s n ph mả ẩ
4 price: giá c a s n ph mủ ả ẩ
5 discount: l u chi t kh u, gi m giáư ế ấ ả
6 price: giá c a s n ph mủ ả ẩ
Trang 57 image_link: l u link file nh minh h a cho s n ph mư ả ọ ả ẩ
8 image_list: l u danh sách link file nh kèm theo cho s n ph mư ả ả ẩ
9 created: th i i m t o s n ph mờ đ ể ạ ả ẩ
10 view: lượt xem s n ph m nàyả ẩ
….Ngoài ra còn r t nhi u các trấ ề ường d li u ho c các b ng khác liên quan t i vi c l u thông tin s nữ ệ ặ ả ớ ệ ư ả
ph m nh ,quà t ng,khuy n mãi,thu c tính…Nh ng ph n này các b n có th phát tri n thêmẩ ư ặ ế ộ ữ ầ ạ ể ể
Và k t qu s ế ả ẽ được nh hình phía dư ưới
Xây d ng b ng l u thông tin s n ph mự ả ư ả ẩ
5.Xây dựng bảng giao dịch (transaction)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE IF NOT EXISTS `transaction` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`status` tinyint(4) NOT NULL DEFAULT '0',
`user_id` int(11) NOT NULL DEFAULT '0',
`user_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `user_email` varchar(50) COLLATE utf8_bin NOT NULL,
`user_phone` varchar(20) COLLATE utf8_bin NOT NULL,
`amount` decimal(15,4) NOT NULL DEFAULT '0.0000',
`payment` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `payment_info` text COLLATE utf8_bin NOT NULL,
`message` varchar(255) COLLATE utf8_bin NOT NULL,
`security` varchar(16) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `created` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=7 ;
Trang 6– ây là b ng r t quan tr ng và không th thi u trong 1 website thĐ ả ấ ọ ể ế ương m i i n t thanh toán tr c ạ đ ệ ử ự tuy n,b ng này có ch c n ng l u thông tin c a toàn b giao d ch trên website V i b ng giao d ch ế ả ứ ă ư ủ ộ ị ớ ả ị này chúng ta c n l u các trầ ư ường thông tin :
1 id : khóa chính và trường d li u này mình ữ ệ để ự ă t t ng
2 status: l u tr ng thái c a giao d ch,d a vào tr ng thái này ư ạ ủ ị ự ạ để ế bi t giao d ch ã thanh toán ị đ thành công ch a,ví d 1 là thành công,0 là ch a thanh toánư ụ ư
3 user_id: id c a thành viên mua hàng,n u khách không có tài kho n thì trủ ế ả ương này không
c n l uầ ư
6 user_phone: s i n tho i c a khách hàngố đ ệ ạ ủ
7 amount: t ng s ti n c n thanh toán,và ây chính là t ng s ti n chúng ta g i sang bên c ng ổ ố ề ầ đ ổ ố ề ử ổ thanh toán
8 payment: tên c ng thanh toán mà khách hàng ch n ổ ọ để thanh toán
9 payment_info: toàn b thông tr v t bên c ng thanh toán g i cho chúng taộ ả ề ừ ổ ủ
10 message: n i dung yêu c u c a khách hàngộ ầ ủ
11 security: mã b o m t cho giao d ch,1 s c ng thanh toán ta c n g i mã b o m tả ậ ị ố ổ ầ ử ả ậ
12 created: th i i m t o giao d ch,d a vào trờ đ ể ạ ị ự ường này mà chúng ta hoàn toàn có th làm ể
th ng kê cáo cáo doanh thu theo th i gianố ờ
Khi sang ch c n ng mua hàng và thanh toán tr c tuy n ho c th ng kê báo cáo chúng ta s ph i ứ ă ự ế ặ ố ẽ ả làm vi c nhi u v i b ng này.ệ ề ớ ả
Và k t qu chúng ta s có b ng d li u sau:ế ả ẽ ẳ ữ ệ
Trang 7B ng l u thông tin giao d ch c a websiteả ư ị ủ
6.Xây dựng bảng đơn hàng (order)
1
2
3
4
5
6
7
8
9
10
CREATE TABLE IF NOT EXISTS `order` (
`transaction_id` int(255) NOT NULL,
`id` int(255) NOT NULL AUTO_INCREMENT,
`product_id` int(255) NOT NULL,
`qty` int(11) NOT NULL DEFAULT '0',
`amount` decimal(15,4) NOT NULL DEFAULT '0.0000',
`data` text COLLATE utf8_bin NOT NULL,
`status` tinyint(4) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=6 ;
– trên chúng ta ã có b ng giao d ch r i v y còn b ng Ở đ ả ị ồ ậ ả đơn hàng ây ở đ để làm gì nh ? ây chính là ỉ đ
b ng l u chi ti t c a giao d ch,1 giao d ch có th có nhi u ả ư ế ủ ị ị ể ề đơn hàng,ví d trong gi hàng c a b n ụ ỏ ủ ạ mua 2 lo i s n ph m là 1 cái tivi và 2 cái i n tho i,lúc này trong b ng giao d ch ch có 1 dòng d ạ ả ẩ đ ệ ạ ả ị ỉ ữ
li u duy nh t,nh ng trong b ng ệ ấ ư ả đơn hàng này s có thêm 2 ong d li u.Và chi ti t các thông tin ẽ đ ữ ệ ế trong b ng này c n l u nh sau:ả ầ ư ư
1 id : khóa chính và trường d li u này mình ữ ệ để ự ă t t ng
2 transaction_id: id c a giao d ch,1 giao d ch có th có nhi u ủ ị ị ể ề đơn hàng và 1 đơn hàng ph i ả thu c 1 giao d ch nào ó.ộ ị đ
3 product_id: id c a s n ph mủ ả ẩ
Trang 84 qty: s lố ượng s n ph m trong ả ẩ đơn hàng,nh ví d trên thì v i tivi thì qty = 1,và i n tho i thìư ụ ớ đ ệ ạ qty = 2
5 amount: s ti n c a ố ề ủ đơn hàng,các b n l u ý là s ti n(amount) trong b ng giao d ch s b ng ạ ư ố ề ả ị ẽ ằ
t ng s ti n trong b ng ổ ố ề ả đơn hàng tương ng nhéứ
6 data: l u d li u nào ó mà b n mu nư ữ ệ đ ạ ố
7 status: ây chính là tr ng thái c a đ ạ ủ đơn hàng,và tr ng thái này cho chúng ta bi t s n ph m ạ ế ả ẩ
c a ủ đơn hàng này ã đ được g i cho khách ch a,ví dử ư ụ status = 1 là ã g i,đ ử status = 0 là ch a g i ư ử hàng cho khách
….Các b n c n phân bi t chính xácạ ầ ệ amount và status trong b ngả transaction và amount và status trong b ngả order nhé.
Và k t qu s ế ả ẽ được nh hình phía dư ưới
B ng l u thông tin ả ư đơn hàng
- See more at:
http://hocphp.info/huong-dan-tao-co-du-lieu-cho-web-ban-hang/#sthash.1IBTRpwJ.dpuf