PHP中最复杂最难搞的是不是数据库的增删改查

PHP中最复杂最难搞的是不是数据库的增删改查,第1张

数据库的增删改查,也就是数据存储的 *** 作,应该是php最重要的功能。就实现来说不算是什么复杂和难搞的技术。但是俗话说的好,最简单的也是最复杂的。当遇到一些复杂的业务逻辑时,这简单的增删改查,也会变的极其复杂,甚至变成整个项目的核心技术。

其实说到这里,你应该就能理解了,PHP,其实也是所有编程语言中,最复杂最难搞的,其实是业务逻辑。你要实现一个功能,只要是能实现的,一般网上都有会一些demo,但是你要处理的业务需求,就需要用自己的经验来解决了,甚至有些客户连自己真正的需求也不知道,他们只能说出他们所想要实现的功能大概长什么样子,功能怎么实现,这可不是查查资料就可以找到的。

自考数据库原理不难,考生只要能够自觉对教材内容进行学习,复习的时候刷一刷真题,一般都能考过。

自考到底难在哪

1、自考最难的地方,就是搜集信息。自学ks是举手制,任何事情都是要自己主动去关注,包括报名,买资料,备考,考试,申请论文,毕业,学位等等信息,没有人通知你什么时候该做什么,你自己如果没有关注到,很可能就会错过时间点。

网上的信息非常庞杂,教育考试院官网的信息有时候也不好找。

2、英语和数学。英语是所有专业都需要考的。数学的话,理科,工科,经济金融这些专业一般要考高等数学。学不会数学的话,可以选择不考数学的专业,也有很多选择的空间。至于剩下的,没啥难的,只要你能识字,一般的教材都能看懂,自考的教材都不深,都是一个领域最基础的知识。多看看教材,考前刷几套真题,一般没问题。

3、坚持。自考坚持难,这是大家众所周知的事实,也是自考整体通过率低的主要原因。

自考/成考有疑问、不知道如何总结自考/成考考点内容、不清楚自考/成考报名当地政策,点击底部咨询官网,免费领取复习资料:>

就我个人的经验来说,数据库虽然在设计上确实需要有一定的经验,但是它并不是最难的。

对于数据的设计其实是对于现实中业务的一种抽象。

就我的习惯的话,我会先对于现实中的业务场景、业务的角色进行分析。

就拿一般的进销存系统来举例吧。

我有一个对于物料管理的仓库,我需要对我的物料的进销存进行管理。

那么我们就需要分析,没有系统的时候,人与人之间的业务是怎么流转的,他们都是通过哪些表单来进行流转的,上下级之间的消息传递和反馈都是怎么进行的。

当知道了业务以后,我们的数据库无非就是对于现实中的业务的一种具现。

对于业务的设计完成以后,就是针对角色的了。

例如:业务的传递都是在业务人员之间的,我们已经整理表单的传递,那角色其实就已经在这些传递中存在了。

但是,业务的角色是业务的角色,我们还要包括财务的角色,那对于财务来说,他需要在哪些环节看到这些业务的单据?并且需要怎么处理?财务的处理结果又包括哪些?不同的处理结果对于下一步的 *** 作又有什么影响。

当我们把这一切的逻辑整理完成后,我们对于数据库的功能上就已经满足了。

接下来的就是抽象数据的分类了。

例如:我们需要对不同的表进行一个分类,我个人喜欢把表分成三种,一种是基础数据表,一种是过程表,一种是结果表。

怎么解释呢?

基础数据表:顾名思义,就是对于基础数据的维护,哪些可以成为基础数据呢?就是我们的业务发生的各个过程中,这些数据都是可以参与其中的,这就是基础数据。

例如:货物的信息,客户的信息。

过程表:就是仅仅在一个过程中使用的表,当这个过程结束了,这个表就没用了。

例如:订单表,付款单表。他们表示的仅仅是订单从下单到最后关闭的这个过程,关闭以后,这个订单表其实我们就不会再去使用它了。

结果表:这个表的数据有一个特点,只允许添加,不允许删除和修改,这个表的数据本身就是对于一种最终结果的表现。

例如:日志表、账单表。

那我们在进行数据库设计的时候,就需要将这些使用情况考虑进去,将不同功能的表进行分离,尽量降低耦合,让相互表的修改不会影响使用。

例如:收款单,我们需要收一笔款的时候,就会生成这个收款单,当款收到后,这个收款单的功能就结束了。

但现实的情况中,可能财务收到了这笔钱,结束了收款单流程后,他发现填错了,本来应该收100,结果收款单写的110。

但是,收款单表示的是过程,当这个过程结束了,我们就不会再需要上一个收款单了,所以,按照我们业务的处理流程,我们应该先生成一笔冲抵的收款单,例如收到-110,然后再生成新的100的收款单。

我们每个月还会有财务统计报表,财务报表因为和现实中的财务账有关,是绝对不允许变动的,因此,这个财务报表就是一个结果表,我们会按月通过批处理程序,将收款单的明细和统计数据放到另一张表中,感觉好像比较冗余,但是这个确实非常必要的。

因为我曾经就遇到过一个情况,我们直接用过程表来进行数据的统计,然后11月30日有一笔收款已经完成了,结果发现收错了,就重新做了个收款单,结果本来已经出了11月结果的账单发生了变化,导致财务实际的处理出现了问题。

因此,数据的冗余有时候是有必要的,我们需要根据不同表的类型进行一些冗余的设计。

对于数据库设计的考虑点还有很多,可能一时半会儿也说不完,大家如果有什么好的思路,也可以在下方评论或关注我给我留言。

这里首先应该把业务逻辑理清楚,然后才考虑数据库的冗余问题。

1。 首先是两表之间的关联,按照你的描述是销售订单表的单号+款号与时间进度表的某个主键关联。

2。 然后是时间进度表的信息含义代表什么?也就意味着时间进度表中的值在什么时候更新?

我的建议是:在数据库中只保留两表关联的关系,不要考虑这种更新的逻辑,而是在程序代码中处理表间的联动,即时间进度表的添加、更新、删除。当销售订单表更新的时候,先删除所有时间进度表中的信息,然后重写入其中。

主要是多练,估计你自己也没花上多少时间吧,呵呵,多去 *** 作下就很容易的,不过也只是说大学课程容易,如果要你 *** 作一个上亿条记录的数据库,那就不是一下两下就搞得定的,需要你下点功夫了,因为查询时间的长短将决定你老板给你工资的多少,加油吧,!

以上就是关于PHP中最复杂最难搞的是不是数据库的增删改查全部的内容,包括:PHP中最复杂最难搞的是不是数据库的增删改查、自考数据库原理难不难、对于小白来说web开发最难的部分是数据库的设计吗,数据库的设计有什么技巧等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10198337.html

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

发表评论

登录后才能评论

评论列表(0条)

保存