【MyBatis框架】订单商品数据模型-分析思路

我们接下来要对即将用来实验的订单商品数据模型进行分析。

首先在MySql中创建mybatis数据库,在其中创建以下表:
[sql]  view plain  copy
  1. CREATE TABLE `items` (  
  2.   `id` int(11) NOT NULL AUTO_INCREMENT,  
  3.   `namevarchar(32) NOT NULL COMMENT '商品名称',  
  4.   `price` float(10,1) NOT NULL COMMENT '商品定价',  
  5.   `detail` text COMMENT '商品描述',  
  6.   `pic` varchar(64) DEFAULT NULL COMMENT '商品图片',  
  7.   `createtime` datetime NOT NULL COMMENT '生产日期',  
  8.   PRIMARY KEY (`id`)  
  9. ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;  
  10.   
  11.   
  12. CREATE TABLE `orderdetail` (  
  13.   `id` int(11) NOT NULL AUTO_INCREMENT,  
  14.   `orders_id` int(11) NOT NULL COMMENT '订单id',  
  15.   `items_id` int(11) NOT NULL COMMENT '商品id',  
  16.   `items_num` int(11) DEFAULT NULL COMMENT '商品购买数量',  
  17.   PRIMARY KEY (`id`),  
  18.   KEY `FK_orderdetail_1` (`orders_id`),  
  19.   KEY `FK_orderdetail_2` (`items_id`),  
  20.   CONSTRAINT `FK_orderdetail_1` FOREIGN KEY (`orders_id`) REFERENCES `orders` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,  
  21.   CONSTRAINT `FK_orderdetail_2` FOREIGN KEY (`items_id`) REFERENCES `items` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION  
  22. ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;  
  23.   
  24.   
  25. CREATE TABLE `orders` (  
  26.   `id` int(11) NOT NULL AUTO_INCREMENT,  
  27.   `user_id` int(11) NOT NULL COMMENT '下单用户id',  
  28.   `number` varchar(32) NOT NULL COMMENT '订单号',  
  29.   `createtime` datetime NOT NULL COMMENT '创建订单时间',  
  30.   `note` varchar(100) DEFAULT NULL COMMENT '备注',  
  31.   PRIMARY KEY (`id`),  
  32.   KEY `FK_orders_1` (`user_id`),  
  33.   CONSTRAINT `FK_orders_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION  
  34. ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;  
  35.   
  36.   
  37. CREATE TABLE `user` (  
  38.   `id` int(11) NOT NULL AUTO_INCREMENT,  
  39.   `username` varchar(32) NOT NULL COMMENT '用户名称',  
  40.   `birthday` date DEFAULT NULL COMMENT '生日',  
  41.   `sex` char(1) DEFAULT NULL COMMENT '性别',  
  42.   `address` varchar(256) DEFAULT NULL COMMENT '地址',  
  43.   PRIMARY KEY (`id`)  
  44. ) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;  

1.1数据模型分析思路
1、每张表记录的数据内容
分模块对每张表记录的内容进行熟悉,相当 于你学习系统 需求(功能)的过程。
2、每张表重要的字段设置
非空字段、外键字段
3、数据库级别表与表之间的关系
外键关系
4、表与表之间的业务关系
在分析表与表之间的业务关系时一定要建立 在某个业务意义基础上去分析。

1.2数据模型分析

模型关系图如图



用户表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表建立关系。

下面几篇总结将以这个数据模型为基础进行测试

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值