mybatis学习笔记(9)-订单商品数据模型分析
来源:互联网 发布:node express 编辑:程序博客网 时间:2024/06/08 18:48
mybatis学习笔记(9)-订单商品数据模型分析
标签: mybatis
- mybatis学习笔记9-订单商品数据模型分析
- 数据模型分析思路
- 数据模型分析
- 订单商品数据模型建表sql
本文对接下来几篇博客中用到的数据模型进行分析,并附上建表sql文件和测试数据文件
数据模型分析思路
- 每张表记录的数据内容
分模块对每张表记录的内容进行熟悉,相当于你学习系统需求(功能)的过程。
- 每张表重要的字段设置
非空字段、外键字段
- 数据库级别表与表之间的关系
外键关系
- 表与表之间的业务关系
在分析表与表之间的业务关系时一定要建立在某个业务意义基础上去分析。
数据模型分析
- 用户表user:记录了购买商品的用户信息
- 订单表orders:记录了用户所创建的订单(购买商品的订单)
- 订单明细表orderdetail:记录了订单的详细信息即购买商品的信息
- 商品表items:记录了商品信息
表与表之间的业务关系:
在分析表与表之间的业务关系时需要建立在某个业务意义基础上去分析。先分析数据级别之间有关系的表之间的业务关系:
- usre和orders:
user—>orders:一个用户可以创建多个订单,一对多
orders—>user:一个订单只由一个用户创建,一对一
- orders和orderdetail:
orders—>orderdetail:一个订单可以包括多个订单明细,因为一个订单可以购买多个商品,每个商品的购买信息在orderdetail记录,一对多关系
orderdetail—> orders:一个订单明细只能包括在一个订单中,一对一
- orderdetail和itesm:
orderdetail—>itesms:一个订单明细只对应一个商品信息,一对一
items—> orderdetail:一个商品可以包括在多个订单明细 ,一对多
再分析数据库级别没有关系的表之间是否有业务关系:
- orders和items:
orders和items之间可以通过orderdetail表建立关系。
订单商品数据模型建表sql
/*SQLyog v10.2 MySQL - 5.1.72-community : Database - mybatis**********************************************************************//*!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 */;/*Table structure for table `items` */CREATE TABLE `items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL COMMENT '商品名称', `price` float(10,1) NOT NULL COMMENT '商品定价', `detail` text COMMENT '商品描述', `pic` varchar(64) DEFAULT NULL COMMENT '商品图片', `createtime` datetime NOT NULL COMMENT '生产日期', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;/*Table structure for table `orderdetail` */CREATE TABLE `orderdetail` ( `id` int(11) NOT NULL AUTO_INCREMENT, `orders_id` int(11) NOT NULL COMMENT '订单id', `items_id` int(11) NOT NULL COMMENT '商品id', `items_num` int(11) DEFAULT NULL COMMENT '商品购买数量', PRIMARY KEY (`id`), KEY `FK_orderdetail_1` (`orders_id`), KEY `FK_orderdetail_2` (`items_id`), CONSTRAINT `FK_orderdetail_1` FOREIGN KEY (`orders_id`) REFERENCES `orders` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `FK_orderdetail_2` FOREIGN KEY (`items_id`) REFERENCES `items` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;/*Table structure for table `orders` */CREATE TABLE `orders` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL COMMENT '下单用户id', `number` varchar(32) NOT NULL COMMENT '订单号', `createtime` datetime NOT NULL COMMENT '创建订单时间', `note` varchar(100) DEFAULT NULL COMMENT '备注', PRIMARY KEY (`id`), KEY `FK_orders_1` (`user_id`), CONSTRAINT `FK_orders_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;/*Table structure for table `user` */CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(32) NOT NULL COMMENT '用户名称', `birthday` date DEFAULT NULL COMMENT '生日', `sex` char(1) DEFAULT NULL COMMENT '性别', `address` varchar(256) DEFAULT NULL COMMENT '地址', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;/*!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 */;
测试数据
/*SQLyog v10.2 MySQL - 5.1.72-community : Database - mybatis**********************************************************************//*!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 */;/*Data for the table `items` */insert into `items`(`id`,`name`,`price`,`detail`,`pic`,`createtime`) values (1,'台式机',3000.0,'该电脑质量非常好!!!!',NULL,'2015-02-03 13:22:53'),(2,'笔记本',6000.0,'笔记本性能好,质量好!!!!!',NULL,'2015-02-09 13:22:57'),(3,'背包',200.0,'名牌背包,容量大质量好!!!!',NULL,'2015-02-06 13:23:02');/*Data for the table `orderdetail` */insert into `orderdetail`(`id`,`orders_id`,`items_id`,`items_num`) values (1,3,1,1),(2,3,2,3),(3,4,3,4),(4,4,2,3);/*Data for the table `orders` */insert into `orders`(`id`,`user_id`,`number`,`createtime`,`note`) values (3,1,'1000010','2015-02-04 13:22:35',NULL),(4,1,'1000011','2015-02-03 13:22:41',NULL),(5,10,'1000012','2015-02-12 16:13:23',NULL);/*Data for the table `user` */insert into `user`(`id`,`username`,`birthday`,`sex`,`address`) values (1,'王五',NULL,'2',NULL),(10,'张三','2014-07-10','1','北京市'),(16,'张小明',NULL,'1','河南郑州'),(22,'陈小明',NULL,'1','河南郑州'),(24,'张三丰',NULL,'1','河南郑州'),(25,'陈小明',NULL,'1','河南郑州'),(26,'王五',NULL,NULL,NULL);/*!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 */;
作者@brianway更多文章:个人网站 | CSDN | oschina
1 0
- mybatis学习笔记(9)-订单商品数据模型分析
- Mybatis学习笔记(十)【订单商品数据模型分析】
- 【MyBatis框架】订单商品数据模型-分析思路
- 【MyBatis框架】订单商品数据模型-分析思路
- mybatis之用户订单商品数据模型分析(九)
- mybatis学习之数据模型分析思路
- 【Mybatis从0到1-009】订单商品模型数据分析
- 触发器 对商品订单管理 简单分析
- 商品订单
- 学习笔记-地理数据模型
- 数据模型设计 学习笔记
- models数据模型学习笔记
- 购物车数据模型(相同商品id,订单数量相加,数组改变)
- 移动商城第六篇【分析商品的数据模型】
- 权限+订单数据模型
- Cassandra学习笔记之数据模型
- 文章标题 商品订单
- AngularJS商品订单
- android日常开发总结的技术经验60条
- visual studio 2015 编辑MVC VIEW文件无代码提示的解决方法。
- nginx 配置参数详解
- 批处理bat文件若干例子
- 从零开始创建一个Ubuntu应用 -- 一个小小的RSS阅读器 (1)
- mybatis学习笔记(9)-订单商品数据模型分析
- Java 循环结构 - for, while 及 do...while
- slider-滑竿
- POJ3580[memo] 旋转吧,splay!
- POJ 2657 Comfort(一元线性同余方程)
- mybatis学习笔记(10)-一对一查询
- c++第一次实验
- 变量的存储
- mybatis学习笔记(11)-一对多查询