BBS+商城项目的数据库表设计
本文章是对于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`)
) ;