如何使用Mysql正确的处理财务数据

如何使用Mysql正确的处理财务数据,第1张

假设已经有一个用户表,每个用户有一个唯一ID。我们需要创建两张表,一张余额表,一张流水表:

CREATE TABLE `balance` ( `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, `user_id` int NOT NULL, `item` varchar(10) NOT NULL, `balance` decimal(20,2) NOT NULL) ENGINE=InnoDBCREATE TABLE `history` ( `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `user_id` int NOT NULL, `item` varchar(10) NOT NULL, `amount` decimal(20,2) NOT NULL, `befor` decimal(20,2) NOT NULL, `after` decimal(20,2) NOT NULL, `business` varchar(30) NOT NULL, `business_id` varchar(100) NOT NULL, `detail` text) ENGINE=InnoDB

为了加快查询速度,另外为了有效利用 InnoDB 的行级锁,我们需要给两张表加上联合索引。另外,我们需要保证流水记录中 user_id, item, business, business_id 的组合是唯一的,避免重复更新数据。

ALTER TABLE balance ADD INDEX `user_item_idx` (`user_id`, `item`)ALTER TABLE history ADD INDEX `user_item_idx` (`user_id`, `item`)ALTER TABLE history ADD UNIQUE update_unique (user_id, item, business, business_id)

会计科目编号,是一个良好的会计科目编号系统,必须要有一定的章法和合乎逻辑编号的每一“数码”,能够准确显示会计科目的内容、性质与意义,以及便于记忆与运用的要求。

会计科目编号的具体方法:

如上所述,会计科目编号的理论方法不一,但限于篇幅,不能对各种方法详加论述。兹以被广为采用的数字编号法的“四位数字定位编号法”为例,说明其具体的编号方法如下:

概括的说,会计科目的编号,应与会计要素按五大类四个层级划分,设置会计科、子目,及一般认可的大类、项目排列方式相适应其基本要求及原则应属一致。

1、预定千、百、十、个四位数字,自左至右,分别代表大类(千)、项目(百)和科目(十、个),子目则以“N”予以表示而相关的附加或抵销科目,则以“—N”予以表示

2、以千位的1、2、3、4、5,分别顺序代表资产、负债、业主权益、收入及费用五大类

3、而以百位的1、2、……顺序代表大类之下,项目的分类及固定排列

4、每个项目之下的科目编号,则从01开始,至99为止其间复可分段编列不同内容、性质的科目。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8346061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存