3.5、数据库设计 3.5.1、ER图(实体关系图)
3.5.2、表设计
根据ER图(实体关系图),我们分析当前系统具有以下几个模块:
用户,商品,订单,购物车
用户与订单之间存在一对多关系
(一个用户可以有多个订单)
商品与订单之间存在多对多关系
(一个订单中包含多个商品,一个商品被多个订单下单)
购物车我们暂时不将信息存储到数据库中,所以不用生成表。
创建数据库 create database productstore;
使用数据库 USE productstore;
用户表 CREATE TABLE `user` ( `id` INT(11) AUTO_INCREMENT, `username` VARCHAR(20) , `PASSWORD` VARCHAR(20) , `gender` VARCHAR(10) , `email` VARCHAR(50) , `telephone` VARCHAR(20) , `introduce` VARCHAR(100), `activeCode` VARCHAR(50) , `state` INT(11) , `role` VARCHAR(10) DEFAULT '普通用户', `registTime` TIMESTAMP , PRIMARY KEY (`id`) ) 商品表 CREATE TABLE `products` ( `id` VARCHAR(100) , `name` VARCHAR(40) , `price` DOUBLE , `category` VARCHAR(40) , `pnum` INT(11) , `imgurl` VARCHAR(100) , `description` VARCHAR(255) , PRIMARY KEY (`id`) ) 订单表 CREATE TABLE `orders` ( `id` VARCHAR(100) , `money` DOUBLE , `receiverAddress` VARCHAR(255) , `receiverName` VARCHAR(20) , `receiverPhone` VARCHAR(20) , `paystate` INT(11) , `ordertime` TIMESTAMP , `user_id` INT(11) , PRIMARY KEY (`id`), FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ) 订单项表 CREATE TABLE `orderitem` ( `order_id` VARCHAR(100) , `product_id` VARCHAR(100), `buynum` INT(11) , PRIMARY KEY (`order_id`,`product_id`), FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`), FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) )