唯读---实体以及表结构设计(持续更新)

该博客详细描述了一个在线图书平台的数据库设计,包括用户、分类、图书、作者、评论、书架和管理员等实体的属性和关系。每个实体都有清晰的字段定义,如用户包含id、用户名、密码等,图书信息包括书名、作者、简介等。此外,还展示了各表的创建SQL语句,如admin、author、book、chapter等,以及它们之间的关联。
摘要由CSDN通过智能技术生成

今天就来进行实体以及表结构的设计
文档写的不标准,一开始想先定义一下实体,最后写着写着写把表关系也给写上了

有什么不足希望大家多多指出

实体设计

用户实体

user
	Long id;				// id
	String username;		// 用户名
	String password;		// 密码
	String phone;			// 电话号码
	String u_photo;			// 头像
	String slat;			// 盐 

分类

category
	Long id;
	String type_name;
	String type_info;
	String icon_url;

图书信息

book
	Long id;
	String title;	// 书名
	String intro;	// 简介
	Long a_id;		// 作者id
	String book_comment;	// 书评
	String image;		// 封面
	Date creatDate;	// 起始更新时间
	int chapter_number;		// 章节数量
	Date updateDate;	// 最后更新时间 
	int state;		// 状态   1:完结 0:未完结
	String protagonist;		// 主角
	Long c_id;	// 分类id

图书热度

book_hot
	Long b_id;       	// 图书id 
	int click_num;		// 点击量
	int search_num;		// 搜索量
	int hot;			// 热度

图书章节

chapter
	Long id;	// id
	int sequence_num;	// 章节序号
	String title;	// 章节名
	String context;	// 内容
	Long b_id;		// 图书id

作者信息

author
	Long id;
	String name;		// 作者名
	String introduce;	// 简介
	String a_photo;		// 照片

评论

review
	Long id;
	Long b_id;		// 图书id
	String text;	// 评论内容
	Long u_id;		// 用户id
	TimeStremp date;	// 评论时间

书架(用户—图书)

user_book
	Long u_id;		// 用户id
	Long b_id;		// 图书id
	Long c_id;		// 章节id

管理员

admin
	Long id;
	String admin_name;	// 用户名
	String password;	// 密码
	String slat;		// 盐

数据库设计

用户实体(user)

用户实体

分类(category)

分类

图书信息(book)

图书信息

图书热度(book_hot)

图书热度

图书章节(chapters)

图书章节

作者信息(author)

作者信息

评论(review)

评论

书架(用户—图书)(user_book)

书架

管理员(admin)

管理员

附:

/*
 Navicat Premium Data Transfer

 Source Server         : localhostMysql
 Source Server Type    : MySQL
 Source Server Version : 80012
 Source Host           : localhost:3306
 Source Schema         : wedo

 Target Server Type    : MySQL
 Target Server Version : 80012
 File Encoding         : 65001

 Date: 09/10/2020 19:53:29
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for admin
-- ----------------------------
DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin`  (
  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '管理员id',
  `admin_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '管理员名',
  `password` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '密码',
  `slat` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '盐',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for author
-- ----------------------------
DROP TABLE IF EXISTS `author`;
CREATE TABLE `author`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '作者名',
  `introduce` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '简介',
  `a_photo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '照片',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 145 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for book
-- ----------------------------
DROP TABLE IF EXISTS `book`;
CREATE TABLE `book`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `title` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '书名',
  `intro` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '简介',
  `a_id` bigint(20) NULL DEFAULT NULL COMMENT '作者id',
  `book_comment` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '书评',
  `image` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '封面',
  `creat_date` date NOT NULL COMMENT '起始更新时间',
  `chapter_number` int(11) NOT NULL COMMENT '章节数量',
  `update_date` date NOT NULL COMMENT '最后更新时间',
  `state` tinyint(1) NOT NULL COMMENT '状态:1.完结;0.未完结',
  `protagonist` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主角',
  `c_id` bigint(20) NULL DEFAULT NULL COMMENT '分类id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 152 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for book_hot
-- ----------------------------
DROP TABLE IF EXISTS `book_hot`;
CREATE TABLE `book_hot`  (
  `b_id` bigint(20) NOT NULL COMMENT '图书id',
  `click_num` int(11) NULL DEFAULT NULL COMMENT '点击量',
  `search_num` int(11) NULL DEFAULT NULL COMMENT '搜索量',
  `hot` int(11) NULL DEFAULT NULL COMMENT '热度',
  PRIMARY KEY (`b_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for category
-- ----------------------------
DROP TABLE IF EXISTS `category`;
CREATE TABLE `category`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `type_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类名',
  `type_info` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类简介',
  `icon_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类图标',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for chapter
-- ----------------------------
DROP TABLE IF EXISTS `chapter`;
CREATE TABLE `chapter`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `sequence_num` int(11) NULL DEFAULT NULL COMMENT '章节序号',
  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '章节名',
  `context` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '章节内容',
  `b_id` bigint(20) NULL DEFAULT NULL COMMENT '图书id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11064 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for review
-- ----------------------------
DROP TABLE IF EXISTS `review`;
CREATE TABLE `review`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `b_id` bigint(20) NULL DEFAULT NULL COMMENT '图书id',
  `text` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '评论内容',
  `u_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
  `date` timestamp(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '评论时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` bigint(20) NOT NULL COMMENT '用户id',
  `username` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名',
  `password` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '密码',
  `phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '手机号',
  `u_photo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像',
  `slat` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '盐',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for user_book
-- ----------------------------
DROP TABLE IF EXISTS `user_book`;
CREATE TABLE `user_book`  (
  `u_id` bigint(20) NOT NULL COMMENT '用户id',
  `b_id` bigint(255) NOT NULL COMMENT '图书id',
  `c_id` bigint(20) NULL DEFAULT NULL COMMENT '章节id',
  PRIMARY KEY (`u_id`, `b_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

上一篇:唯读—需求分析
上一篇:唯读—图书微服务接口设计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值