概念结构设计

ER 图如图所示。

表的详细设计

通过对领域对象、业务对象及对象间关联的分析,对本系统的数据库表进行了设计。本系统数据库管理采用 MySQL。

管理员信息表 ( ecourses_admin )

管理员信息表主要用于保存系统管理员的信息,主要字段包括:管理员 ID、管理员账号、管理员密码、手机号码、电子邮箱、创建时间、更新时间。


建表 SQL 语句

CREATE TABLE `ecourses_admin` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`username` varchar(50) NOT NULL COMMENT '用户名',`password` varchar(32) NOT NULL COMMENT '密码,加密存储',`phone` varchar(20) DEFAULT NULL COMMENT '注册手机号',`email` varchar(50) DEFAULT NULL COMMENT '注册邮箱',`created` datetime NOT NULL,`updated` datetime NOT NULL,PRIMARY KEY (`id`),UNIQUE KEY `username` (`username`) USING BTREE,UNIQUE KEY `phone` (`phone`) USING BTREE,UNIQUE KEY `email` (`email`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='用户表';

用户信息表 ( ecourses_user )

用户信息表主要用于保存系统用户的信息,主要字段包括:用户 ID、用户账号、用户密码、手机号码、电子邮箱、创建时间、更新时间。


建表 SQL 语句

CREATE TABLE `ecourses_user` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`username` varchar(50) NOT NULL COMMENT '用户名',`password` varchar(32) NOT NULL COMMENT '密码,加密存储',`phone` varchar(20) DEFAULT NULL COMMENT '注册手机号',`email` varchar(50) DEFAULT NULL COMMENT '注册邮箱',`created` datetime NOT NULL,`updated` datetime NOT NULL,PRIMARY KEY (`id`),UNIQUE KEY `username` (`username`) USING BTREE,UNIQUE KEY `phone` (`phone`) USING BTREE,UNIQUE KEY `email` (`email`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=152163949050780 DEFAULT CHARSET=utf8 COMMENT='用户表';

首页内容表 ( ecourses_content )

首页内容表主要用于保存系统中首页内容的信息,主要字段包括:内容 ID、目录 ID、标题、子标题、标题描述、目标链接、图片链接、详细内容、创建时间、更新时间。



建表 SQL 语句

CREATE TABLE `ecourses_content` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`category_id` bigint(20) NOT NULL COMMENT '内容类目ID',`title` varchar(200) DEFAULT NULL COMMENT '内容标题',`sub_title` varchar(100) DEFAULT NULL COMMENT '子标题',`title_desc` varchar(500) DEFAULT NULL COMMENT '标题描述',`url` varchar(500) DEFAULT NULL COMMENT '链接',`pic` varchar(300) DEFAULT NULL COMMENT '图片绝对路径',`pic2` varchar(300) DEFAULT NULL COMMENT '图片2',`content` text COMMENT '内容',`created` datetime DEFAULT NULL,`updated` datetime DEFAULT NULL,PRIMARY KEY (`id`),KEY `category_id` (`category_id`),KEY `updated` (`updated`)
) ENGINE=InnoDB AUTO_INCREMENT=64 DEFAULT CHARSET=utf8;

内容分类表 ( ecourses_content_category )

内容分类表主要用于保存系统中内容分类的信息,主要字段包括:类目 ID、父类目 ID、分类名称、状态、排列序号、该类目是否为父类目、创建时间、更新时间。

建表 SQL 语句

CREATE TABLE `ecourses_content_category` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '类目ID',`parent_id` bigint(20) DEFAULT NULL COMMENT '父类目ID=0时,代表的是一级的类目',`name` varchar(50) DEFAULT NULL COMMENT '分类名称',`status` int(1) DEFAULT '1' COMMENT '状态。可选值:1(正常),2(删除)',`sort_order` int(4) DEFAULT NULL COMMENT '排列序号,表示同级类目的展现次序,如数值相等则按名称次序排列。取值范围:大于零的整数',`is_parent` tinyint(1) DEFAULT '1' COMMENT '该类目是否为父类目,1为true,0为false',`created` datetime DEFAULT NULL COMMENT '创建时间',`updated` datetime DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`id`),KEY `parent_id` (`parent_id`,`status`) USING BTREE,KEY `sort_order` (`sort_order`)
) ENGINE=InnoDB AUTO_INCREMENT=104 DEFAULT CHARSET=utf8 COMMENT='内容分类';

课程信息表 ( ecourses_item )

课程信息表主要用于保存系统中课程的信息,主要字段包括:课程表 ID、课程标题、课程卖点、课程价格、报名人数、课程统一识别码、课程图片链接、课程所属类目 ID、课程状态、课程视频地址、创建时间、更新时间。


建表 SQL 语句

CREATE TABLE `ecourses_item` (`id` bigint(20) NOT NULL COMMENT '课程id,同时也是课程编号',`title` varchar(100) NOT NULL COMMENT '课程标题',`sell_point` varchar(500) DEFAULT NULL COMMENT '课程卖点',`price` bigint(20) NOT NULL COMMENT '课程价格,单位为:分',`num` int(10) NOT NULL COMMENT '课程数量',`barcode` varchar(30) DEFAULT NULL COMMENT '课程条形码',`image` varchar(500) DEFAULT NULL COMMENT '课程图片',`cid` bigint(10) NOT NULL COMMENT '所属类目,叶子类目',`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '课程状态,1-正常,2-下架,3-删除',`created` datetime NOT NULL COMMENT '创建时间',`updated` datetime NOT NULL COMMENT '更新时间',`video_path` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`),KEY `cid` (`cid`),KEY `status` (`status`),KEY `updated` (`updated`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='课程表';

课程类目表 ( ecourses_item_cat )

课程类目表主要用于保存系统中课程类目的信息,主要字段包括:课程类目 ID、父类目 ID、类目名称、状态、排列序号、该类目是否为父类目、创建时间、更新时间。

建表 SQL 语句

CREATE TABLE `ecourses_item_cat` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '类目ID',`parent_id` bigint(20) DEFAULT NULL COMMENT '父类目ID=0时,代表的是一级的类目',`name` varchar(50) DEFAULT NULL COMMENT '类目名称',`status` int(1) DEFAULT '1' COMMENT '状态。可选值:1(正常),2(删除)',`sort_order` int(4) DEFAULT NULL COMMENT '排列序号,表示同级类目的展现次序,如数值相等则按名称次序排列。取值范围:大于零的整数',`is_parent` tinyint(1) DEFAULT '1' COMMENT '该类目是否为父类目,1为true,0为false',`created` datetime DEFAULT NULL COMMENT '创建时间',`updated` datetime DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`id`),KEY `parent_id` (`parent_id`,`status`) USING BTREE,KEY `sort_order` (`sort_order`)
) ENGINE=InnoDB AUTO_INCREMENT=1183 DEFAULT CHARSET=utf8 COMMENT='课程类目';

课程详情表 ( ecourses_item_desc )

课程详情表主要用于保存系统中课程详情的信息,主要字段包括:课程 ID、课程描述、创建时间、更新时间。


建表 SQL 语句

CREATE TABLE `ecourses_item_desc` (`item_id` bigint(20) NOT NULL COMMENT '课程ID',`item_desc` text COMMENT '课程描述',`created` datetime DEFAULT NULL COMMENT '创建时间',`updated` datetime DEFAULT NULL COMMENT '更新时间',PRIMARY KEY (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='课程描述表';

课程规则参数表 ( ecourses_item_param )

课程规则参数表主要用于保存系统中课程规则参数的信息,主要字段包括:课程规则参数 ID、课程类目 ID、参数数据、创建时间、更新时间。

建表 SQL 语句

CREATE TABLE `ecourses_item_param` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`item_cat_id` bigint(20) DEFAULT NULL COMMENT '课程类目ID',`param_data` text COMMENT '参数数据,格式为json格式',`created` datetime DEFAULT NULL,`updated` datetime DEFAULT NULL,PRIMARY KEY (`id`),KEY `item_cat_id` (`item_cat_id`)
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8 COMMENT='课程规则参数';

课程规格课程关系表 ( ecourses_item_param_item )

课程规格课程关系表主要用于保存系统中课程规格与课程关系的信息,主要字段包括:课程规格课程关系表 ID、课程 ID、参数数据、创建时间、更新时间。


建表 SQL 语句

CREATE TABLE `ecourses_item_param_item` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`item_id` bigint(20) DEFAULT NULL COMMENT '课程ID',`param_data` text COMMENT '参数数据,格式为json格式',`created` datetime DEFAULT NULL,`updated` datetime DEFAULT NULL,PRIMARY KEY (`id`),KEY `item_id` (`item_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='课程规格和课程的关系表';

订单表 ( ecourses_order )

订单表主要用于保存系统中订单的信息,主要字段包括:订单 ID、实付金额、支付类型、邮费、状态、订单创建时间、订单更新时间、付款时间、发货时间、交易完成时间、交易关闭时间、物流/云盘服务商、物流单号/云盘地址、用户 ID、用户账号。

建表 SQL 语句

CREATE TABLE `ecourses_order` (`order_id` varchar(50) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '订单id',`payment` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '实付金额。精确到2位小数;单位:元。如:200.07,表示:200元7分',`payment_type` int(2) DEFAULT NULL COMMENT '支付类型,1、在线支付,2、货到付款',`post_fee` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '邮费。精确到2位小数;单位:元。如:200.07,表示:200元7分',`status` int(10) DEFAULT NULL COMMENT '状态:1、未付款,2、已付款,3、未发货,4、已发货,5、交易成功,6、交易关闭',`create_time` datetime DEFAULT NULL COMMENT '订单创建时间',`update_time` datetime DEFAULT NULL COMMENT '订单更新时间',`payment_time` datetime DEFAULT NULL COMMENT '付款时间',`consign_time` datetime DEFAULT NULL COMMENT '发货时间',`end_time` datetime DEFAULT NULL COMMENT '交易完成时间',`close_time` datetime DEFAULT NULL COMMENT '交易关闭时间',`shipping_name` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '物流名称',`shipping_code` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '物流单号',`user_id` bigint(20) DEFAULT NULL COMMENT '用户id',`buyer_message` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '买家留言',`buyer_nick` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '买家昵称',`buyer_rate` int(2) DEFAULT NULL COMMENT '买家是否已经评价',PRIMARY KEY (`order_id`),KEY `create_time` (`create_time`),KEY `buyer_nick` (`buyer_nick`),KEY `status` (`status`),KEY `payment_type` (`payment_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

订单与课程关系表 ( ecourses_order_item )

订单与课程关系表主要用于保存系统中订单与课程关系的信息,主要字段包括:订单与课程关系表 ID、课程 ID、订单 ID、报名人数、课程标题、课程价格、课程总金额、图片地址。


建表 SQL 语句

CREATE TABLE `ecourses_order_item` (`id` varchar(20) COLLATE utf8_bin NOT NULL,`item_id` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '课程id',`order_id` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '订单id',`num` int(10) DEFAULT NULL COMMENT '课程报名数量',`title` varchar(200) COLLATE utf8_bin DEFAULT NULL COMMENT '课程标题',`price` bigint(50) DEFAULT NULL COMMENT '课程价格',`total_fee` bigint(50) DEFAULT NULL COMMENT '课程总金额',`pic_path` varchar(200) COLLATE utf8_bin DEFAULT NULL COMMENT '课程图片地址',PRIMARY KEY (`id`),KEY `item_id` (`item_id`),KEY `order_id` (`order_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

用户收货信息表 ( ecourses_order_shipping )

用户收货信息表主要用于保存系统中用户收货的信息,主要字段包括:订单 ID、收货人姓名、固定电话、手机号码、省份、城市、区/县、收货地址、邮政编码、创建时间、更新时间。

建表 SQL 语句

CREATE TABLE `ecourses_order_shipping` (`order_id` varchar(50) NOT NULL COMMENT '订单ID',`receiver_name` varchar(20) DEFAULT NULL COMMENT '收货人全名',`receiver_phone` varchar(20) DEFAULT NULL COMMENT '固定电话',`receiver_mobile` varchar(30) DEFAULT NULL COMMENT '移动电话',`receiver_state` varchar(10) DEFAULT NULL COMMENT '省份',`receiver_city` varchar(10) DEFAULT NULL COMMENT '城市',`receiver_district` varchar(20) DEFAULT NULL COMMENT '区/县',`receiver_address` varchar(200) DEFAULT NULL COMMENT '收货地址,如:xx路xx号',`receiver_zip` varchar(6) DEFAULT NULL COMMENT '邮政编码,如:310001',`created` datetime DEFAULT NULL,`updated` datetime DEFAULT NULL,PRIMARY KEY (`order_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

易课寄在线购课系统开发笔记(三)--数据库设计相关推荐

  1. 易课寄在线购课系统开发笔记(二十五)--完成课程详情页面展示相关功能(应用Redis缓存)

    课程详情页面展示 创建一个课程详情页面展示的工程,是一个表现层工程. 工程搭建 ecourses-item-web.打包方式 war. 可以参考 易课寄在线购课系统开发笔记(七)–后台管理系统工程搭建 ...

  2. 易课寄在线购课系统开发笔记(十五)--完成购课系统门户的工程搭建

    购课系统门户首页 工程搭建 可以参考 易课寄在线购课系统开发笔记(七)–后台管理系统工程搭建分析 ecourses-bms-web 工程的搭建过程. 功能分析 请求的 url:/index web.x ...

  3. 易课寄在线购课系统开发笔记(三十三)--完成购物车系统的开发

    购物车的实现 功能分析 1.购物车是一个独立的表现层工程: 2.添加购物车不要求登录,可以指定购买课程的数量: 3.展示购物车列表页面: 4.修改购物车课程数量: 5.删除购物车课程. 工程搭建 ec ...

  4. 易课寄在线购课系统开发笔记(十六)--完成内容服务系统的工程搭建

    首页动态展示分析 内容信息要从数据库中获得. 动态展示分析 内容需要进行分类. 分类下有子分类,需要动态管理. 分类下有内容列表. 单点的内容信息: 有图片 有链接 有标题 有价格 包含大文本类型,可 ...

  5. 易课寄在线购课系统开发笔记(十一)--完成课程列表查询的功能

    展示后台首页 功能分析 请求的url:/ 参数:无 返回值:逻辑视图String Controller package cn.ecourses.controller; //页面跳转Controller ...

  6. 易课寄在线购课系统开发笔记(三十一)--登录注册页面实现

    登录注册页面实现 注册功能 第一步:把静态页面添加到工程中. 第二步:展示页面. 请求的url: 登录:/page/login 注册:/page/register 参数:无 返回结果:逻辑视图 Str ...

  7. 易课寄在线购课系统开发笔记(二十九)--完成用户登录功能

    用户登录 功能分析 请求的 url:/user/login 请求的方法:POST 参数:username.password,表单提交的数据,可以使用方法的形参接收. 返回值:JSON 数据,使用 EC ...

  8. 易课寄在线购课系统开发笔记(二十八)--完成用户注册功能

    用户注册 功能分析 请求的 url:/user/register 参数:表单的数据:username.password.phone.email 返回值:JSON 数据.ECoursesResult 接 ...

  9. java计算机毕业设计在线点餐系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计在线点餐系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计在线点餐系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开 ...

最新文章

  1. 一文览尽LiDAR点云目标检测方法
  2. [005] .NET 的执行模型
  3. Python:模块module
  4. 【Vue】组件的创建以及 data methods 属性的使用
  5. [Linux] Ubuntu13.04 搭建OK6410-A开发板的开发环境
  6. commons-httpclient 实现get和post请求
  7. access更新查询非汉族加分_计算机二级Access:如何创建更新查询
  8. python离散点切向量的计算与可视化
  9. 2010年广州市公务员考试行测真题及答案解析
  10. 瀚高数据库企业版中的权限问题
  11. 学习大数据培训需要有编程基础吗
  12. 向大家推荐Ubuntu下九大最佳绘图程序
  13. 游戏原画和3D游戏建模,哪个更胜一筹?
  14. Linux Ubuntu NFS 调试,Arm 挂载命令
  15. 计算机组成原理——指令格式
  16. 20150604.C语言-尹成-专题视频课程
  17. mysql表设计实例
  18. js中Generator函数详解
  19. 机器人履带底盘的悬挂和传动
  20. 数据结构(C语言第2版) 课后习题答案之 第六章 图

热门文章

  1. 可视化项目进度管理和生产计划排程
  2. panda经典四道题期末考核分享
  3. Summer Project
  4. 解决a start job is running for dev-disk-by启动错误
  5. java笔试常见填空题
  6. 1U,2U,3U,4U机箱面板,U的含义
  7. 2018苹果开发者技术支持新规
  8. Deepin20安装和配置NVIDIA显卡驱动
  9. 手机里的照片删了怎么恢复
  10. ThinkPHP实现定时执行任务的两种方法