具体需求,做一个类似购物平台,该平台中有多个商家,提供多种销售如酒水,虚拟商品(送花),座位预订等。

现在有两方面的问题,一个在订单方面,是将不同的商品放在不同的订单表中,还是放在同一的一个订单表中。平台中有多个商家,对不同商家的相同的产品还需要做区分

另一个是尽量实现商家端与用户端的分离,订单与付款部分的分离

第一个问题解决方案如下:

参考:http://www.iteye.com/problems/85406

1.订单表

ID 订单号      总价格

1  DK3453545  400

2.订单明细表

ID    订单号     序列号 商品ID  数量  单价

1001  DK3453545 1     991    1   100

1002  DK3453545 2     992    2   100

1003  DK3453545 3     993    1   100

此处的单价显示的是购买时的价格,不随产品价格的改变而改变

3.商品表

ID  名称        种类   当前价格  描述

991 迪拜酒店      1    100     迪拜七星级帆船酒店

992 上海到迪拜机票  2    100    1月1日上海到迪拜机票

993 迪拜一日游     3    100    1月2日迪拜一日游

种类字段用来对不同类型的商品做区分,商品表中最好能够对商品的id做一下记录,因为我的系统中商品来自多个商店

4.酒店表

ID  名称     星级

41  迪拜酒店  7星

5.机票表

ID  名称          出发地  目的地  类型

51  上海到迪拜机票   上海    迪拜  经济舱

6.旅游表

ID  名称        出发地  目的地  天数  是否有导游

61  迪拜一日游   上海    迪拜     1    1

当系统需要查询当前用户的订单时,只先查到1,2,3表。只能看订单概貌,可以将一些酒店,机票等共有的属性放到商品表里。

然后要看明细,只能点击一行,进到另一个页面才能看特定于某个种类产品的属性,这时再去查4或5或6表。这样4,5,6页面也可以独立了,

mysql 订单表与商品表_数据库——订单表中有不同类型的商品,表的设计相关推荐

  1. mysql select符合查询_数据库select group by 和having语句 多表连接查询 复合查询

    1.SELECT --group by 子句 group by子句按照指定的列column_name对表数据进行分组 group by 后面跟的列也叫分组特性列 使用group by后,能选择的列   ...

  2. mysql主键干嘛的_数据库表中的主键有什么作用?

    展开全部 数据库主键 主键:表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行.这样e69da5e6ba9062616964757a686964616f31333365643534的一列或多列 ...

  3. mysql表空间名字查询_数据库表空间信息查询

    数据库表空间信息查询 --查看表空间的名称及大小 www.2cto.com SELECT T.TABLESPACE_NAME, ROUND(SUM(D.BYTES / (1024 * 1024)), ...

  4. mysql一对多如何设计_数据库在一对一、一对多、多对多怎么设计表关系

    1.一对一可以两个实体设计在一个数据库中l例如设计一个夫妻表,里面放丈夫和妻子 2.一对多可以建两张表,将一这一方的主键作为多那一方的外键,例如一个学生表可以加一个字段指向班级(班级与学生一对多的关系 ...

  5. 《MySQL》入门基础知识点大全:数据库操作、增删改查、联表查询、常用函数、MD5加密、事务特性、隔离级别

    MySQL基础知识大全 1.操作数据库 1.1 创建表 1.2 修改表名 1.3 增加表的字段 1.4 修改表的字段 1.4.1 修改表的字段 1.4.2 修改表名 1.5 删除表的字段 1.6 删除 ...

  6. sql表内数据默认_数据库篇-第一章:数据库基本概念

    基础知识学习,面试必备,关注吧 骚年 01 第一,什么是数据库? 维基百科上是这样定义的: 所谓"数据库"是以一定方式储存在一起.能予多个用户共享.具有尽可能小的冗余度.与应用程序 ...

  7. MySQL笔记:第11章_数据库的设计规范

    第11章_数据库的设计规范 1. 为什么需要数据库设计 2.范式 2.1范式简介 2.2范式都包括哪些 2.3 键和相关属性的概念 2.4第一范式(1st NF) 2.5 第二范式(2nd NF) 2 ...

  8. mysql 查询自取一条_数据库常用命令个人汇总(自用,有爱自取)

    如果只是简单的操作数据库的话,包括和Java等语言的联动,基本上一天速成是没什么毛病的.此文章用于自查简单语句用,非泛用型教程.有爱自取,长期不定期更新 注:大部分事例代码根据<SQL基础教程总 ...

  9. mysql储存过程是什么意思_数据库原理mysql储存过程

    如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE. 那么,这几种索引有什么功能和性能上的不同呢? FULLTEXT 即为全文索引,目前只有MyI ...

最新文章

  1. Selenium之多窗口句柄的切换
  2. [转]javascript中style.left和offsetLeft的使用
  3. MySQL备份和恢复数据表的方法(1)
  4. TabHost选项卡的实现(一):使用TabActivity实现
  5. 如何得出数组里最大_相邻两数的最大差值(超巧妙解法)
  6. NURBS曲线与曲面
  7. HTTP协议扫盲(一)HTTP协议的基本概念和通讯原理
  8. java-字符串反转
  9. ssh 端口转发实现外网 80 端口映射到内网 80 端口
  10. 基于Java的学生会管理系统
  11. 【IRA/GSM/UCS2】the difference of IRA/GSM/UCS2 character set
  12. oppo k10 Pro和iqooneo6se哪个性能更强 哪个值得买呢
  13. linux xshell 如何使用教程,Xshell入门教程
  14. 倒立摆:Simscape建模
  15. 手机之家签名工具_IOS签名工具:魔力签
  16. 马斯克:俄罗斯火箭发动机非常棒 停售不会影响SpaceX
  17. STM32单片机介绍2
  18. CentOS-scp系统间文件传输
  19. Python数据可视化:平凡的世界
  20. win32com 处理word和excel文档说明

热门文章

  1. 录音m4a怎么转换成mp3
  2. phpstorm 配置自动编译 less
  3. 测测你的IQ加分析能力
  4. 关于VSCode安装 python 语法检测器插件 pylint 配置(Mac)
  5. 贷超、贷超分销系统 贷超分销模式 简介
  6. JAVA Oracle插入大量数据优化
  7. Oracle数据库实例之进程架构(二)
  8. 硬盘加密数据怎么恢复?BitLocker加密文件可恢复吗?BitLocker加密数据怎么恢复?
  9. 完美解释:wenet-流式与非流式语音识别统一模型
  10. vivo是安卓手机吗_vivo新机Y73s评测:谁说买手机一定要买旗舰机?_安卓手机