社区
MS-SQL Server
帖子详情
电子商务的交易记录,数据库怎么设计?
jishiguang
2011-03-30 10:22:19
是每个会员的交易记录用独立的一张表,还是所有的交易记录共一张表。
若用前者,那要建的表会越来越多,若用后者,会不会数据太大呢?
到底怎样好呢?还是有其他方法?
...全文
1089
8
打赏
收藏
电子商务的交易记录,数据库怎么设计?
是每个会员的交易记录用独立的一张表,还是所有的交易记录共一张表。 若用前者,那要建的表会越来越多,若用后者,会不会数据太大呢? 到底怎样好呢?还是有其他方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
代码兔
2011-03-31
打赏
举报
回复
这里主要说说,我们平时接触到的大多是一些中小型的结算系统,如连锁商场的会员卡储值系统,校园餐卡系统,加油站,网站在线交易等。
1. 数据库设计的原则
1) 准确记录账户基本信息,特别是状态。
2) 交易时要正确记录下交易信息和账户状态。
3) 交易记录是历史性的,不可篡改。
4) 交易是连续的,对时间要求准确。
5) 交易记录要完整,对安全性有要求。
2.主要数据表
1) 账户基本信息表
记录账户的持有人姓名、联络方式、余额、有效期、密码、流通范围等。为了安全,该表还应该由账户、姓名、有效期和余额组成的检验串,防止有人恶意修改余额或账号。
2) 交易记录表
记录每一笔交易信息,除了记录交易账户、交易时间、交易金额、交易后余额和交易内容(充值或消费购物)外,还应该记录下账户的其它基本信息,如账户持有人姓名、交易地点等。这也许会增加数据的存储量,但这是有必要的。如在银行储藏点存下钱,这个储藏点若干年后,可能更名、关闭等,在此之后要查当初在这个点的交易时,就可能会用到初交易时的信息。
另外,交易记录不建立使用太多的代码表示特定意思,一是时间太久了会看不明白代码是什么意思,二是代码可能被重复使用。
所有交易必须有数据完整性校验,即一行记录一旦生成后其校验串也就固定了,防止有人恶意修改记录行的值。
3) 账户变更记录表
由于账户基本信息是可变更的,基于交易系统的交易记录的历史性和档案性,所以对账户基本信息的任何变更都必须有记录,由什么变更为什么,一定要有记录,否则以后一旦查历史,找不到当初变更的信息就麻烦了。
4) 操作日志明细表
所有的操作必须有详细的日志记录。
3.技巧
1) 应当根据应该的规模进行合理设计,如交易量非常大(每天超过10万笔)那就需要考虑创建分区表,如果更大,就要考虑建立历史交易表或交易库,即把一年或几年前的数据独立出来,仅供特殊需要时查询。
2) 建立索引,如按日期、账户建立索引,可以加快查询速度。
3) 建立报表数据存储表,即在报表生成之后,就把生成的结果数据保存下来,以后再要进直接进行查询,不要每次都根据原始表进行统计。
4) 适当提高硬件配置是比较划算的。
4.其它
1) 一定要考虑扩展性,主要在应用地区范围、时间范围、用户(消费者)、客户(商家)方面。
2) 应急的处理,如备份、分布式(不同地方设立数据库)的独立运行、离线等。
3) 要有开放的思想,想想在未来如何方便其它系统、成员、合作伙伴也可以加入进来。
仅个人想法,请多指点。
jishiguang
2011-03-31
打赏
举报
回复
楼上的比较详细,谢了
sleet96
2011-03-30
打赏
举报
回复
[Quote=引用 4 楼 jishiguang 的回复:]
引用 3 楼 sleet96 的回复:
考虑分时表呢?
有点意思,每天做一张表吗?记录保留2个月,共才60张表,不知这样好,还是用一张表好(也只保留2个月的记录)
[/Quote]
根据数据量考虑看是用 每天或者每月或者每季
实际应用中只保留2个月的历史记录大概不可行
jishiguang
2011-03-30
打赏
举报
回复
[Quote=引用 3 楼 sleet96 的回复:]
考虑分时表呢?
[/Quote]
有点意思,每天做一张表吗?记录保留2个月,共才60张表,不知这样好,还是用一张表好(也只保留2个月的记录)
sleet96
2011-03-30
打赏
举报
回复
考虑分时表呢?
王向飞
2011-03-30
打赏
举报
回复
想都不用想 ,第一种肯定不行。
--小F--
2011-03-30
打赏
举报
回复
用一张表 如果数据太多 可以转移到一张历史表中
电子商务
网站模板
电子商务
网站模板,
数据库
连接,超链接,会员登陆注册,浏览商品,放入购物车,各种支付方式等功能。。
一个
电子商务
平台的
数据库
设计
例如,可以添加更多的功能和模块,如商品评价、促销活动、会员积分等;* 订单明细表(order_detail_table):包含明细ID(主键)、订单ID(外键)、商品ID(外键)、数量、单价等字段。系统需要
记录
订单的详细信息,如订单号、用户ID、商品ID、数量、总价、支付状态等。2. 商品管理:系统需要支持商品的添加、修改、删除、查询等功能,同时需要
记录
商品的详细信息,如名称、价格、库存、描述等。* 购物车表(cart_table):包含购物车ID(主键)、用户ID(外键)、商品ID(外键)、数量等字段。
电子商务
系统的
设计
与实现:
数据库
设计
用户相关 malling_user:前端商城系统的用户,用户名、密码等 malling_user_delivery_address,用户的收获地址,一个用户可以有多个收获地址 malling_admin_user:后端系统的用户,与前端系统没有关系 malling_admin_role:后端系统用户的角色,超级管理员、管理员等 malling_admin_user_role:后端系统用户和角色的关...
数据库
设计
(电商平台)
电商平台
数据库
设计
电商
交易
系统的
数据库
设计
与性能调优
1.背景介绍 1. 背景介绍 电商
交易
系统是现代
电子商务
的核心组成部分,它涉及到大量的数据处理和存储。
数据库
在电商
交易
系统中扮演着至关重要的角色,它负责存储和管理商品、用户、订单等各种数据。
数据库
性能对于电商
交易
系统的运行有着重要影响,因此
数据库
设计
和性能调优成为了电商
交易
系统的关键技术。 在本文中,我们将从以下几个方面进行探讨: 电商
交易
系统的
数据库
设计
与性能调优的核心概念与联系 核心...
MS-SQL Server
34,837
社区成员
254,634
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章