数据库订单表设计,数据量大,列比较多,请问数据库表该如何设计
这篇文章给大家聊聊关于数据库订单表设计,以及数据量大,列比较多,请问数据库表该如何设计对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
数据量大,列比较多,请问数据库表该如何设计
基本的建立主键,索引什么的,我就不说了,
表设计可以采取拆分表的方式
纵向拆分表:根据字段拆分为多个表,每个表都有关联字段,可以将他们关联起来
(例如:订单表,几个根据字段拆分的表中都有1个订单号字段)
横向拆分表:不知道你具体什么数据,假定其中有时间字段,根据时间来拆分
(例如:1年有12个月,1个月的数据放入一个表中)
电商项目---数据库表设计
CREATE TABLE `mmall_user`(
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT'用户表id',
`username` varchar(50) NOT NULL COMMENT'用户名',
`password` varchar(50) NOT NULL COMMENT'用户密码,MD5加密',
`email` varchar(50) DEFAULT NULL,
`phone` varchar(20) DEFAULT NULL,
`question` varchar(100) DEFAULT NULL COMMENT'找回密码问题',
`answer` varchar(100) DEFAULT NULL COMMENT'找回密码答案',
`role` int(4) NOT NULL COMMENT'角色0-管理员,1-普通用户',
`create_time` datetime NOT NULL COMMENT'创建时间',
`update_time` datetime NOT NULL COMMENT'最后一次更新时间',
PRIMARY KEY(`id`),
UNIQUE KEY `user_name_unique`(`username`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_product`(
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT'商品id',
`category_id` int(11) NOT NULL COMMENT'分类id,对应mmall_category表的主键',
`name` varchar(100) NOT NULL COMMENT'商品名称',
`subtitle` varchar(200) DEFAULT NULL COMMENT'商品副标题',
`main_image` varchar(500) DEFAULT NULL COMMENT'产品主图,url相对地址',
`sub_images` text COMMENT'图片地址,json格式,扩展用',
`detail` text COMMENT'商品详情',
`price` decimal(20,2) NOT NULL COMMENT'价格,单位-元保留两位小数',
`stock` int(11) NOT NULL COMMENT'库存数量',
`status` int(6) DEFAULT'1' COMMENT'商品状态.1-在售 2-下架 3-删除',
`create_time` datetime DEFAULT NULL COMMENT'创建时间',
`update_time` datetime DEFAULT NULL COMMENT'更新时间',
PRIMARY KEY(`id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_category`(
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT'类别Id',
`parent_id` int(11) DEFAULT NULL COMMENT'父类别id当id=0时说明是根节点,一级类别',
`name` varchar(50) DEFAULT NULL COMMENT'类别名称',
`status` tinyint(1) DEFAULT'1' COMMENT'类别状态1-正常,2-已废弃',
`sort_order` int(4) DEFAULT NULL COMMENT'排序编号,同类展示顺序,数值相等则自然排序',
`create_time` datetime DEFAULT NULL COMMENT'创建时间',
`update_time` datetime DEFAULT NULL COMMENT'更新时间',
PRIMARY KEY(`id`)
) ENGINE=InnoDB AUTO_INCREMENT=100031 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_order`(
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT'订单id',
`order_no` bigint(20) DEFAULT NULL COMMENT'订单号',
`user_id` int(11) DEFAULT NULL COMMENT'用户id',
`shipping_id` int(11) DEFAULT NULL,
`payment` decimal(20,2) DEFAULT NULL COMMENT'实际付款金额,单位是元,保留两位小数',
`payment_type` int(4) DEFAULT NULL COMMENT'支付类型,1-在线支付',
`postage` int(10) DEFAULT NULL COMMENT'运费,单位是元',
`status` int(10) DEFAULT NULL COMMENT'订单状态:0-已取消-10-未付款,20-已付款,40-已发货,50-交易成功,60-交易关闭',
`payment_time` datetime DEFAULT NULL COMMENT'支付时间',
`send_time` datetime DEFAULT NULL COMMENT'发货时间',
`end_time` datetime DEFAULT NULL COMMENT'交易完成时间',
`close_time` datetime DEFAULT NULL COMMENT'交易关闭时间',
`create_time` datetime DEFAULT NULL COMMENT'创建时间',
`update_time` datetime DEFAULT NULL COMMENT'更新时间',
PRIMARY KEY(`id`),
UNIQUE KEY `order_no_index`(`order_no`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=118 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_order_item`(
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT'订单子表id',
`user_id` int(11) DEFAULT NULL,
`order_no` bigint(20) DEFAULT NULL,
`product_id` int(11) DEFAULT NULL COMMENT'商品id',
`product_name` varchar(100) DEFAULT NULL COMMENT'商品名称',
`product_image` varchar(500) DEFAULT NULL COMMENT'商品图片地址',
`current_unit_price` decimal(20,2) DEFAULT NULL COMMENT'生成订单时的商品单价,单位是元,保留两位小数',
`quantity` int(10) DEFAULT NULL COMMENT'商品数量',
`total_price` decimal(20,2) DEFAULT NULL COMMENT'商品总价,单位是元,保留两位小数',
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY(`id`),
KEY `order_no_index`(`order_no`) USING BTREE,
KEY `order_no_user_id_index`(`user_id`,`order_no`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=135 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_cart`(
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`product_id` int(11) DEFAULT NULL COMMENT'商品id',
`quantity` int(11) DEFAULT NULL COMMENT'数量',
`checked` int(11) DEFAULT NULL COMMENT'是否选择,1=已勾选,0=未勾选',
`create_time` datetime DEFAULT NULL COMMENT'创建时间',
`update_time` datetime DEFAULT NULL COMMENT'更新时间',
PRIMARY KEY(`id`),
KEY `user_id_index`(`user_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=127 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_pay_info`(
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL COMMENT'用户id',
`order_no` bigint(20) DEFAULT NULL COMMENT'订单号',
`pay_platform` int(10) DEFAULT NULL COMMENT'支付平台:1-支付宝,2-微信',
`platform_number` varchar(200) DEFAULT NULL COMMENT'支付宝支付流水号',
`platform_status` varchar(20) DEFAULT NULL COMMENT'支付宝支付状态',
`create_time` datetime DEFAULT NULL COMMENT'创建时间',
`update_time` datetime DEFAULT NULL COMMENT'更新时间',
PRIMARY KEY(`id`)
) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_shipping`(
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL COMMENT'用户id',
`receiver_name` varchar(20) DEFAULT NULL COMMENT'收货姓名',
`receiver_phone` varchar(20) DEFAULT NULL COMMENT'收货固定电话',
`receiver_mobile` varchar(20) DEFAULT NULL COMMENT'收货移动电话',
`receiver_province` varchar(20) DEFAULT NULL COMMENT'省份',
`receiver_city` varchar(20) DEFAULT NULL COMMENT'城市',
`receiver_district` varchar(20) DEFAULT NULL COMMENT'区/县',
`receiver_address` varchar(200) DEFAULT NULL COMMENT'详细地址',
`receiver_zip` varchar(6) DEFAULT NULL COMMENT'邮编',
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY(`id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;
GitHub地址:https://github.com/Andy-leoo/NewBieJavaPro.git
系统订货单代码设计书怎么写
编写系统订货单代码设计书需要遵循以下步骤:
1.确定设计目标和需求:在编写代码设计书之前,需要明确设计目标和需求。设计目标和需求应该包括系统的功能和性能要求,以及与用户交互的方式。这将有助于确保代码设计符合业务需求。
2.描述系统架构:在描述系统架构时,需要说明系统的组件和它们之间的关系。这将有助于理解系统的整体结构和设计。
3.设计数据库模型:在描述系统架构时,还需要设计数据库模型。这将有助于确保数据存储的正确性和一致性。
4.编写代码:在编写代码时,需要使用设计文档中描述的方法和技术。这将有助于确保代码符合设计目标和需求,并能够正确地执行所需的任务。
5.注释代码:在编写代码时,还需要注释代码。这将有助于确保代码易于理解和维护。
6.测试和调试代码:在编写代码之后,需要进行测试和调试。这将有助于确保代码能够正确地执行所需的任务,并符合设计目标和需求。
7.编写代码规范:最后,需要编写代码规范。这将有助于确保代码具有一致的格式和风格,并易于维护。
在编写系统订货单代码设计书时,需要注意以下几点:
1.确保代码符合业务需求和设计目标。
2.使用清晰、简洁的代码,并避免使用难以理解的术语和缩写。
3.确保代码易于维护和扩展,并能够在不同的平台上运行。
4.编写详细的注释,以确保代码易于理解。
5.遵循编码规范,并确保代码具有一致的格式和风格。
6.进行单元测试和集成测试,以确保代码的正确性和可靠性。
7.编写文档,以便用户能够了解系统的功能和性能要求。
数据库订单表设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于数据量大,列比较多,请问数据库表该如何设计、数据库订单表设计的信息别忘了在本站进行查找哦。