本文章是对于BBS+商城项目的数据库的初步设计,仅供参考!
-- 创建用户表
CREATE TABLE `Users` (
`id` bigint(20) PRIMARY KEY COMMENT '用户ID',
`username` varchar(255) NOT NULL COMMENT '用户名',
`password` varchar(255) NOT NULL COMMENT '密码',
`status` int(1) DEFAULT NULL COMMENT '用户状态',
`gender` TINYINT ( 1 ) DEFAULT NULL COMMENT '性别(0:男,1:女)',
`birthday` VARCHAR ( 32 ) DEFAULT NULL COMMENT '生日',
`phone` VARCHAR ( 15 ) DEFAULT NULL COMMENT '电话',
`email` VARCHAR ( 64 ) DEFAULT NULL COMMENT '邮箱',
`picture` VARCHAR ( 120 ) DEFAULT NULL COMMENT '头像',
`position` VARCHAR ( 100 ) DEFAULT NULL COMMENT '职位',
`company` VARCHAR ( 100 ) DEFAULT NULL COMMENT '公司',
`home_page` VARCHAR ( 200 ) DEFAULT NULL COMMENT '个人主页',
`intro` VARCHAR ( 300 ) DEFAULT NULL COMMENT '个人简介',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户ID',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间'
);
-- 创建用户地址表
CREATE TABLE `UserAddresses` (
`id` bigint(20) PRIMARY KEY COMMENT '地址ID',
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`name` varchar(255) NOT NULL COMMENT '收货人姓名',
`phone` varchar(20) NOT NULL COMMENT '电话号码',
`province` varchar(20) COMMENT '省份',
`city` varchar(20) COMMENT '城市',
`district` varchar(20) COMMENT '地区',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户ID',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间'
);
-- 创建商品类目表
CREATE TABLE `ProductCategories` (
`id` bigint(20) PRIMARY KEY COMMENT '类目ID',
`name` varchar(255) NOT NULL COMMENT '类目名称',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户ID',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间'
);
-- 创建商品表
CREATE TABLE `Products` (
`id` bigint(20) PRIMARY KEY COMMENT '商品ID',
`name` varchar(255) NOT NULL COMMENT '商品名称',
`price` decimal(10, 2) NOT NULL COMMENT '价格',
`stock` int(11) NOT NULL COMMENT '库存数量',
`category_id` bigint(20) NOT NULL COMMENT '类目ID',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户ID',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间'
);
-- 创建商品规格表
CREATE TABLE `ProductSpecifications` (
`id` bigint(20) PRIMARY KEY COMMENT '规格ID',
`product_id` bigint(20) NOT NULL COMMENT '商品ID',
`specification_name` varchar(255) NOT NULL COMMENT '规格名称',
`value` varchar(255) NOT NULL COMMENT '值',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户ID',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间'
);
-- 创建商品详情表
CREATE TABLE `ProductDescriptions` (
`id` bigint(20) PRIMARY KEY COMMENT '详情ID',
`product_id` bigint(20) NOT NULL COMMENT '商品ID',
`description` text NOT NULL COMMENT '描述',
`images` text NOT NULL COMMENT '图片URL列表',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户ID',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间'
);
-- 创建订单表
CREATE TABLE `Orders` (
`id` bigint(20) PRIMARY KEY COMMENT '订单ID',
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`order_number` varchar(50) NOT NULL COMMENT '订单编号',
`total_amount` decimal(10, 2) NOT NULL COMMENT '总金额',
`status` varchar(20) NOT NULL COMMENT '订单状态',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户ID',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间'
);
-- 创建订单详情表
CREATE TABLE `OrderDetails` (
`id` bigint(20) PRIMARY KEY COMMENT '订单详情ID',
`order_id` bigint(20) NOT NULL COMMENT '订单ID',
`product_id` bigint(20) NOT NULL COMMENT '商品ID',
`quantity` int(11) NOT NULL COMMENT '数量',
`price` decimal(10, 2) NOT NULL COMMENT '单价',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户ID',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间'
);
-- 创建支付类型表
CREATE TABLE `PaymentTypes` (
`id` bigint(20) PRIMARY KEY COMMENT '支付类型ID',
`name` varchar(255) NOT NULL COMMENT '支付方式名称',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户ID',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间'
);
-- 创建配送方式表
CREATE TABLE `DeliveryMethods` (
`id` bigint(20) PRIMARY KEY COMMENT '配送方式ID',
`name` varchar(255) NOT NULL COMMENT '配送方式名称',
`price` decimal(10, 2) DEFAULT NULL COMMENT '配送费用',
`Delivery` varchar(255) NOT NULL COMMENT '快递单号',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户ID',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间'
);
-- 创建购物车表
CREATE TABLE `Carts` (
`id` bigint(20) PRIMARY KEY COMMENT '购物车ID',
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间'
);
-- 创建购物车详情表
CREATE TABLE `CartDetails` (
`id` bigint(20) PRIMARY KEY COMMENT '购物车详情ID',
`cart_id` bigint(20) NOT NULL COMMENT '购物车ID',
`product_id` bigint(20) NOT NULL COMMENT '商品ID',
`quantity` int(11) NOT NULL COMMENT '数量',
`price` decimal(10, 2) NOT NULL COMMENT '单价',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户ID',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间'
);
-- 创建文章表
CREATE TABLE `ya_article` (
`id` int(11) NOT NULL COMMENT '文章编号',
`title_map` varchar(120) DEFAULT NULL COMMENT '题图',
`title` varchar(100) NULL COMMENT '文章标题',
`content` longtext COMMENT '文章内容',
`state` tinyint(1) DEFAULT '1' COMMENT '状态(0禁用,1启用)',
`pv` int(11) DEFAULT '0' COMMENT '文章浏览量',
`top` int(11) DEFAULT NULL COMMENT '置顶(数字越大越置顶)',
`is_deleted` tinyint(1) DEFAULT NULL COMMENT '逻辑删除(0正常,1删除)',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户id',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
);
-- 创建文章标签表
CREATE TABLE `ya_article_label` (
`id` int(11) NOT NULL COMMENT '文章标签编号',
`article_id` int(11) DEFAULT NULL COMMENT '文章id',
`label_id` int(11) DEFAULT NULL COMMENT '标签id',
`is_deleted` tinyint(1) DEFAULT NULL COMMENT '逻辑删除(0正常,1删除)',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户id',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
);
-- 创建评论表
CREATE TABLE `ya_comment` (
`id` int(11) NOT NULL COMMENT '评论编号',
`pre_id` int(11) DEFAULT NULL COMMENT '父评论id',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '评论内容',
`article_id` int(11) DEFAULT NULL COMMENT '被评论帖子id',
`state` tinyint(1) DEFAULT '1' COMMENT '状态(0禁用,1启用)',
`is_deleted` tinyint(1) DEFAULT NULL COMMENT '逻辑删除(0正常,1删除)',
`comment_user` bigint(20) DEFAULT NULL COMMENT '评论用户id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
);
-- 评论点赞
CREATE TABLE `ya_comment_like` (
`id` int(11) NOT NULL COMMENT '评论点赞编号',
`comment_id` int(11) DEFAULT NULL COMMENT '评论id',
`state` tinyint(1) DEFAULT '1' COMMENT '状态(0取消,1点赞)',
`like_user` bigint(20) DEFAULT NULL COMMENT '评论点赞用户id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
);
-- 点赞
CREATE TABLE `ya_like` (
`id` int(11) NOT NULL COMMENT '点赞编号',
`article_id` int(11) DEFAULT NULL COMMENT '文章id',
`state` tinyint(1) DEFAULT '1' COMMENT '状态(0取消,1点赞)',
`like_user` bigint(20) DEFAULT NULL COMMENT '点赞用户id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
);
-- 用户反馈
CREATE TABLE `ya_feedback` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '反馈编号',
`type` tinyint(1) DEFAULT NULL COMMENT '类型(0系统BUG,1系统优化)',
`title` varchar(255) DEFAULT NULL COMMENT '标题',
`content` longtext COMMENT '内容',
`author_has_resolved` tinyint(1) DEFAULT NULL COMMENT '作者以解决(0解决中,1已解决)',
`user_acceptance_passed` tinyint(1) DEFAULT NULL COMMENT '用户验收通过(0拒绝,1通过)-可以为空表示未处理',
`is_deleted` tinyint(1) DEFAULT NULL COMMENT '逻辑删除(0正常,1删除)',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户id',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ;
-- 记录用户对文章的操作
CREATE TABLE `ya_dynamic` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户动态编号',
`type` varchar(32) DEFAULT NULL COMMENT '类型(写文章、评论、点赞、关注等)',
`user_id` bigint(20) DEFAULT NULL COMMENT '发起人',
`object_id` varchar(32) DEFAULT NULL COMMENT '操作的对象ID(文章id、用户id等)',
`comment_id` int(11) DEFAULT NULL COMMENT '评论id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
);
-- 用户关注
CREATE TABLE `ya_follow` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '关注编号',
`from_user` bigint(20) DEFAULT NULL COMMENT '发起关注的人',
`state` tinyint(1) DEFAULT '1' COMMENT '状态(0取消,1关注)',
`to_user` bigint(20) DEFAULT NULL COMMENT '被关注的人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
);
-- 通知
CREATE TABLE `ya_notify` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '通知编号',
`project_id` int(11) DEFAULT NULL COMMENT '项目id(南生论坛/南生笔记...)',
`message` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '消息内容',
`type` tinyint(1) DEFAULT NULL COMMENT '消息类型(0任务提醒,1系统通知)',
`is_deleted` tinyint(1) DEFAULT NULL COMMENT '逻辑删除(0正常,1删除)',
PRIMARY KEY (`id`)
);
-- 通知给谁
CREATE TABLE `ya_notify_user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '通知用户编号',
`type` tinyint(1) DEFAULT NULL COMMENT '消息类型(0任务提醒,1系统通知)',
`notify_id` int(11) DEFAULT NULL COMMENT '通知id',
`user_id` bigint(20) DEFAULT NULL COMMENT '用户id',
`is_read` tinyint(1) DEFAULT NULL COMMENT '是否已读(0未读,1已读)',
`is_deleted` tinyint(1) DEFAULT NULL COMMENT '逻辑删除(0正常,1删除)',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户id',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ;
-- 项目(活动)
CREATE TABLE `ya_project` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '项目编号',
`name` varchar(100) DEFAULT NULL COMMENT '名称',
`desc` varchar(255) DEFAULT NULL COMMENT '描述',
`state` tinyint(1) DEFAULT NULL COMMENT '状态(0禁用,1启用)',
`is_deleted` tinyint(1) DEFAULT NULL COMMENT '逻辑删除(0正常,1删除)',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建用户id',
`update_user` bigint(20) DEFAULT NULL COMMENT '更新用户id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ;