目录
我这里有一个网上商城综合项目的源码,,需要写一个数据库。
创建一个名为 bookstore 的数据库,并在 bookstore中创建以下 5 个表,具体如下。
1. user 表
该表用于保存网上书城系统前台以及后台用户的信息,其结构如表 11-1 所示。
| 字段名 | 数据类型 | 是否为空 | 是否主键 | 描述默认值 | 描述 |
|---|---|---|---|---|---|
| id | INT(11) | 否 | 是 | NULL | 系统自动编号、自增 |
| username | VARCHAR(20) | 否 | 否 | NULL | 用户名称 |
| password | VARCHAR(20) | 是 | 否 | NULL | 用户密码 |
gender | VARCHAR(2) | 是 | 否 | NULL | 性别 |
| VARCHAR(50) | 是 | 否 | NULL | 邮箱地址 | |
| telephone | VARCHAR(20) | 是 | 否 | NULL | 电话号码 |
| introduce | VARCHAR(100) | 是 | 否 | NULL | 用户简介 |
| activeCode | VARCHAR(50) | 是 | 否 | NULL | 注册激活码 |
| state | INT(11) | 是 | 否 | 0 | 用户状态,1:激活 0:未激活 |
| role | VARCHAR(10) | 是 | 否 | 普通用户 | 用户角色:普通用户、超级用户 |
| registTime | TIMESTAM(20) | 否 | 否 | NULL | 注册时间 |
2. products 表
该表用于保存网上书城系统前台以及后台商品信息,其结构如表 11-2 所示。
| 字段名 | 数据类型 | 是否为空 | 是否主键 | 默认值 | 描述 |
|---|---|---|---|---|---|
| id | VARCHAR(100) | 否 | 是 | NULL | 商品ID |
| name | VARCHAR(40) | 是 | 否 | NULL | 商品名称 |
| price | DOUBLE | 是 | 否 | NULL | 商品价格 |
| category | VARCHAR(40) | 是 | 否 | NULL | 商品分类 |
| pnum | INT(11) | 是 | 否 | NULL | 商品库存量 |
| imgurl | VARCHAR(100) | 是 | 否 | NULL | 商品图片地址 |
| description | VARCHAR(255) | 是 | 否 | NULL | 商品描述 |
3.orders 表
该表用于保存网上书城系统前台以及后台订单的信息,其结构如表 11-3所示。
| 字段名 | 数据类型 | 是否为空 | 是否主键 | 默认值 | 描述 |
|---|---|---|---|---|---|
| id | VARCHAR(100) | 否 | 是 | NULL | 订单ID |
| money | DOUBLE | 是 | 否 | NULL | 订单价格 |
| receiverAddress | VARCHAR(255) | 是 | 否 | NULL | 收货地址 |
| receiverName | VARCHAR(20) | 是 | 否 | NULL | 收货人姓名 |
| receiverPhone | VARCHAR(20) | 是 | 否 | NULL | 收货人电话 |
| paystate | INT(11) | 是 | 否 | 0 | 订单状态, 1:已支付,0:未支付 |
| ordertime | TIMESTAMP | 是 | 否 | NULL | 订单生成时间 |
| user_id | INT(11) | 是 | 否 | NULL | 用户ID,关联user 表中的主键 |
4. orderitem 表
该表用于保存网上书城系统前台以及后台订单的条目信息,其结构如表 11-4 所示。
| 字段名 | 数据类型 | 是否为空 | 是否主键 | 默认值 | 描述 |
|---|---|---|---|---|---|
| order_id | VARCHAR(100) | 是 | 否 | NULL | 订单ID ,关联 orders 表中的主键 |
| product_id | VARCHAR(100) | 是 | 否 | NULL | 商品ID,关联 products 表中的主键 |
| buynum | INT(11) | 是 | 否 | NULL | 单个商品的购买数量 |
5.notice 表
该表用于保存网上书城系统前台以及后台公告栏的信息,其结构如表 11-5 所示。
| 字段名 | 数据类型 | 是否为空 | 是否主键 | 默认值 | 描述 |
|---|---|---|---|---|---|
| n_id | INT | 否 | 是 | NULL | 系统自动编号、自增 |
| title | VARCHAR(10) | 是 | 否 | NULL | 公告标题 |
| details | VARCHAR(255) | 是 | 否 | NULL | 公告内容 |
| n_time | VARCHAR(18) | 是 | 否 | NULL | 公告的创建时间 |
附录:SQL
实现上述需求完整代码如下:
工具:MYSQL 5.5
/*
SQLyog 企业版 - MySQL GUI v8.14
MySQL - 5.5.62 : Database - bookstore
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`bookstore` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `bookstore`;
/*Table structure for table `notice` */
DROP TABLE IF EXISTS `notice`;
CREATE TABLE `notice` (
`n_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '系统自动编号,自增',
`title` varchar(10) DEFAULT NULL COMMENT '公告标题',
`details` varchar(255) DEFAULT NULL COMMENT '公告内容',
`n_time` varchar(18) DEFAULT NULL COMMENT '公告的创建时间',
PRIMARY KEY (`n_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `notice` */
/*Table structure for table `orders` */
DROP TABLE IF EXISTS `orders`;
CREATE TABLE `orders` (
`id` varchar(100) NOT NULL COMMENT '订单ID',
`money` double DEFAULT NULL COMMENT '订单价格',
`receiverAddress` varchar(255) DEFAULT NULL COMMENT '收货地址',
`receiverName` varchar(20) DEFAULT NULL COMMENT '收货人姓名',
`receiverPhone` varchar(20) DEFAULT NULL COMMENT '收货人电话',
`paystate` int(11) DEFAULT NULL COMMENT '订单状态,1:已支付,0:未支付',
`ordertime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '订单生产时间',
`user_id` int(11) DEFAULT NULL COMMENT '用户ID,关联user表中的主键',
PRIMARY KEY (`id`),
KEY `FK_orders` (`user_id`),
CONSTRAINT `FK_orders` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `orders` */
/*Table structure for table `orderitem` */
DROP TABLE IF EXISTS `orderitem`;
CREATE TABLE `orderitem` (
`order_id` varchar(100) DEFAULT NULL COMMENT '订单ID,关联orders表中的主键',
`product_id` varchar(100) DEFAULT NULL COMMENT '商品ID,关联products表中的主键',
`buynum` int(11) DEFAULT NULL COMMENT '单个商品的购买数量',
KEY `FK_ordertem` (`order_id`),
KEY `FK_products` (`product_id`),
CONSTRAINT `FK_products` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`),
CONSTRAINT `FK_orderitem` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `orderitem` */
/*Table structure for table `products` */
DROP TABLE IF EXISTS `products`;
CREATE TABLE `products` (
`id` varchar(100) NOT NULL COMMENT '商品ID',
`name` varchar(40) DEFAULT NULL COMMENT '商品名称',
`price` double DEFAULT NULL COMMENT '商品价格',
`category` varchar(40) DEFAULT NULL COMMENT '商品分类',
`pnum` int(11) DEFAULT NULL COMMENT '商品库存量',
`imgurl` varchar(100) DEFAULT NULL COMMENT '商品图片地址',
`description` varchar(255) DEFAULT NULL COMMENT '商品描述',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `products` */
/*Table structure for table `user` */
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '系统自动编号、自增',
`username` varchar(20) NOT NULL COMMENT '用户名称',
`password` varchar(20) DEFAULT NULL COMMENT '用户密码',
`gender` varchar(2) DEFAULT NULL COMMENT '性别',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱地址',
`telephone` varchar(20) DEFAULT NULL COMMENT '电话号码',
`introduce` varchar(100) DEFAULT NULL COMMENT '用户简介',
`activeCode` varchar(50) DEFAULT NULL COMMENT '注册激活码',
`state` int(11) DEFAULT '0' COMMENT '用户状态,1:激活 0:未激活',
`role` varchar(10) DEFAULT '普通用户' COMMENT '用户角色:普通用户、超级用户',
`registTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '注册时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `user` */
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
附录
JavaWeb 程序开发进阶 网上书城 综合项目,源码下载地址如下
版权声明:本文为weixin_44129498原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。